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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
LibTP_Gadget — Threadpool経由でNt API呼び出しをプロキシするためのCrystal Palaceライブラリ。コールガジェット用に更新済み。 | Kitploit
ツール/GitHubGitHub/saerxcit/libtp_gadget
IDS/IPS回避ポストエクスプロイトレッドチーミングシェルコード生成ペイロード開発敵対的攻撃
GitHubsaerxcit/libtp_gadget

LibTP_Gadget

Threadpool経由でNt API呼び出しをプロキシするためのCrystal Palaceライブラリ。コールガジェット用に更新済み。

リポジトリを見る
2339ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

LibTP_Gadget

これは https://github.com/AlmondOffSec/LibTPLoadLib を一般化したもので、任意の数(実際には最大11個だが、十分)の引数を持つAPIをプロキシするためのものです。Crystal Palace 共有ライブラリとして提供されます。APIは @rasta-mouse の LibTP と互換性を持たせ、specファイルを使った簡単な切り替えを可能にしています。フックは 最新のCrystal Palace機能 を紹介するために用意されています。

警告 ⚠️ : このプロジェクトはそのままでは使用できません。call ガジェットを見つけるためのモジュールは提供していません。自分で見つける必要があります。詳細はブログ記事をお読みください。

注意 : 11個の引数を渡せること(そのうち7個はスタックに置かれます)により、call ガジェットは十分に大きなスタックフレームを持つ関数内に存在する必要があります。少なくとも 0x68 の add rsp を探してください。

警告 ⚠️ : この手法の内部動作により、プロキシされた関数の戻り値を取得することはできません。NTAPIのプロキシは、その戻り値が「単なる」NTSTATUS であるため、一般的により実用的です。ただし、関数が実際に成功したかどうかを知ることは難しくなります🙃。

手順

  1. ターゲット上で利用可能なモジュールから動作するガジェットを見つけます。src/tp_gadget.c で、LoadLibraryA 呼び出しにガジェットの名前をパッチし、GetCallGadgetAddress 関数がそのアドレスを取得するようにパッチします。必要に応じてアセンブリスタブをパッチします(sub rsp の値、ガジェットが呼び出すレジスタ)。

  2. プロジェクトをコンパイルします: make。出力は Crystal Palace 共有ライブラリ libtp_gadget.x64.zip です。

  3. サンプルCOFFをコンパイルします(wininet.dll をロードして、ローカルに割り当てたシェルコードを実行するだけのものです): make -C example_print。出力は COFF ファイル example_print.x64.o になります。

  4. リンカーにDFR上で私たちのフックを使用するよう指示するCrystal Palace specファイルを作成します。Tradecraft Garden の Simple PIC spec ファイルを使用し、以下の行を mergelib "../libtcg.x64.zip" と export の間に追加します:

root@kitploit:~
        mergelib "../libtp_gadget.x64.zip"

        attach "KERNEL32$LoadLibraryA"          "H_LoadLibraryA"
        optout "ProxyNtApi"                     "H_LoadLibraryA"
        attach "NTDLL$NtOpenProcess"            "H_NtOpenProcess"
        attach "NTDLL$NtAllocateVirtualMemory"  "H_NtAllocateVirtualMemory"
        attach "NTDLL$NtWriteVirtualMemory"     "H_NtWriteVirtualMemory"
        attach "NTDLL$NtProtectVirtualMemory"   "H_NtProtectVirtualMemory"
        attach "NTDLL$NtFreeVirtualMemory"      "H_NtFreeVirtualMemory"
        attach "NTDLL$NtClose"                  "H_NtClose"
        attach "NTDLL$NtCreateThreadEx"         "H_NtCreateThreadEx"
        attach "NTDLL$NtOpenThread"             "H_NtOpenThread"
        attach "NTDLL$NtSuspendThread"          "H_NtSuspendThread"
        attach "NTDLL$NtResumeThread"           "H_NtResumeThread"
        attach "NTDLL$NtGetContextThread"       "H_NtGetContextThread"
        attach "NTDLL$NtSetContextThread"       "H_NtSetContextThread"
        attach "NTDLL$NtWaitForSingleObject"    "H_NtWaitForSingleObject"
  1. Crystal Palace を使って全体をリンクし、PICシェルコードを作成します: path/to/crystalpalace/link simplepic_modified/loader.spec example_print/example_print.x64.o out.bin。

  2. 任意のローダーを使ってシェルコードを実行します。

クレジット

  • Raphael Mudge, Adversary Fan Fiction Writers Guild
  • Chetan Nayak, Dark Vortex
  • Daniel Duggan, Rasta Mouse
ツールをダウンロード