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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Clematis — PE to shellcode | Kitploit
ツール/GitHubGitHub/cblabresearch/clematis
Payload GenerationExploitationShellcodeRed TeamingShellcode GenerationPayload Development
GitHubcblabresearch/clematis

Clematis

PE to shellcode

リポジトリを見る
283531年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Clematis

clematis

[ 中文 | English ]

🛠️ PEファイル(EXE/DLL)を位置非依存シェルコードに変換するための強力なツール。

✨ 主な機能

  • PEファイル(EXE/DLL)のシェルコード変換に対応
  • x86 / x64 両アーキテクチャに対応
  • コマンドライン引数のサポート
  • 出力ファイルサイズを大幅に削減する LZNT1 圧縮アルゴリズムを内蔵
  • ステルス性を高める任意の難読化機能

📦 インストール

依存関係

root@kitploit:~
pip install pefile lznt1

🚀 使い方

root@kitploit:~
python clematis.py -f <PE_file> -o <output_file> [-g <true/false>] [-c <true/false>] [-p <parameters>]

パラメータ

使用例

root@kitploit:~
# ヘルプ情報を表示
python clematis.py -h

# 基本的な使用法
python clematis.py -f target.exe -o output.bin

# 難読化と圧縮を無効化
python clematis.py -f target.exe -o output.bin -g false -c false

# ターゲットプログラムに引数を渡す
python clematis.py -f target.exe -o output.bin -p arg1 arg2

python clematis.py -f target.exe -o output.bin -p "arg1 arg2"

💪 私たちの強み

  • 🎯 DOT NET に対応
  • 🗜️ 圧縮対応
  • 🎭 難読化対応
  • 🔄 パラメータ渡し対応
  • 🚀 golang に完全対応
  • 💪 生成されるシェルコードは強力かつ安定

💡 設計思想

特定の特殊な環境では、次のような課題に直面することがあります:
root@kitploit:~
- 🛡️ プロセスインジェクションができない(AV/EDR/XDRによるブロック)
- 🔄 現在のプロセスでgolangプログラムを実行するとブロッキングが発生する可能性がある
- 💾 golangプログラム実行後にメモリリークが発生する可能性がある
- ⚠️ golangが作成したスレッドを解放できない!
これらの問題に対処するため、clematis を開発しました:
root@kitploit:~
- ✨ golangプログラムをシェルコードに変換
- 🎯 現在のプロセスで直接実行
- ♻️ 実行後にメモリを自動解放
- 🚀 golang関連のメモリ問題を完全に回避
- 🔄 golangが作成したすべてのスレッドを回収

📝 注意事項

  • ソースPEファイルの読み取りとターゲットファイルの書き込みに十分な権限があることを確認してください
  • 大きなファイルを変換する場合は圧縮を推奨します
  • 難読化は多少のパフォーマンスオーバーヘッドを追加しますが、ステルス性が向上します

⚠️ 既知の問題

  • mingw | gcc でビルドされたアプリケーション(exe)の一部が読み込みに失敗する場合があります。リロケーションが原因の可能性があります(未実装)
  • DOT NET の不正なメモリアクセス(修正済み)

🗓️ 計画中の機能

  • セキュリティ向上のための高度な暗号化オプション
  • 操作を容易にするGUIインターフェース
  • 変換進捗のリアルタイムモニタリング
  • PE内リソースの処理
  • [ProxyDll, Syscall, ...] などの回避能力の強化

🔄 最近の更新

  • 2024-12-27

    • DOT NET(x64 | x86)に対応
  • 2024-12-28

    • DOT NETプログラムの潜在的なクラッシュを修正(発生しない場合あり)

    • IMAGE_DIRECTORY_ENTRY_EXCEPTION(x64)の処理を追加

    • APIをNTAPIに更新


⚠️ 警告

  • このアップデートを無料で公開する予定はなく、有料サークルに掲載します。
  • このプロジェクトは今後も利用可能かつ無料ですが、将来更新されない可能性があります。ありがとうございました!

clematis


🔍 動作の仕組み

Clematis は以下の手順でPEファイルをシェルコードに変換します:

  1. 対象のPEファイルを読み取り・解析
  2. コマンドライン引数を処理(存在する場合)
  3. 任意の LZNT1 圧縮
  4. 任意の難読化処理
  5. 最終的な位置非依存シェルコードを生成
root@kitploit:~
flowchart TD
    A[START] --> B[Read PE file]
    B --> C[Parse PE structure]
    C --> D{Is there a command line argument?}
    D -- TRUE --> E[Process command line arguments]
    D -- FALSE --> F{Enable compression?}
    E --> F
    F -- TRUE --> G[LZNT1 compression]
    F -- FALSE --> H{Enable obfuscation?}
    G --> H
    H -- TRUE --> I[Execute obfuscation processing]
    H -- FALSE --> J[Generate shellcode]
    I --> J
    J --> K[Output result]
    K --> L[END]

🤝 貢献

Issue と Pull Request を歓迎します!

ツールをダウンロード
descdefaultrequired
-f--file変換するPEファイルへのパスtrue
-o--output出力ファイル名true
-g--garble難読化を有効にするtruefalse
-c--compress圧縮を有効にするtruefalse
-p--parameterPEファイルに渡す実行パラメータfalse
beforenow
VirtualAllocNtAllocateVirtualMemory
VirtualProtectNtProtectVirtualMemory
VirtualFreeNtFreeVirtualMemory
LoadLibraryLdrLoadDll
GetProcAddressLdrGetProcedureAddress
WaitForMultipleObjectsNtWaitForMultipleObjects
CreateEventNtCreateEvent
CloseHandleNtClose
SignalObjectAndWaitNtSignalAndWaitForSingleObject
TerminateThreadNtTerminateThread
SuspendThreadNtSuspendThread
OpenThreadNtOpenThread
ResumeThreadNtResumeThread
GetContextThreadNtGetContextThread
SetContextThreadNtSetContextThread
...
  • 2025-1-1

    • スレッドリストとメモリリストを管理するためのスレッドセーフを追加
    • いくつかの機能上の問題を修正
    • ペイロード内のパラメータ処理を削除し、パッチ方式に変更
    • upx に対応
    • ペイロードにアーキテクチャチェックを追加し、アーキテクチャが一致するか確認
    • 互換性を高めるために一部の実装を変更