tryhackme-tomghost(汤姆幽灵)

通过题目分析这应该是一个tomcat服务的一个CVE漏洞
信息收集
首先进行端口扫描

访问8080端口web服务

尝试使用访问manager登录tomcat后台上传shell.war文件获得shell,但是并没有弹出httpd认证窗口

在网上搜索安全博客,参考tomcat渗透总结时,发现最后的GhostCat漏洞,与该题目的名称类似,是任意文件读取和代码执行漏洞。
参考链接:https://www.freebuf.com/articles/web/281158.html
使用github下载漏洞利用脚本: https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
该漏洞是因为tomcat 8009端口在处理AJP请求时,未对请求做任何验证
漏洞利用
python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py 10.10.199.163 -p 8009 -f /WEB-INF/web.xml
注:/WEB-INF/web.xml文件是默认自带的配置文件,每次服务启动都会加载该文件
得到用户名skyfuck,密码8730281lkjlkjdqlksalks

权限提升
使用ssh登录,成功得到user.txt,并且获得了两个文件credential.pgp和tryhackme.asc

这两个文件肯定是有用的,通过网上资料的查阅,得知这是pgp文件加密
参考链接: https://www.cnblogs.com/jhinjax/p/17058557.html
其中pgp文件和asc文件的基本原理就是,pgp是加密文件,一般会伴随一个解密文件asc,将asc文件导入后,可以解开pgp文件得到加密信息
-
将两个文件下载到本机

-
使用
gpg2john分析tryhackme.asc秘钥文件得到密码的hash值

-
使用
john破解密码,得到密码为alexandru

-
导入
tryhackme.asc秘钥文件

-
解密
credential.pgp文件(需要弹窗输入密码)


得到用户merlin,密码asuyusdoiuqoilkda312j31k2j123j1g23g12k3g12kj3gk12jg3k12j3kj123j
切换到该用户,使用sudo -l发现可以执行zip命令

使用GTFOBins找到对应的方法:https://gtfobins.github.io/gtfobins/zip/
得到root权限
TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
sudo rm $TF

总结
- 学会了
tomcat的Ghostcat漏洞,以及相关的基本渗透流程(在自己查找中) - 学习了
pgp文件和asc文件的关系,pgp文件时加密文件,asc是秘钥,需要将秘钥的密码解开,然后将asc秘钥文件导入,使用asc文件解密pgp文件,如果加密时设置了密码,需要输入密码,就是破解asc秘钥文件密码的过程 - 不仅仅是信息收集,权限提升,学会总结,不要错过一点有用的信息

浙公网安备 33010602011771号