Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SynthAPT — Framework di simulazione avversaria basato su playbook che compila percorsi di attacco definiti in JSON in payload shellcode indipendenti dalla posizione per validare rilevamenti avanzati e agenti investigativi basati su IA. | Kitploit
Strumenti/GitHubGitHub/acedef/synthapt
Frameworks per Penetration TestingEscalation di PrivilegiFramework di ExploitGenerazione di PayloadMovimento LateraleShellcodePost-ExploitCommand and ControlRed TeamingSicurezza dell'IAAttacco Avversario
23147155 mesi faRevisionato da Kitploit
GitHub
acedef/synthapt

SynthAPT

Framework di simulazione avversaria basato su playbook che compila percorsi di attacco definiti in JSON in payload shellcode indipendenti dalla posizione per validare rilevamenti avanzati e agenti investigativi basati su IA.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

SynthAPT

Panoramica

SynthAPT è un framework di simulazione avversaria basato su playbook per replicare percorsi di attacco complessi. È progettato per convalidare rilevamenti avanzati e agenti di investigazione basati su IA. L'idea centrale è che il comportamento del malware può essere espresso in JSON e compilato in malware funzionale, consentendo uno sviluppo rapido di scenari realistici utilizzando LLM.

L'impianto principale è un payload shellcode guidato da un interprete di playbook. Un playbook predefinisce l'intero percorso di attacco e l'impianto lo segue, spostandosi nell'ambiente tramite injection di processi, movimento laterale, ecc. Ogni impianto viene generato come thread indipendente con il proprio set di istruzioni, quindi gli attacchi multi-stadio (es. accesso iniziale → privilege escalation → movimento laterale → esfiltrazione) sono espressi come un grafo di impianti cooperanti, tutti definiti a priori nel playbook. Questo ha tre principali vantaggi:

  1. I payload possono imitare malware reali senza infrastruttura C2 - l'intero percorso di attacco è incorporato nel payload e le interazioni C2 possono essere simulate
  2. I payload sono ripetibili - eseguono l'intero percorso di attacco in modo identico ogni volta, rendendoli adatti per test di regressione dei rilevamenti
  3. Gli LLM possono tradurre report di threat intelligence e blog direttamente in payload funzionanti, senza richiedere competenze offensive o costruire malware da zero

Caratteristiche

  • Shellcode indipendente dalla posizione - l'impianto è completamente PIC e può essere integrato in qualsiasi loader o injector
  • Ricca libreria di opcode - esecuzione, manipolazione dei token, injection di processi, process hollowing, movimento laterale, enumerazione e modifica AD, registro, servizi e altro
  • Payload auto-replicanti - l'impianto può rilasciare se stesso come EXE o DLL con un diverso set di task, consentendo la distribuzione multi-stadio senza C2
  • Formati di output flessibili - compila un playbook in shellcode grezzo, un PE EXE o un PE DLL
  • Python in memoria - un interprete Python può essere caricato riflessivamente a runtime, esponendo tutte le capacità dell'impianto come modulo Python per scripting flessibile
  • Simulazione NPC - gli opcode 'explorer' consentono di decomprimere e lanciare payload automaticamente in modo da riprodurre automaticamente artefatti di interazione utente (quando iniettati in Explorer.exe)
  • Editor TUI con agente LLM - un editor di playbook basato su terminale con un agente Claude integrato che può generare e modificare playbook da linguaggio naturale o threat intelligence
  • Caricatore BOF - la funzionalità può essere estesa con file Beacon Object File standard

Compilazione dal sorgente

Se non vuoi usare la release puoi compilarlo come segue:

  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
Compila con cargo make:```bash
cargo make build
./target/release/synthapt

This compilerà lo shellcode e l'editor.

Use

Eseguire SynthAPT senza alcun comando ti porterà nell'editor. Puoi fornire una chiave API di Claude e vedere le modifiche mentre scrivi i prompt.```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

Se vuoi utilizzare un altro LLM o un abbonamento, puoi eseguire `synthapt export-skill` e usarlo con qualsiasi configurazione di codice tu abbia.

Dovrebbe generare un playbook JSON. Compilalo in un payload con il comando 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

Riferimento agli opcode

Le costanti possono essere definite come stringhe, oggetti esadecimali o oggetti base64:```json "constants": [ "c:\windows\temp\file.txt", { "hex": "deadbeef" }, { "base64": "SGVsbG8=" } ]

---

### end (0x00)
Fine del set di attività. Aggiunto automaticamente dal compilatore - non è necessario aggiungerlo.

---

### store_result (0x01)
Salva il risultato dell'ultima operazione in una variabile.

| Campo | Tipo | |
|-------|------|-|
| var | u16 | **obbligatorio** |```json
{ "op": "store_result", "var": 0 }

get_shellcode (0x02)

Restituisce i byte dello shellcode corrente con un ID task opzionale e/o un valore magic inseriti.

FieldType
tasku8opzionale
magicu32 hex string or numberopzionale
{ "op": "get_shellcode" }
{ "op": "get_shellcode", "task": 5, "magic": "0x18181818" }
### sleep (0x03)
Dormi per il numero di millisecondi specificato.

| Campo | Tipo | |
|-------|------|-|
| ms | u32 | **richiesto** |```json
{ "op": "sleep", "ms": 5000 }

run_command (0x04)

Esegue un comando tramite cmd.exe.

CampoTipo
commandstringobbligatorio
{ "op": "run_command", "command": "whoami /all" }
---

### get_cwd (0x05)
Ottiene la directory di lavoro corrente. Nessun argomento.```json
{ "op": "get_cwd" }

read_file (0x06)

Legge un file e ne restituisce il contenuto.

CampoTipo
pathstringobbligatorio
{ "op": "read_file", "path": "c:\users\public\data.txt" }
{ "op": "read_file", "path": "%0" }
### write_file (0x07)
Scrive byte in un file.

| Campo | Tipo | |
|-------|------|-|
| path | string | **richiesto** |
| content | bytes | *opzionale* (file vuoto se omesso) |```json
{ "op": "write_file", "path": "c:\\temp\\out.txt", "content": "hello" }
{ "op": "write_file", "path": "%0", "content": "$1" }

check_error (0x08)

Stampa il codice di stato di una variabile (0 = successo, non-zero = errore).

CampoTipo
varu16richiesto
{ "op": "check_error", "var": 0 }
### condizionale (0x09)
Dirama verso diversi indici di attività in base allo stato di una variabile.

| Campo | Tipo | |
|-------|------|-|
| mode | `"data"` o `"error"` | **obbligatorio** |
| var1 | u16 | **obbligatorio** |
| var2 | u16 | *opzionale* (confronta due variabili invece di un singolo controllo) |
| true | u16 | **obbligatorio** (indice dell'attività se la condizione è vera) |
| false | u16 | **obbligatorio** (indice dell'attività se la condizione è falsa) |

`true_target` e `false_target` sono accettati come alias per `true` e `false`.

Modalità a singola variabile:
- `"data"` — vero se var1 ha dati non vuoti
- `"error"` — vero se lo stato di var1 è 0 (successo)
Scarica lo strumento