
Fawkes es un agente C2 Mythic en Golang exclusivamente escrito por IA.
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.
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.
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).