
Cloud-Dead-Drop-C2-Framework — RSA-4096 + AES-256-GCM, 5 Cloud-Anbieter, reine Rust-Agenten, P2P-Mesh, Persistenz-Engine, Credential-Harvesting
Cloud-Persistenz-Framework · v3.0.2
Ein Fallback-Stützpunkt, der über Infrastruktur läuft, die Verteidiger nicht blockieren können.
Dein primäres C2 verstummt. Die Domain wird auf eine Blacklist gesetzt. Der Beacon wird markiert. Die EDR beendet den Prozess. Du bist raus.
Du brauchst einen zweiten Kanal — einen, der von vornherein niemals blockiert werden sollte.
Was wäre, wenn Command-and-Control-Traffic genau so aussähe, wie ein Mitarbeiter, der Dateien mit Dropbox synchronisiert?
Das ist Stratum. Befehle und Antworten werden als gewöhnliche Dateien in einem Cloud-Speicherordner übertragen. Der Agent verbindet sich nie mit der Infrastruktur des Angreifers. Der einzige beobachtbare Traffic ist HTTPS zu einem Anbieter, den die Firewall des Ziels bereits auf der Whitelist hat — denn Dropbox oder OneDrive zu blockieren bedeutet, jeden Mitarbeiter zu blockieren, der sie nutzt.
Kein Teamserver. Keine Domain im Besitz des Angreifers. Kein verdächtiges TLS-Zertifikat. Nichts, was blockiert werden kann.
OPERATOR CLOUD PROVIDER TARGET
──────── ───────────── ──────
/Machine1/
WebGUI ──HTTPS──► input.txt 🔒 ◄── poll ── agent
output.txt 🔒 ──► read ──┘
heartbeat.txt (encrypted beacon)
Der Agent wacht in einem konfigurierbaren Intervall auf (+ log-normaler Jitter), liest die Eingabedatei, führt sie aus, verschlüsselt die Antwort, lädt sie hoch und schläft. Alles Ende-zu-Ende verschlüsselt mit RSA-4096-OAEP + AES-256-GCM. Die IP des Operators erscheint niemals in einem Netzwerkprotokoll auf der Zielseite.
| Anbieter | Hinweise | |
|---|---|---|
| Dropbox | OAuth2-Refresh-Token · Business- und Privatkonten | |
| Microsoft OneDrive | Microsoft Graph API · Privat- und M365-Konten | |
| Google Drive | Google Drive API v3 · OAuth2-Service-Flow | |
| SharePoint Online | Microsoft Graph API · M365-Tenant-Sites | |
| S3-kompatibel | AWS S3 · DigitalOcean Spaces · Backblaze B2 · jeder S3-Endpunkt |
Alle fünf teilen dasselbe Wire-Format, dasselbe RSA-Schlüsselpaar und dieselbe Operator-Session. Wechseln Sie den Anbieter mitten im Engagement in Minuten, ohne den Agenten anzufassen. Kein anderes Open-Source-Framework liefert das out of the box.
Ein SOC, das C2 stoppen will, blockiert die Teamserver-Domain oder vorgeschaltete Infrastruktur. Ein SOC, das Stratum stoppen will, muss Dropbox, OneDrive, Google Drive, SharePoint und S3 gleichzeitig blockieren. Das ist keine Firewall-Regel — es ist eine Geschäftsentscheidung, die kein Unternehmen treffen wird. Die Dead-Drop-Architektur versucht nicht, Erkennung zu umgehen. Sie operiert auf Infrastruktur, die der Verteidiger bereits dauerhaft als vertrauenswürdig eingestuft hat.
| Format | Plattform | Abhängigkeiten |
|---|---|---|
.exe / .dll | Windows | Keine — Rust-kompiliertes PE (MSVC-ABI), kein Interpreter, kein PowerShell im Prozessbaum |
.elf | Linux | Keine — Rust-kompiliert musl-static, läuft auf jedem x86_64-Linux |
.bin | Linux / Windows | x64-PIC-Shellcode — in jeden externen Loader oder Injector einfügbar |
Der Wizard generiert alle davon. Sie beantworten Eingabeaufforderungen; er kompiliert, verschlüsselt und paketiert. Keine Compiler-Flags, keine Env-Variablen, keine manuelle Schlüsselverwaltung.
| Modus | Funktionsweise | Am besten für |
|---|---|---|
| staged-enc | Minimaler Stub auf dem Ziel. Beim ersten Lauf: holt einmaligen Bootstrap-Schlüssel aus der Cloud, entschlüsselt den vollständigen Agenten im Speicher, löscht den Schlüssel aus der Cloud. Payload berührt niemals im Klartext die Festplatte. | Standard-Engagements — kleinstes initiales Artefakt, Schlüssel bei Auslieferung zerstört |
| stageless-enc | Vollständiger Agent in einer einzigen Auslieferungsdatei eingebettet, verschlüsselt mit einem im Stub eingebetteten Schlüssel. Kein Cloud-Schlüsselabruf nach der Auslieferung nötig. | Air-gapped oder eingeschränkte Netzwerke — einzelne, eigenständige Datei |
| stageless-plain | Agent im Klartext. Befehle und Antworten bleiben während der Übertragung vollständig verschlüsselt. | Labs und kontrollierte Umgebungen |
Alle Modi teilen dasselbe Verhalten nach der Ausführung: Der Stub cached ein HW-fingerprinted verschlüsseltes Blob lokal, sodass nachfolgende Läufe von der Festplatte laden, ohne die Cloud zu berühren.
Bevor Sie einen einzigen Registry-Schlüssel oder Cron-Eintrag anfassen, führen Sie /persist probe aus. Der Agent prüft jede verfügbare Technik auf der aktuellen Privilegienstufe und liefert einen Machbarkeitsbericht. Nicht destruktiv — keine Artefakte bleiben zurück.
/persist probe
✓ schtask-logon — feasible (SYSTEM)
✓ registry-run — feasible
✗ schtask-boot — requires elevation
✓ startup-folder — feasible
...
Wähle aus, was funktioniert, installiere es und entferne es sauber, wenn du fertig bist. Die WebGUI verfolgt jede installierte Technik pro Sitzung. /kill reißt alles nieder — Persistenz, Binärdatei, Cloud-Artefakte — mit einem einzigen Befehl.
Kill-Datum, Wartungsfenster, log-normaler Jitter, einmaliger Bootstrap-Schlüssel — alles einmal im Assistenten konfiguriert und dauerhaft in den Agenten kompiliert. Nichts, was während des Engagements verwaltet werden muss, nichts, was am Ende vergessen werden kann zu bereinigen.
Stratum ist kein Ersatz für Cobalt Strike, Sliver oder Havoc. Es ist die Ebene darunter.