
Herramienta de Red Team para la exfiltración encubierta de archivos mediante transmisión de audio Bluetooth, codificando datos binarios en señales FLAC para evadir sistemas de seguridad EDR, XDR y DLP.
Prevención de Fugas de Datos a través de Altavoz Bluetooth
DLPwn es una herramienta de Red Team diseñada para la exfiltración de archivos, evitando sistemas de seguridad como EDR (Detección y Respuesta en Puntos Finales), XDR (Detección y Respuesta Extendida), DLP (Prevención de Pérdida de Datos) y, en general, cualquier sistema de información con aislamiento de red. Utiliza la transmisión de audio por Bluetooth para codificar archivos arbitrarios en señales de audio FLAC, transmitirlos y decodificarlos en el otro extremo, aprovechando que los controles de seguridad en el audio suelen ser menos estrictos que los de redes o archivos.
DLPwn opera en tres pasos principales:
Este enfoque permite exfiltrar datos sensibles sin activar alertas de sistemas de seguridad que monitorean conexiones de red, escrituras en disco o procesos sospechosos.
DLPwn utiliza un protocolo de transmisión de audio basado en:
Cada archivo se fragmenta en tramas de hasta 212 bytes, con una trama de metadatos que contiene el nombre del archivo.
DLPwn incluye un sistema de métricas QoS para evaluar la calidad de la transmisión:
Esto permite optimizar los parámetros de transmisión (tasa de baudios, número de tonos) según las condiciones del audio.
pip install -r requirements.txt
python main.py encode myfile.bin --output transmission.flac
Reproduce el FLAC en un altavoz Bluetooth y luego captura en otra máquina:
python main.py bluetooth --filename capture.flac
Nota: Configuración de Bluetooth (solo Linux)
El comando bluetooth solo funciona en sistemas Linux con PulseAudio o PipeWire para capturar audio Bluetooth. Para que el PC sea reconocido como auricular Bluetooth por el dispositivo fuente:
Instala bluetoothctl si es necesario:
sudo apt install bluez-tools
Ejecuta bluetoothctl y configura el ClassID para simular un auricular de audio:
bluetoothctl
> power on
> discoverable on
> pairable on
> class 0x240404 # Clase para auricular estéreo
> quit
Esto permite que el dispositivo fuente (teléfono, PC) se conecte al PC como un auricular Bluetooth, habilitando la captura de audio a través de PulseAudio.
O para captura en vivo:
python main.py decode --loopback --duration 35 --output recovered.bin
python main.py decode --input capture.flac --output recovered.bin
Para reproducir, capturar y decodificar en un solo comando:
python main.py stream transmission.flac --output recovered.bin
--baud: Tasa de símbolos (por defecto 1500).--m: Número de tonos FSK (2, 4 u 8).--rs-nsym: Bytes de paridad RS (por defecto 32).--f0, --f1: Frecuencias base.Para analizar un archivo de transmisión:
python diagnose.py transmission.flac
En un escenario de Red Team, DLPwn permite:
Advertencia: Úsalo solo en entornos autorizados. La transmisión de audio puede ser detectada por cámaras o micrófonos cercanos.