
DBC2 (DropboxC2) è uno strumento post-exploitation modulare, composto da un agente in esecuzione sulla macchina della vittima, un controller in esecuzione su qualsiasi macchina, moduli PowerShell e server Dropbox come mezzo di comunicazione.
ULTIMA/VERSIONE ATTUALE: 0.2.6
Autore: Arno0x0x - @Arno0x0x
DBC2 (DropboxC2) è uno strumento modulare di post-exploitation, composto da un agente in esecuzione sulla macchina vittima, un controller in esecuzione su qualsiasi macchina, moduli PowerShell e server Dropbox come mezzo di comunicazione.
Questo progetto è stato inizialmente ispirato dal fantastico framework Empire, ma anche come obiettivo per imparare Python.
Dai un'occhiata a questa introduzione e demo delle funzionalità di base (v0.0.1) :

Nuove funzionalità nella versione 0.2.x :

L'app è distribuita secondo i termini della licenza GPLv3.

Caratteristiche principali di DBC2:
(w|c)script.exe grazie allo stager DotNetToJScript (javascript2)DBC2 richiede un'applicazione Dropbox (solo 'App folder' è sufficiente) creata all'interno del tuo account Dropbox e un token di accesso generato per questa applicazione, per poter effettuare chiamate API. Guarda il video introduttivo su come fare se non sei sicuro.
Dal lato controller, DBC2 richiede:
pip install -r requirements.txt:
Il controller di DBC2 è stato testato con successo su Linux Kali e Mac OSX.
Dal lato agente, DBC2 richiede:
Il controller di DBC2 richiede una password master all'avvio. Questa password viene poi derivata in una chiave master a 128 bit utilizzando la funzione PBKDF della libreria pyscrypt. La chiave master viene quindi codificata in base64 e può (opzionalmente) essere salvata nel file di config.
DBC2 esegue una crittografia end-to-end dei dati utilizzando la chiave master con AES-128/CBC. I dati scambiati tra agente e controller fluiscono attraverso i server Dropbox, quindi mentre il trasferimento stesso è crittografato, grazie a HTTPS, i dati devono essere crittografati end-to-end per proteggere i dati mentre sono inattivi sui server Dropbox.
DBC2 esegue anche l'offuscamento degli stage e dei moduli tramite crittografia XOR, che è una crittografia stupida ma sufficiente per offuscare alcuni pezzi di codice ben noti e pubblicamente disponibili. La chiave utilizzata per eseguire la crittografia XOR è un hash SHA256 della chiave master.
L'installazione è piuttosto semplice:
git clone https://github.com/Arno0x/DBC2 dbc2cd dbc2pip install -r requirements.txtchmod +x dropboxC2.pyPer avviare il controller, basta digitare ./dropboxC2.py.
La configurazione viene effettuata tramite il file config.py:
DBC2 è disponibile anche come container Docker, quindi:
Guarda DBC2 su Docker Hub.
O semplicemente esegui: docker pull arno0x0x/dbc2
Puoi compilare molto facilmente i tuoi eseguibili dello stage agente, dal codice sorgente fornito. Non hai bisogno di Visual Studio installato.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /out:dbc2_agent.exe *.csC:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /define:DEBUG /out:dbc2_agent_debug.exe *.csQuesto strumento è destinato ad essere utilizzato solo in modo legale e legittimo:
Citando gli autori di Empire: Non c'è modo di costruire strumenti offensivi utili per l'industria legittima della sicurezza informatica prevenendo contemporaneamente l'abuso da parte di attori malintenzionati.
Arno0x0x - Puoi contattarmi sulla mia pagina Twitter (@Arno0x0x).
Questa è ancora una versione beta di questo strumento, e il mio primo progetto sviluppato con Python e C#. Quindi è probabilmente pieno di bug, non scritto nel modo più Pythonic o CSharp'ish. Le correzioni di bug e i miglioramenti arriveranno nel tempo man mano che riceverò feedback su questo strumento.
Da aggiungere nelle prossime versioni:
Da correggere: