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.pgptryhackme.asc

这两个文件肯定是有用的,通过网上资料的查阅,得知这是pgp文件加密
参考链接: https://www.cnblogs.com/jhinjax/p/17058557.html

其中pgp文件和asc文件的基本原理就是,pgp是加密文件,一般会伴随一个解密文件asc,将asc文件导入后,可以解开pgp文件得到加密信息

  1. 将两个文件下载到本机

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

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

  4. 导入tryhackme.asc秘钥文件

  5. 解密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

总结

  1. 学会了tomcatGhostcat漏洞,以及相关的基本渗透流程(在自己查找中)
  2. 学习了pgp文件和asc文件的关系,pgp文件时加密文件,asc是秘钥,需要将秘钥的密码解开,然后将asc秘钥文件导入,使用asc文件解密pgp文件,如果加密时设置了密码,需要输入密码,就是破解asc秘钥文件密码的过程
  3. 不仅仅是信息收集,权限提升,学会总结,不要错过一点有用的信息
posted @ 2024-03-05 22:30  Junglezt  阅读(3)  评论(0编辑  收藏  举报