
Fawkes è un agente C2 Mythic in golang scritto esclusivamente da AI.
Fawkes è un agente Mythic C2 interamente vibe-coded. È iniziato come un "mi chiedo" e si è trasformato in un obiettivo. Il mio obiettivo è non scrivere una singola riga di codice per questo agente, ma produrlo esclusivamente tramite prompt.
Inizialmente ho tentato di scrivere l'agente da solo, ma dopo aver clonato il container di esempio, letto la documentazione di Mythic, guardato i video della serie di sviluppo su YouTube e copiato codice da altri agenti come Merlin o Freyja, ho deciso che semplicemente non avevo tempo per sviluppare il mio agente. Un prompt, invece, per quello ho tempo.
Fawkes è un agente basato su Golang con capacità cross-platform. Supporta Windows (payload EXE, DLL e shellcode), Linux (binari ELF e librerie condivise) e macOS (binari Mach-O per Intel e Apple Silicon). 213 comandi in totale: 113 cross-platform, 82 solo Windows, 21 solo Unix, 11 solo Linux e 6 solo macOS (alcuni comandi hanno implementazioni specifiche per piattaforma che condividono un nome comune, es. screenshot). Supporta l'egresso HTTP e il collegamento peer-to-peer (P2P) TCP per il pivoting interno.
Per installare Fawkes, avrai bisogno di Mythic installato su un computer remoto. Puoi trovare le istruzioni di installazione per Mythic nella pagina del progetto Mythic.
Dalla directory di installazione di Mythic:``` ./mythic-cli install github https://github.com/galoryber/fawkes
## Riferimento rapido dei comandiCommand | Syntax | Description
------- | ------ | -----------
acl-edit | `acl-edit -action read -server dc01 -target user` | Legge/modifica DACL degli oggetti Active Directory (aggiunge/rimuove ACE, concede DCSync, GenericAll, backup/restore). Multipiattaforma (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>]` | Enumera i servizi certificati AD, trova template vulnerabili (ESC1-ESC4, ESC6 via DCOM), richiede certificati tramite DCOM per lo sfruttamento di ESC1/ESC6, o auto-sfruttamento (catena find → parse → request). Multipiattaforma (T1649).
ads | `ads -action <write\|read\|list\|delete> -file <path> [-stream <name>] [-data <content>] [-hex true]` | **(Solo Windows)** Gestisce flussi di dati alternativi NTFS — scrive, legge, elenca o elimina flussi dati nascosti. Supporta testo e binario codificato in esadecimale. MITRE T1564.004.
amcache | `amcache -action <query\|search\|delete\|clear> [-name <pattern>] [-count <n>]` | Interroga e pulisce gli artefatti forensi di esecuzione. Windows: Shimcache. Linux: recently-used.xbel, miniature, Tracker. macOS: elementi recenti, KnowledgeC, quarantena (T1070.004).
apc-injection | `apc-injection [-method <apc\|hwbp>] -pid <PID> [-tid <TID>] [-target_api ntdll!NtDelayExecution] [-timeout_ms 30000]` | **(Solo Windows)** Iniezione in processo remoto. `-method apc` (default) accoda shellcode tramite NtQueueApcThread in un thread allertabile (usa `ts` per trovarne uno). `-method hwbp` si collega tramite DebugActiveProcess, imposta un breakpoint hardware su DR0 su un'API target (default `ntdll!NtDelayExecution`) e reindirizza Rip verso lo shellcode quando il breakpoint si attiva — nessun TID richiesto, nessuna coda APC, nessun CreateRemoteThread (T1055.004, T1055).
audio-capture | `audio-capture [-duration 10] [-sample_rate 16000] [-channels 1] [-device default]` | Registra audio dal microfono e carica file WAV. Windows (waveIn), Linux (arecord/parecord), macOS (rec/ffmpeg). Multipiattaforma (T1123).
auditpol | `auditpol -action <query\|disable\|enable\|stealth> [-category <name\|all>]` | **(Solo Windows)** Interroga e modifica i criteri di audit di Windows. Disabilita la registrazione degli eventi di sicurezza prima di operazioni sensibili. La modalità stealth disabilita le sottocategorie critiche per il rilevamento. Usa API AuditQuerySystemPolicy (T1562.002).
argue | `argue -command "cmd.exe /c whoami" -spoof "cmd.exe /c echo hello"` | **(Solo Windows)** Esegue un comando con argomenti di processo falsificati. Supera Sysmon Event ID 1 e la telemetria della riga di comando degli EDR (T1564.010).
arp | `arp [-ip <subnet>]` o `arp -action spoof -target <IP> -gateway <IP>` | Mostra la tabella ARP con filtri, o avvelenamento della cache ARP per posizionamento MITM (T1557.002). Spoof: solo Linux, ripristina alla pulitura.
asrep-roast | `asrep-roast -server <DC> -username <user@domain> -password <pass> [-account <target>]` | Richiede ticket AS-REP per account senza pre-autenticazione ed estrae hash in formato hashcat per cracking offline. Auto-enumerazione tramite LDAP. Multipiattaforma (T1558.004).
av-detect | `av-detect [-deep true]` | Rileva prodotti AV/EDR/sicurezza installati scandendo i processi in esecuzione contro un database di oltre 130 firme. Con `--deep`, controlla anche moduli kernel, unità systemd e directory di configurazione per prodotti installati ma non in esecuzione (Linux). Riporta prodotto, vendor, tipo e PID. Multipiattaforma.
autopatch | `autopatch <dll_name> <function_name> <num_bytes>` | **(Solo Windows)** Applica automaticamente una patch a una funzione saltando alla più vicina istruzione di ritorno (C3). Utile per bypass di 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>]` | Toolkit di codifica dati: base64, XOR (con chiave stringa/hex), hex, ROT13, percent-encoding URL, cifrario di Cesare. Tutti supportano I/O su file. Multipiattaforma (T1132.001, T1140, T1027).
bits | `bits -action <list\|create\|persist\|cancel\|suspend\|resume\|complete> [-name <job>] [-url <URL>] [-path <local>] [-command <exe>]` | **(Solo Windows)** Gestisce lavori di trasferimento BITS per persistenza e download furtivo di file. Crea, sospende, riprende, completa lavori e imposta comandi di notifica per persistenza. I lavori sopravvivono ai riavvii (T1197).
browser | `browser [-action <passwords\|cookies\|history\|autofill\|bookmarks\|downloads>] [-browser <all\|chrome\|edge\|chromium\|firefox>]` | Raccoglie dati del browser da Chromium, Firefox e Safari. Cronologia, autofill, segnalibri, download multipiattaforma. Password: Chromium (DPAPI/Keychain/Portachiavi GNOME), Firefox (decifratura NSS key4.db), Safari (Portachiavi macOS). Cookie Firefox su tutte le piattaforme. MITRE T1555.003, T1217.
cat | `cat <file>` o `cat -path <file> -start N -end N -number true` | Mostra il contenuto di un file con intervallo di righe opzionale, numerazione e protezione da dimensioni superiori a 5MB.
cd | `cd <directory>` | Cambia la directory di lavoro corrente.
chmod | `chmod -path <file> -mode <permissions> [-recursive true]` | Modifica i permessi di file/directory con notazione ottale (755, 644) o simbolica (+x, u+rw, go-w). Supporto ricorsivo. Multipiattaforma (T1222).
chown | `chown -path <file> -owner <user> [-group <group>] [-recursive true]` | **(Solo Linux/macOS)** Cambia la proprietà di file/directory per nome utente/UID e nome gruppo/GID. Supporto ricorsivo (T1222).
cert-check | `cert-check -host <hostname> [-port 443] [-timeout 10]` | Ispeziona i certificati TLS su host remoti — identifica CA, certificati autofirmati, scadenza, SAN, versione TLS, suite di cifratura e impronte SHA256. Multipiattaforma (T1590.001).
certstore | `certstore -action <list\|find> [-store <MY\|ROOT\|CA\|Trust\|TrustedPeople>] [-filter <substring>]` | **(Solo Windows)** Enumera i depositi di certificati di Windows per trovare certificati per firma codice, autenticazione client e chiavi private. Cerca in CurrentUser e LocalMachine. MITRE T1552.004, T1649.