Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SynthAPT — Estrutura de simulação de adversários baseada em playbook que compila caminhos de ataque definidos em JSON em payloads de shellcode independentes de posição para validar detecções avançadas e agentes de investigação baseados em IA. | Kitploit
Ferramentas/GitHubGitHub/acedef/synthapt
Frameworks de Testes de PenetraçãoEscalada de PrivilégiosFrameworks de ExploraçãoGeração de PayloadsMovimento LateralShellcodePós-ExploraçãoComando e ControleRed TeamingSegurança de IAAtaque Adversário
2314715há 5 mesesRevisado pelo Kitploit
GitHub
acedef/synthapt

SynthAPT

Estrutura de simulação de adversários baseada em playbook que compila caminhos de ataque definidos em JSON em payloads de shellcode independentes de posição para validar detecções avançadas e agentes de investigação baseados em IA.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

SynthAPT

Visão Geral

SynthAPT é um framework de simulação de adversários baseado em playbooks para replicar caminhos de ataque complexos. Ele é projetado para validar detecções avançadas e agentes de investigação baseados em IA. A ideia central é que o comportamento de malware pode ser expresso em JSON e compilado em malware funcional, permitindo o desenvolvimento rápido de cenários realistas usando LLMs.

O implante central é um payload de shellcode orientado por um interpretador de playbook. Um playbook pré-define todo o caminho de ataque e o implante o segue, movendo-se pelo ambiente via injeção de processo, movimento lateral, etc. Cada implante surge como uma thread independente com seu próprio conjunto de instruções, de modo que ataques em múltiplos estágios (ex: acesso inicial → escalonamento de privilégios → movimento lateral → exfiltração) são expressos como um grafo de implantes cooperantes, todos definidos antecipadamente no playbook. Isso tem três grandes vantagens:

  1. Payloads podem imitar malware real sem infraestrutura C2 - o caminho completo de ataque está embutido no payload e as interações C2 podem ser simuladas
  2. Payloads são repetíveis - eles executam todo o caminho de ataque de forma idêntica a cada vez, tornando-os adequados para testes de regressão de detecções
  3. LLMs podem traduzir relatórios de inteligência de ameaças e blogs diretamente em payloads funcionais, sem exigir expertise ofensiva ou construir malware do zero

Funcionalidades

  • Shellcode independente de posição - o implante é totalmente PIC e pode ser incorporado em qualquer loader ou injector
  • Biblioteca rica de opcodes - execução, manipulação de tokens, injeção de processo, hollowing de processo, movimento lateral, enumeração e modificação de AD, registro, serviços e mais
  • Payloads auto-replicantes - o implante pode se dropar como um EXE ou DLL com um conjunto diferente de tarefas, permitindo entrega em múltiplos estágios sem um C2
  • Formatos de saída flexíveis - compile um playbook para shellcode bruto, um PE EXE ou um PE DLL
  • Python em memória - um interpretador Python pode ser carregado de forma reflexiva em tempo de execução, expondo todas as capacidades do implante como um módulo Python para scripting flexível
  • Simulação de NPC - opcodes 'explorer' permitem descompactar e lançar payloads automaticamente de uma forma que reproduz artefatos de interação do usuário (quando injetado no Explorer.exe)
  • Editor TUI com agente LLM - um editor de playbook baseado em terminal com um agente Claude integrado que pode gerar e editar playbooks a partir de linguagem natural ou inteligência de ameaças
  • BOF Loader - funcionalidades podem ser estendidas com arquivos Beacon Object padrão

Compilação a partir do Código Fonte

Se você não quiser usar o release, pode compilar da seguinte forma:

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

Isso compilará o shellcode e o editor.

Uso

Executar o SynthAPT sem nenhum comando o levará ao editor. Você pode fornecer uma chave de API do Claude e ver as alterações conforme você faz perguntas.```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 você quiser usar outro LLM ou uma assinatura, pode executar `synthapt export-skill` e usar isso com qualquer configuração de codificação que tiver.

Isso deve gerar um playbook JSON. Compile-o em um payload com o 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

Referência de Opcodes

Constantes podem ser definidas como strings, objetos hex, ou objetos base64:```json "constants": [ "c:\windows\temp\file.txt", { "hex": "deadbeef" }, { "base64": "SGVsbG8=" } ]

---

### end (0x00)
Fim do conjunto de tarefas. Adicionado automaticamente pelo compilador - você não precisa adicioná-lo.

---

### store_result (0x01)
Armazenar o resultado da última operação em uma variável.

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

get_shellcode (0x02)

Retorna os bytes atuais do shellcode com um ID de tarefa opcional e/ou valor mágico inserido.

CampoTipo
tasku8opcional
magicu32 string hexadecimal ou númeroopcional
{ "op": "get_shellcode" }
{ "op": "get_shellcode", "task": 5, "magic": "0x18181818" }
### sleep (0x03)
Dorme pelo número de milissegundos fornecido.

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

run_command (0x04)

Executa um comando via cmd.exe.

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

### get_cwd (0x05)
Obter o diretório de trabalho atual. Sem argumentos.```json
{ "op": "get_cwd" }

read_file (0x06)

Lê um arquivo e retorna seu conteúdo.

CampoTipo
caminhostringobrigatório
{ "op": "read_file", "path": "c:\users\public\data.txt" }
{ "op": "read_file", "path": "%0" }
---

### write_file (0x07)
Escreve bytes em um arquivo.

| Campo | Tipo | |
|-------|------|-|
| path | string | **obrigatório** |
| content | bytes | *opcional* (arquivo vazio se omitido) |```json
{ "op": "write_file", "path": "c:\\temp\\out.txt", "content": "hello" }
{ "op": "write_file", "path": "%0", "content": "$1" }

check_error (0x08)

Exibe o código de status de uma variável (0 = sucesso, diferente de zero = erro).

CampoTipo
varu16obrigatório
{ "op": "check_error", "var": 0 }
---

### conditional (0x09)
Ramificar para diferentes índices de tarefa com base no estado da variável.

| Campo | Tipo | |
|-------|------|-|
| mode | `"data"` ou `"error"` | **obrigatório** |
| var1 | u16 | **obrigatório** |
| var2 | u16 | *opcional* (comparar duas variáveis em vez de verificação única) |
| true | u16 | **obrigatório** (índice da tarefa se a condição for verdadeira) |
| false | u16 | **obrigatório** (índice da tarefa se a condição for falsa) |

`true_target` e `false_target` são aceitos como aliases para `true` e `false`.

Modos de variável única:
- `"data"` — verdadeiro se var1 tiver dados não vazios
- `"error"` — verdadeiro se o status de var1 for 0 (sucesso)
Baixar ferramenta