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
秘钥文件密码的过程 - 不仅仅是信息收集,权限提升,学会总结,不要错过一点有用的信息