HTB Runner

新的季度靶机开启啦

常规信息收集,看下端口服务、子域名、路径爆破

image-20240424150616341

开放了80和8000的端口服务

80的目录:

image-20240424150646835

8000的目录:

image-20240424154624746

感觉路径爆破没什么可以利用的地方

image-20240424150910691

子域名也没有

image-20240424153249513

指纹识别也没有任何发现

既然啥也没有那就先从web服务看吧。80端口展示的业务是提供CI/CD服务

image-20240424154501348

先了解一下什么是CI/CD

image-20240424151335651

可恶页面啥都没得点啊一点利用的机会都不给

还是要重新做信息收集,换字典换工具都试试可能会有新的发现

换了个更大的子域名字典去用ffuf果真跑出来一个teamcity我晕

加入hosts后是一个teamcity的登陆界面

image-20240424165444636

搜索一下有个teamcity的身份认证绕过rce(CVE-2024-27198)

直接用msf去利用漏洞弹shell

image-20240424165842379

网页也登陆后台看看当前有哪些用户

image-20240424194812233

拿到shell后进行了一波信息收集,在 /data/teamcity_server/datadir/backup目录下找到一个备份文件,把它下载下来

==msf里面直接download就可以==

image-20240424201554092

在里面找到了user的一个文件,里面有用户的加密密码

image-20240424201645610

image-20240424201658960

保存下来跑个john,可以把matthew用户的密码跑出来

image-20240424201939381

但是ssh连接不上,也没有别的利用方式,所以只能换一个思路

继续翻继续翻突然看到一个ssh的私钥,那估计就手到擒来了

image-20240424202457684

image-20240424202850768

成功成功!

跑一下linpeas看一看有没有什么可以利用的地方。看了下netstat看到几个运行在本地的服务,frp端口转发出来看看有没有什么可以利用的地方

image-20240425091957414

image-20240425091939869

试了frp发现代理不出来,换一个chisel试试

image-20240425095227680

image-20240425095240514

成功了。访问一下

9000端口和9443端口开放的都是portainer服务

image-20240425095431176

老规矩,了解一下portainer提供的是什么服务

image-20240425095740535

我们刚刚hash解密拿到了matthew的账号密码看看能不能登录

image-20240425095756789

ok成功登录

portainer归根结底是操作docker的工具,那我们可以尝试从docker逃逸的思路入手去解决root权限的问题

搜索一番之后发现了runc的docker逃逸,具体文章的分析可以参考下面的链接

https://nitroc.org/posts/cve-2024-21626-illustrated/#%E6%9E%84%E9%80%A0%E6%81%B6%E6%84%8F%E9%95%9C%E5%83%8F%E5%AE%9E%E7%8E%B0%E5%88%A9%E7%94%A8

我们新建一个container,将image设置为teamcity:latest(这个image可以在左边栏中点击查看),将工作目录设置成/proc/self/fd/8

image-20240425153707822

连接之后进入console可以直接用root登录

有可能会碰到键盘输入不管用的情况,改一下输入法即可解决

(打完之后靶场就关闭了懒得再来一次,就不贴图了)