
Framework C2 dead-drop su cloud — RSA-4096 + AES-256-GCM, 5 provider cloud, agent solo Rust, mesh P2P, motore di persistenza, raccolta di credenziali
Framework di persistenza cloud · v3.0.2
Un punto d'appoggio di riserva che passa attraverso un'infrastruttura che i difensori non possono bloccare.
Il tuo C2 primario diventa silenzioso. Il dominio viene inserito nella blacklist. Il beacon viene segnalato. L'EDR termina il processo. Sei fuori gioco.
Hai bisogno di un secondo canale — uno che non sarebbe mai stato bloccato fin dall'inizio.
E se il traffico di command-and-control sembrasse esattamente quello di un dipendente che sincronizza file su Dropbox?
Questo è Stratum. Comandi e risposte viaggiano come normali file all'interno di una cartella di archiviazione cloud. L'agente non si connette mai all'infrastruttura dell'attaccante. L'unico traffico osservabile è HTTPS verso un provider già inserito nella whitelist del firewall del target — perché bloccare Dropbox o OneDrive significa bloccare ogni dipendente che lo utilizza.
Nessun teamserver. Nessun dominio di proprietà dell'attaccante. Nessun certificato TLS sospetto. Niente da bloccare.
OPERATOR CLOUD PROVIDER TARGET
──────── ───────────── ──────
/Machine1/
WebGUI ──HTTPS──► input.txt 🔒 ◄── poll ── agent
output.txt 🔒 ──► read ──┘
heartbeat.txt (encrypted beacon)
L'agente si risveglia a un intervallo configurabile (+ jitter log-normale), legge il file di input, esegue, cifra la risposta, la carica e va in sleep. Tutto cifrato end-to-end con RSA-4096-OAEP + AES-256-GCM. L'IP dell'operatore non appare mai in alcun log di rete sul lato target.
| Provider | Note | |
|---|---|---|
| Dropbox | Token di refresh OAuth2 · Account business e personali | |
| Microsoft OneDrive | Microsoft Graph API · Account personali e M365 | |
| Google Drive | Google Drive API v3 · Flusso di servizio OAuth2 | |
| SharePoint Online | Microsoft Graph API · Siti tenant M365 | |
| Compatibile S3 | AWS S3 · DigitalOcean Spaces · Backblaze B2 · qualsiasi endpoint S3 |
Tutti e cinque condividono lo stesso formato di trasmissione, la stessa coppia di chiavi RSA e la stessa sessione operatore. Cambia provider a metà ingaggio in pochi minuti senza toccare l'agente. Nessun altro framework open-source offre questo out of the box.
Un SOC che vuole fermare un C2 blocca il dominio del teamserver o l'infrastruttura fronted. Un SOC che vuole fermare Stratum deve bloccare contemporaneamente Dropbox, OneDrive, Google Drive, SharePoint e S3. Non è una regola del firewall — è una decisione di business che nessuna azienda prenderà. L'architettura dead-drop non cerca di evadere il rilevamento. Opera su infrastruttura che il difensore ha già deciso di fidarsi, in modo permanente.
| Formato | Piattaforma | Dipendenze |
|---|---|---|
.exe / .dll | Windows | Nessuna — PE compilato in Rust (ABI MSVC), nessun interprete, nessun PowerShell nell'albero dei processi |
.elf | Linux | Nessuna — musl-static compilato in Rust, funziona su qualsiasi Linux x86_64 |
.bin | Linux / Windows | Shellcode PIC x64 — inseribile in qualsiasi loader o injector esterno |
La procedura guidata li genera tutti. Rispondi ai prompt; compila, cifra e impacchetta. Nessun flag del compilatore, nessuna variabile d'ambiente, nessuna gestione manuale delle chiavi.
| Modalità | Come funziona | Ideale per |
|---|---|---|
| staged-enc | Stub minimale sul target. Al primo avvio: recupera dal cloud la chiave di bootstrap monouso, decifra l'agente completo in memoria, elimina la chiave dal cloud. Il payload non tocca mai il disco in chiaro. | Ingaggi standard — artefatto iniziale più piccolo, chiave distrutta alla consegna |
| stageless-enc | Agente completo incorporato in un singolo file di consegna, cifrato con una chiave integrata nello stub. Nessun recupero della chiave dal cloud dopo la consegna. | Reti air-gapped o ristrette — singolo file autocontenuto |
| stageless-plain | Agente in chiaro. Comandi e risposte restano completamente cifrati in transito. | Lab e ambienti controllati |
Tutte le modalità condividono lo stesso comportamento post-esecuzione: lo stub memorizza localmente un blob cifrato con fingerprint hardware, così le esecuzioni successive caricano da disco senza toccare il cloud.
Prima di toccare una singola chiave di registro o voce cron, esegui /persist probe. L'agente verifica ogni tecnica disponibile al livello di privilegio corrente e restituisce un report di fattibilità. Non distruttivo — nessun artefatto lasciato indietro.
/persist probe
✓ schtask-logon — feasible (SYSTEM)
✓ registry-run — feasible
✗ schtask-boot — requires elevation
✓ startup-folder — feasible
...
Scegli ciò che funziona, installalo, rimuovilo in modo pulito quando hai finito. La WebGUI tiene traccia di ogni tecnica installata per sessione. /kill smonta tutto — persistenza, binario, artefatti cloud — con un solo comando.
Data di kill, finestra di manutenzione, jitter log-normale, chiave di bootstrap monouso — tutto configurato una volta nella procedura guidata e compilato permanentemente nell'agente. Nulla da gestire durante l'engagement, nulla da dimenticare di ripulire alla fine.
Stratum non è un sostituto di Cobalt Strike, Sliver o Havoc. È il livello sottostante ad essi.