Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PwnCity — 不安全的 TeamCity CI 环境,用于动手渗透测试培训:侦察、凭据窃取、权限提升与横向移动。 | Kitploit
工具/GitHubGitHub/d0n601/pwncity
权限提升漏洞利用横向移动信息收集渗透测试学习与教育实验室与实践
GitHubd0n601/pwncity

PwnCity

不安全的 TeamCity CI 环境,用于动手渗透测试培训:侦察、凭据窃取、权限提升与横向移动。

查看仓库
34年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PwnCity

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

演示

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

初始访问

  1. 扫描 IP 以发现 SSH 和 TeamCity:nmap -Pn -p- 52.234.0.18。
    • 注意:它不会响应 ICMP,因此 nmap 52.234.0.18 会让人误以为主机已死。
    • 注意:如果只扫描前 1000 个 TCP 端口,就会错过 TeamCity:nmap -Pn 52.234.0.18。 端口扫描
  2. 浏览 TeamCity URL:http://52.234.0.18:8111。 TeamCity 登录
  3. 访问 http://52.234.0.18:8111/registerUser.html 创建一个新用户 bob,密码 bobhacks?。
    bob 注册
  4. 以 bob 身份导航到 Projects > SimpleMavenSample > Build > Settings
  • 可以看到 Parameters 中包含凭据。 泄露的凭据
  1. 检查这些凭据是否在 ssh [email protected] 中被重用,然后以低权限用户身份 SSH 登录。 SSH 登录

立足之后

我们可以从最初的立足点建立隧道。知道两个构建代理上开放了 RDP,我们就可以尝试使用已找到的凭据进行身份验证……但那样就没那么有趣了。

  1. 稍微探索一下 TeamCity 服务器,查看 super user 令牌:cat /home/dev/TeamCity/TeamCity/logs/teamcity-server.log | grep "Super user"。
    super user 令牌
  2. 现在以 超级用户 身份登录! 超级用户登录
  3. 通过 Administration > Projects > Create project 创建新项目 PwnAgent,并在构建代理上获得 shell。 创建项目 构建步骤
  4. 编辑构建步骤,使其 始终执行,即使发出了停止构建命令也是如此,并修改以下内容:
    • 命令可执行文件: cmd.exe
    • 命令参数: /c %system.teamcity.build.checkoutDir%/launcher.bat
    • 一旦你看懂了这些是如何工作的,你就明白了这里的代码执行方式,并且可以按你的喜好修改它。 构建步骤
    • 另外,你可以避免使用仓库中的文件,将其留空。所有代码都可以塞进一个构建步骤中。
      替代方案
  5. 在菜单中选择 Run 旁边的 ,然后选择你要攻击的目标代理。如果一切顺利,你会让代理回连。

攻击基础设施

  • Kali Linux: 操作员机器上的虚拟机。
  • Ubuntu 20.04LTS: Empire Server

PwnCity 实验环境

  • Ubuntu 20.04 TeamCity
  • Windows 10: BuildAgent01
  • Windows 7: BuildAgent02
  • Windows 10: Bruno-PC

凭据

凭据选自 rockyou.txt。

  • bruno:AMOTEbruno84 (Windows)
  • dev:Roblerino1995 (Windows/Linux)
  • admin:aut0magic (TeamCity)

待办事项

  1. 使用 Terraform 部署。
  2. 使用 Ansible 安装环境。
  3. 通过 CLI 变量上调或下调防御等级(有点像难度级别)。
  4. 待定

防御

端点安全

PwnAgent01 已启用 Microsoft Defender。虽然仍然有可能绕过它,但我们演示的恶意构建步骤会被阻止。
被阻止0

被阻止

bruno_edr

管理说明

本节只是收集了在管理实验环境时一些有用的片段。

通过 RDP 进入 Windows 主机

  1. 从 Kali 对 TeamCity 主机进行动态端口转发,以访问本地资源:ssh -D 9050 [email protected]。
  2. 使用 Proxychains 通过 proxychains4 xfreerdp /u:dev /v:10.0.0.6:3389 进行 RDP 连接。

参考资料

  1. TeamCity 加固指南
  2. TeamCity 超级用户
  3. TeamCity 渗透测试
  4. PwnCity 构建代理
下载工具
...

运行
代理回连
  • 使用 powershell/situational_awareness/network/portscan 模块运行端口扫描。发现 10.0.0.7 的 3389,445,139,135 端口全部开放。 端口扫描
  • 运行 Mimikatz 转储登录凭据,获取 bruno 的密码。
  • 运行 powershell/lateral_movement/invoke_smbexec,通过 NTML 哈希在 Bruno-PC 上获取 beacon。 SMBExec
  • 洗劫 Bruno 的 PC。