
Небезопасное окружение TeamCity CI для практического обучения тестированию на проникновение: разведка, кража учётных данных, повышение привилегий и латеральное перемещение.
Небезопасно настроенная среда непрерывной интеграции TeamCity.
В разработке: Код развёртывания появится скоро когда-нибудь .

Через PwnCity может вести несколько путей, но именно этот я представлю 24 февраля на встрече отделения OWASP Sacramento.
Примечание: Здесь в значительной степени игнорируется операционная безопасность, поскольку это демо.
nmap -Pn -p- 52.234.0.18.
nmap 52.234.0.18 заставляет его выглядеть мёртвым.nmap -Pn 52.234.0.18.


bob с паролем bobhacks?.
bob, перейдите в Projects > SimpleMavenSample > Build > Settings.Parameters содержатся учётные данные.

ssh [email protected], и войдите по SSH как пользователь с низкими привилегиями.

Можно было бы организовать туннель с нашей первоначальной точки опоры. Знание того, что RDP открыт на двух агентах сборки, позволяет попытаться аутентифицироваться с помощью найденных учётных данных... но это не так интересно.
cat /home/dev/TeamCity/TeamCity/logs/teamcity-server.log | grep "Super user".

Administration > Projects > Create project и получите shell на агентах сборки.

cmd.exe/c %system.teamcity.build.checkoutDir%/launcher.bat
Учётные данные взяты из rockyou.txt.
На PwnAgent01 включен Microsoft Defender. Хотя его, безусловно, по-прежнему можно обойти, продемонстрированный нами вредоносный шаг сборки будет заблокирован.



Этот раздел — просто набор фрагментов, которые оказались полезны при администрировании лабораторной среды.
TeamCity, чтобы получить доступ к локальным ресурсам: ssh -D 9050 [email protected].proxychains4 xfreerdp /u:dev /v:10.0.0.6:3389.
... рядом с Run в меню, а затем нужного агента, на которого вы нацелены. Если всё пройдёт хорошо, агент отзовётся.

powershell/situational_awareness/network/portscan. Обнаружьте, что на 10.0.0.7 открыты порты 3389,445,139,135.

bruno.powershell/lateral_movement/invoke_smbexec, чтобы получить beacon на Bruno-PC через NTML-хэш.
