Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SynthAPT — Cadre de simulation d'adversaire basé sur des playbooks qui compile des chemins d'attaque définis en JSON en charges utiles de shellcode indépendant de la position pour valider les détections avancées et les agents d'investigation basés sur l'IA. | Kitploit
Outils/GitHubGitHub/acedef/synthapt
Frameworks de Tests d'IntrusionEscalade de PrivilègesFrameworks d'ExploitationGénération de PayloadsMouvement LatéralShellcodePost-ExploitationCommandement et ContrôleRed TeamingSécurité de l'IAAttaque Adversariale
2314715il y a 5 moisVérifié par Kitploit
GitHubacedef/synthapt

SynthAPT

Cadre de simulation d'adversaire basé sur des playbooks qui compile des chemins d'attaque définis en JSON en charges utiles de shellcode indépendant de la position pour valider les détections avancées et les agents d'investigation basés sur l'IA.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

SynthAPT

Aperçu

SynthAPT est un framework de simulation d'adversaires basé sur des playbooks pour reproduire des chemins d'attaque complexes. Il est conçu pour valider les détections avancées et les agents d'investigation basés sur l'IA. L'idée centrale est que le comportement des malwares peut être exprimé en JSON et compilé en un malware fonctionnel, permettant un développement rapide de scénarios réalistes à l'aide de LLMs.

L'implant central est une charge utile de shellcode pilotée par un interpréteur de playbook. Un playbook prédéfinit l'intégralité du chemin d'attaque et l'implant le suit, se déplaçant dans l'environnement via l'injection de processus, le mouvement latéral, etc. Chaque implant apparaît comme un thread indépendant avec son propre jeu d'instructions, de sorte que les attaques multi-étapes (par exemple, accès initial → élévation de privilèges → mouvement latéral → exfiltration) sont exprimées sous forme de graphe d'implants coopérants, tous définis à l'avance dans le playbook. Cela présente trois avantages majeurs :

  1. Les charges utiles peuvent imiter de vrais malwares sans infrastructure C2 - le chemin d'attaque complet est intégré dans la charge utile et les interactions C2 peuvent être simulées
  2. Les charges utiles sont reproductibles - elles exécutent l'intégralité du chemin d'attaque de manière identique à chaque fois, ce qui les rend adaptées aux tests de régression des détections
  3. Les LLMs peuvent traduire des rapports de renseignement sur les menaces et des blogs directement en charges utiles fonctionnelles, sans nécessiter d'expertise offensive ni de construction de malwares à partir de zéro

Fonctionnalités

  • Shellcode indépendant de la position - l'implant est entièrement PIC et peut être intégré dans n'importe quel loader ou injecteur
  • Bibliothèque d'opcodes riche - exécution, manipulation de jetons, injection de processus, process hollowing, mouvement latéral, énumération et modification AD, registre, services, et plus encore
  • Charges utiles auto-réplicatives - l'implant peut se déposer lui-même en tant qu'EXE ou DLL avec un ensemble de tâches différent, permettant une livraison multi-étapes sans C2
  • Formats de sortie flexibles - compiler un playbook en shellcode brut, un EXE PE ou une DLL PE
  • Python en mémoire - un interpréteur Python peut être chargé par réflexion à l'exécution, exposant toutes les capacités de l'implant en tant que module Python pour un scripting flexible
  • Simulation de PNJ - les opcodes 'explorer' permettent de décompresser et de lancer automatiquement des charges utiles d'une manière qui reproduit automatiquement les artefacts d'interaction utilisateur (lorsqu'injecté dans Explorer.exe)
  • Éditeur TUI avec agent LLM - un éditeur de playbook en terminal avec un agent Claude intégré qui peut générer et éditer des playbooks à partir de langage naturel ou de renseignements sur les menaces
  • Chargeur BOF - les fonctionnalités peuvent être étendues avec des fichiers Beacon Object standard

Compilation à partir des sources

Si vous ne souhaitez pas utiliser la version précompilée, vous pouvez le compiler comme suit :

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

Cela compilera le shellcode et l'éditeur.

Utilisation

Exécuter SynthAPT sans aucune commande vous amènera dans l'éditeur. Vous pouvez fournir une clé API Claude et voir les modifications pendant que vous interrogez.```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

Si vous souhaitez utiliser un autre LLM ou un abonnement, vous pouvez exécuter `synthapt export-skill` et utiliser cela avec n'importe quelle configuration de codage que vous avez.

Cela devrait produire un JSON playbook. Compilez-le en un payload avec la commande 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

Référence des opcodes

Les constantes peuvent être définies comme des chaînes, des objets hexadécimaux ou des objets base64 :```json "constants": [ "c:\windows\temp\file.txt", { "hex": "deadbeef" }, { "base64": "SGVsbG8=" } ]

---

### end (0x00)
Fin de l'ensemble de tâches. Ajouté automatiquement par le compilateur - vous n'avez pas besoin de l'ajouter.

---

### store_result (0x01)
Stocke le résultat de la dernière opération dans une variable.

| Champ | Type | |
|-------|------|-|
| var | u16 | **obligatoire** |```json
{ "op": "store_result", "var": 0 }

get_shellcode (0x02)

Retourne les octets shellcode actuels avec un ID de tâche et/ou une valeur magique optionnelle injectée.

ChampType
tasku8optionnel
magicu32 hex string or numberoptionnel
{ "op": "get_shellcode" }
{ "op": "get_shellcode", "task": 5, "magic": "0x18181818" }
---

### sleep (0x03)
Pause pendant le nombre donné de millisecondes.

| Champ | Type | |
|-------|------|-|
| ms | u32 | **requis** |```json
{ "op": "sleep", "ms": 5000 }

run_command (0x04)

Exécuter une commande via cmd.exe.

ChampType
commandstringobligatoire
{ "op": "run_command", "command": "whoami /all" }
---

### get_cwd (0x05)
Obtenir le répertoire de travail actuel. Aucun argument.```json
{ "op": "get_cwd" }

read_file (0x06)

Lire un fichier et retourner son contenu.

FieldType
pathstringobligatoire
{ "op": "read_file", "path": "c:\users\public\data.txt" }
{ "op": "read_file", "path": "%0" }
---

### write_file (0x07)
Écrire des octets dans un fichier.

| Champ | Type | |
|-------|------|-|
| path | string | **obligatoire** |
| content | bytes | *optionnel* (fichier vide si omis) |```json
{ "op": "write_file", "path": "c:\\temp\\out.txt", "content": "hello" }
{ "op": "write_file", "path": "%0", "content": "$1" }

check_error (0x08)

Affiche le code de statut d'une variable (0 = succès, non nul = erreur).

FieldType
varu16requis
{ "op": "check_error", "var": 0 }
---

### conditionnel (0x09)
Branchement vers différents indices de tâche selon l'état d'une variable.

| Champ | Type | |
|-------|------|-|
| mode | `"data"` ou `"error"` | **obligatoire** |
| var1 | u16 | **obligatoire** |
| var2 | u16 | *optionnel* (compare deux variables au lieu d'une seule vérification) |
| true | u16 | **obligatoire** (index de tâche si condition est vraie) |
| false | u16 | **obligatoire** (index de tâche si condition est fausse) |

`true_target` et `false_target` sont acceptés comme alias pour `true` et `false`.
Télécharger l’outil