
Strumento Red Team per l'esfiltrazione di file nascosta tramite trasmissione audio Bluetooth, codificando dati binari in segnali FLAC per bypassare i sistemi di sicurezza EDR, XDR e DLP.
Prevenzione della Perdita di Dati tramite Altoparlante Bluetooth
DLPwn è uno strumento per Red Team progettato per l'esfiltrazione di file per bypassare sistemi di sicurezza come EDR (Endpoint Detection and Response), XDR (Extended Detection and Response), DLP (Data Loss Prevention), e più in generale qualsiasi sistema informativo isolato (air-gapped). Utilizza la trasmissione audio Bluetooth per codificare file arbitrari in segnali audio FLAC, trasmetterli e decodificarli dall'altro lato, sfruttando il fatto che i controlli di sicurezza audio sono spesso meno rigorosi di quelli di rete o dei file.
DLPwn opera in tre fasi principali:
Questo approccio consente l'esfiltrazione di dati sensibili senza attivare allarmi da parte di sistemi di sicurezza che monitorano connessioni di rete, scritture su disco o processi sospetti.
DLPwn utilizza un protocollo di trasmissione audio basato su:
Ogni file viene frammentato in frame fino a 212 byte, con un frame di metadati contenente il nome del file.
DLPwn include un sistema di metriche QoS per valutare la qualità della trasmissione:
Ciò consente l'ottimizzazione dei parametri di trasmissione (baud rate, numero di toni) in base alle condizioni audio.
pip install -r requirements.txt
python main.py encode myfile.bin --output transmission.flac
Riproduci il FLAC su un altoparlante Bluetooth, quindi cattura su un'altra macchina:
python main.py bluetooth --filename capture.flac
Nota: Configurazione Bluetooth (solo Linux)
Il comando bluetooth funziona solo su sistemi Linux che utilizzano PulseAudio o PipeWire per la cattura audio Bluetooth. Affinché il PC venga riconosciuto come cuffia Bluetooth dal dispositivo sorgente:
Installa bluetoothctl se necessario:
sudo apt install bluez-tools
Avvia bluetoothctl e configura il ClassID per simulare una cuffia audio:
bluetoothctl
> power on
> discoverable on
> pairable on
> class 0x240404 # Class for stereo audio headset
> quit
Ciò consente al dispositivo sorgente (telefono, PC) di connettersi al PC come cuffia Bluetooth, abilitando la cattura audio tramite PulseAudio.
Oppure per la cattura in diretta:
python main.py decode --loopback --duration 35 --output recovered.bin
python main.py decode --input capture.flac --output recovered.bin
Per riprodurre, catturare e decodificare in un unico comando:
python main.py stream transmission.flac --output recovered.bin
--baud: Velocità di simboli (predefinito 1500).--m: Numero di toni FSK (2, 4 o 8).--rs-nsym: Byte di parità RS (predefinito 32).--f0, --f1: Frequenze base.Per analizzare un file di trasmissione:
python diagnose.py transmission.flac
In uno scenario Red Team, DLPwn consente:
Attenzione: Utilizzare solo in ambienti autorizzati. La trasmissione audio può essere rilevata da telecamere o microfoni circostanti.