基本信息
- https://app.hackthebox.com/machines/Runner
- 10.10.11.13

端口扫描
22,80,8000:
1 | nmap -sC -sV 10.10.11.13 |
80
需要加hosts:
1 | 10.10.11.13 runner.htb |
CI/CD相关服务:

8000
直接访问是404:

子域名扫描
子域名可以发现teamcity,字典需要比较大的,常规的top5000里没有:
1 | ffuf -w ~/Tools/dict/SecLists/Discovery/DNS/bitquark-subdomains-top100000.txt -u "http://runner.htb/" -H 'Host: FUZZ.runner.htb' -fs 154 |
teamcity
添加hosts后访问,teamcity Version 2023.05.3 (build 129390):

teamcity
根据版本信息可以搜到已知漏洞:
- CVE-2023-42793 Vulnerability in TeamCity: October 9, 2023 Update | The TeamCity Blog
https://blog.jetbrains.com/teamcity/2023/10/cve-2023-42793-vulnerability-in-teamcity-update/ - JetBrains TeamCity 2023.05.3 - Remote Code Execution (RCE) - Java remote Exploit
https://www.exploit-db.com/exploits/51884
msf中也有模块:
1 | msf6 > use exploit/multi/http/jetbrains_teamcity_rce_cve_2023_42793 |
打到容器内tcuser用户:

data
teamcity data目录一点点翻,可以找到一个ssh私钥:
1 | /data/teamcity_server/datadir/config/projects/AllProjects/pluginData/ssh_keys |

另外buildserver.data中可以得到Matthew和John
1 | /data/teamcity_server/datadir/system/buildserver.data |
可以破解出Matthew的密码:
1 | sudo john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt |
log
另外当前shell history中留下的几条命令提示查看log:

日志中也可以得到john:
1 | cat teamcity-server.log| grep "@runner.htb" |

预期方法
通过shell去打的方法实际上比较麻烦,预期方法添加管理员登录上去可以看到一个项目,然后里面获取这些信息
user flag
得到的Matthew的密码不能用于ssh登录,但john可以使用前面得到的私钥登录:
1 | ssh -i john_id_rsa john@10.10.11.13 |

信息
本地有9000和9443端口,转发出来访问,是portainer:
1 | ssh -i john_id_rsa john@10.10.11.13 -L 9000:127.0.0.1:9000 |

Matthew的账号密码可以登录portainer:

提权 & root flag
现在我们登录到了在线容器管理平台,后面就是常规的挂载逃逸:
首先创建一个volume,添加一些选项:

然后创建一个容器,使用这个volume,image使用teamcity:latest即可, 高级选项中启用Interactive & tty:

然后volumes里选择我们前面创建的那个,设置container目录:

然后用容器内root执行命令,查看挂载目录:


root直接给宿主机bash加suid,方便从前面的john shell操作:
1 | root@e8b5e4abf35d:/# chmod +s /mnt/root/bin/bash |
root flag

shadow
1 | root:$y$j9T$ANKO0Lgp1HOfm5nPIRoTX.$S4tkxOzaYLCUAy8deQR/4sayinxeXoQb.nGRDMGUa30:19788:0:99999:7::: |
参考资料
- CVE-2023-42793 Vulnerability in TeamCity: October 9, 2023 Update | The TeamCity Blog
https://blog.jetbrains.com/teamcity/2023/10/cve-2023-42793-vulnerability-in-teamcity-update/ - JetBrains TeamCity 2023.05.3 - Remote Code Execution (RCE) - Java remote Exploit
https://www.exploit-db.com/exploits/51884