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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DirtyClone — DirtyClone - カーネル/XFRM関連の脆弱性(ソースではCVE-2026-43503として説明)を標的としたローカル特権昇格 (LPE) の概念実証 | Kitploit
ツール/GitHubGitHub/gl1tch0x1/dirtyclone
特権昇格エクスプロイトシェルコード暗号化ペイロード開発バイナリエクスプロイト
GitHubgl1tch0x1/dirtyclone

DirtyClone

DirtyClone - カーネル/XFRM関連の脆弱性(ソースではCVE-2026-43503として説明)を標的としたローカル特権昇格 (LPE) の概念実証

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

人気

すべて見る →

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

すべてのツールを探索

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

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

DirtyClone

DirtyCloneは、C言語で書かれた診断用・概念実証のローカル特権昇格ツールです。このツールは、ソース内でCVE-2026-43503として記述されているカーネル/XFRM関連のエクスプロイトパスを対象としており、管理された環境での許可されたセキュリティ研究のみを目的としています。

概要

このリポジトリには以下が含まれています:

  • dirtyclone.c – エクスプロイトの実装全体
  • README.md – 使用法と環境ガイダンス

現在の実装は以下の高レベルな手順を実行します:

  • 分離されたユーザー名前空間とネットワーク名前空間を作成
  • ループバックネットワーキングとXFRM/IPsec状態/ポリシーを設定
  • AES-CBC暗号化を使用してESPペイロードを構築
  • TEEベースのUDPパスとraw IPフォールバックを介した配信を試行
  • ターゲットSUIDバイナリのページキャッシュがパッチされるのを待機
  • ページキャッシュが変更された場合、ターゲットバイナリを実行

重要なお知らせ

このツールは許可されたセキュリティテストのみを目的としています。明示的な許可なくシステム上で実行することは違法となる可能性があり、システムの整合性に影響を与える可能性があります。

ビルド

まず必要なOpenSSL開発パッケージをインストールします:

root@kitploit:~
# Debian/Ubuntu
sudo apt-get install libssl-dev

# Fedora
sudo dnf install openssl-devel

# Arch Linux
sudo pacman -S openssl

次にバイナリをコンパイルします:

root@kitploit:~
gcc -o dirtyclone dirtyclone.c -lcrypto -Wall -O2

使用方法

プログラムを次のように実行します:

root@kitploit:~
./dirtyclone

オプションの引数:

root@kitploit:~
./dirtyclone -q    # 静かモード
./dirtyclone -v    # 詳細モード(デフォルト)
./dirtyclone -h    # ヘルプを表示

プログラムの動作

実行時にプログラムは:

  1. バナーを表示し、すでにrootで実行されているかどうかを確認します;
  2. カーネルとアーキテクチャの詳細を検証し、システムが脆弱な範囲に一致すると思われるかどうかを報告します;
  3. 名前空間とループバックネットワーキングを設定します;
  4. XFRM状態/ポリシーを設定し、TEE netfilterルールの追加を試みます;
  5. ターゲットSUIDバイナリをメモリにマッピングし、元のバイトと予想されるバイトのPoCサマリーを出力します;
  6. UDP+TEEまたはraw IPフォールバックのいずれかを使用してESPパケットを送信します;
  7. ページキャッシュに注入されたバイトが反映されるのを待ち、その後ターゲットバイナリの実行を試みます。

DirtyCloneの仕組み

エクスプロイトは単純なアイデアに基づいています。プログラムは細工されたESP/XFRMペイロードを準備し、カーネルがデータをページキャッシュでバックアップされたメモリ領域に復号化するように仕向け、その後ターゲットSUIDバイナリのバイトが変更されたかどうかを確認します。

実際の用語では、プログラムは以下のアクションを実行します:

  • ターゲットファイル/usr/bin/suを特定し、メモリにマッピングします;
  • シェルコードバイトと必要なESPメタデータを含む小さなペイロードを準備します;
  • ペイロードをAES-CBCで暗号化し、XFRM/ESPパスに投入できるようにします;
  • TEE支援UDPまたはraw IPフォールバックのいずれかを使用して、ローカルネットワークスタックを通じてパケットを送信します;
  • マッピングされた領域で予想されるバイトが現れるのを監視します;
  • バイトが現れた場合、エクスプロイトパスがページキャッシュを変更したと想定し、パッチされたターゲットパスを実行します。

これは概念実証の流れであり、汎用の特権昇格フレームワークではありません。エクスプロイトのメカニズムを実証し、ターゲットカーネルが依然として脆弱な動作を公開しているかどうかを確認するのに役立つことを目的としています。

ダミー実装例

以下の簡略化された例は、高レベルで同じ概念を示しています:

root@kitploit:~
#include <stdio.h>
#include <string.h>

static int dummy_exploit(unsigned char *target_bytes) {
    unsigned char expected[] = {0x31, 0x0f, 0x05};
    memcpy(target_bytes, expected, sizeof(expected));
    return 0;
}

int main(void) {
    unsigned char target[16] = {0};
    dummy_exploit(target);
    printf("パッチされたバイト: %02x %02x %02x\n", target[0], target[1], target[2]);
    return 0;
}

実際のプロジェクトも同じ原理を使用していますが、ペイロードをESP/XFRMスタイルのパケットとしてパッケージ化し、単純なメモリコピーではなくネットワーキングスタックを通じてカーネルパスを駆動します。

エクスプロイトの手順

  1. セットアップフェーズ

    • プログラムは名前空間を作成し、プロセス環境を分離します;
    • パケットがローカルに留まるようにループバックネットワーキングを設定します。
  2. XFRM準備

    • エクスプロイトはXFRM状態とポリシーを追加し、カーネルがESPトラフィックをどのように処理するかを指示します;
    • また、計画されたパスを通じてトラフィックをリダイレクトできるようにTEEルールのインストールを試みます。
  3. ペイロード構築

    • コードは、シェルコードスタイルのバイトを含む小さなプレーンテキストペイロードを構築します;
    • ペイロードは静的なテストキーを使用してAES-CBCで暗号化されます。
  4. 配信フェーズ

    • プログラムはUDPまたはraw IPを介して細工されたESPパケットを送信します;
    • カーネルがパケットを処理し、脆弱なシステムでは、復号化されたデータをターゲットバイナリのページキャッシュ領域に書き戻します。
  5. 検証と実行

    • コードはターゲットファイルのバイトを監視し、予想されるシェルコードバイトと一致するかどうかを確認します;
    • 一致する場合、ターゲットバイナリを実行し、注入されたペイロードパスに制御を渡そうとします。

技術的詳細

実装には以下が含まれます:

  • ページキャッシュの変更を待つ間の適応型リトライロジック、
  • atexitとシグナルハンドラを介して登録されたクリーンアップルーチン、
  • fork/execvpベースの安全なコマンド実行、
  • OpenSSL EVP APIを使用したAES-CBC暗号化、
  • x86_64およびAArch64向けのアーキテクチャ認識シェルコード、
  • TEE支援UDPとraw IPトランスポートの両方のための二重配信ロジック。

前提条件

ソースは以下の環境を想定しています:

  • GCCまたはClang、
  • OpenSSL開発ヘッダとライブラリ、
  • ip、iptables、modprobeがシステム上で利用可能、
  • /usr/bin/suにあるターゲットバイナリ、
  • 記述されたエクスプロイトパスに対して脆弱である可能性のあるカーネル。

期待される動作

プログラムは診断用のPoCサマリーを表示し、その後以下のいずれかを行います:

  • ページキャッシュのパッチに成功し、ターゲットバイナリを実行する、または
  • カーネルがパッチされているかエクスプロイトパスが利用できない場合、正常に失敗します。

エクスプロイトがトリガーされない場合、プログラムはカーネルがおそらくパッチされていることを示す明確なメッセージを出力します。

安全性と倫理

このプロジェクトは以下の場合にのみ使用してください:

  • 対象システムを所有している場合、
  • テストする明示的な許可を得ている場合、
  • ラボまたは隔離された環境で作業している場合。

本番システムまたは評価する許可がないシステムでこのコードを実行しないでください。

ライセンスと著作者

ソースヘッダは著者をMrAashish0x1(gl1tch0x1)として識別しています。リポジトリには個別のライセンスファイルは含まれていないため、コードはプロダクションソフトウェアではなく研究資料として扱う必要があります。

ツールをダウンロード