Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
PwnCity — 実践的なペネトレーションテスト演習のための意図的に脆弱なTeamCity CI環境:偵察、資格情報の窃取、権限昇格、ラテラルムーブメント。 | Kitploit
ツール/GitHubGitHub/d0n601/pwncity
特権昇格エクスプロイト横移動情報収集ペネトレーションテスト学習と教育ラボと実践
GitHubd0n601/pwncity

PwnCity

実践的なペネトレーションテスト演習のための意図的に脆弱なTeamCity CI環境:偵察、資格情報の窃取、権限昇格、ラテラルムーブメント。

リポジトリを見る
4年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

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。 portscan
  2. TeamCityのURL http://52.234.0.18:8111 を開く。 teamcitylogin
  3. http://52.234.0.18:8111/registerUser.html に移動し、新しいユーザー bob、パスワード bobhacks? を作成する。
    bobregister
  4. bob として Projects > SimpleMavenSample > Build > Settings に移動する
  • Parameters に資格情報が含まれていることを確認する。 leakcreds
  1. 資格情報が ssh [email protected] に再利用されているか確認し、低権限ユーザーとしてSSH接続する。 sshin

足掛かりから

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

  1. TeamCityサーバーを少し調査し、スーパーユーザートークンを確認する cat /home/dev/TeamCity/TeamCity/logs/teamcity-server.log | grep "Super user"。
    sutoken
  2. ここで スーパーユーザー としてログインしましょう! superlogin
  3. Administration > Projects > Create project から新しいプロジェクト PwnAgent を作成し、ビルドエージェントでシェルを取得する。 createproject buildsteps
  4. ビルドステップを編集して 常に実行(ビルド停止コマンドが発行された場合でも) となるようにし、以下を変更します:
    • コマンド実行ファイル: cmd.exe
    • コマンドパラメータ: /c %system.teamcity.build.checkoutDir%/launcher.bat
    • これらの動作がわかれば、ここでのコード実行の仕組みを理解でき、好きなように変更できます。 build_step
    • あるいは、リポジトリ内のファイルを使わずに空のままにすることもできます。すべてのコードをビルドステップに詰め込めます。
      alternative

攻撃インフラ

  • Kali Linux: オペレーターマシン上のVM
  • Ubuntu 20.04LTS: Empire Server

PwnCity Lab

  • 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が有効になっています。これを回避することは確かに可能ですが、私たちが実演した悪意のあるビルドステップはブロックされます。
blocked0

blocked

bruno_edr

管理メモ

このセクションは、ラボ環境を管理する際に役立ったスニペットを集めたものです。

WindowsホストへのRDP

  1. Kaliから、ローカルリソースにアクセスするために TeamCity ホスト上で動的ポートフォワードを実行する ssh -D 9050 [email protected]。
  2. Proxychainsを介してRDP接続する proxychains4 xfreerdp /u:dev /v:10.0.0.6:3389。

参考情報

  1. TeamCity Hardening Guide
  2. TeamCity SuperUser
  3. Pentest TeamCity
  4. PwnCity Build Agent
ツールをダウンロード
  • メニューの Run の横にある ... を選択し、次にターゲットとするエージェント上で選択します。うまくいけば、エージェントがコールバックします。
    run agentcallback
  • powershell/situational_awareness/network/portscan モジュールでポートスキャンを実行します。10.0.0.7 で 3389,445,139,135 がすべて開放されていることを発見します。 portscan
  • Mimikatzを実行してログイン資格情報をダンプし、bruno のパスワードを取得します。
  • powershell/lateral_movement/invoke_smbexec を実行して、NTMLハッシュ経由で Bruno-PC にビーコンを取得します。 smbexec
  • BrunoのPCを漁ります。