
Red Team向けのツール。Bluetooth音声伝送を介した隠蔽ファイル流出を行い、バイナリデータをFLAC信号にエンコードすることでEDR、XDR、DLPセキュリティシステムをバイパスします。
Bluetoothスピーカーによるデータ漏洩防止(Data Leak Prevention via Bluetooth Speaker)
DLPwnは、EDR(Endpoint Detection and Response)、XDR(Extended Detection and Response)、DLP(Data Loss Prevention)、そしてより広義にはエアギャップ化された情報システムなどのセキュリティシステムをバイパスするためのファイル外部漏洩を目的としたRed Teamツールです。Bluetoothオーディオ伝送を使用して、任意のファイルをFLACオーディオ信号にエンコードし、送信し、受信側でデコードします。これは、オーディオに対するセキュリティ制御が、ネットワークやファイルに対するものよりも緩いことが多いという事実を利用しています。
DLPwnは以下の3つの主要なステップで動作します。
このアプローチにより、ネットワーク接続、ディスク書き込み、または疑わしいプロセスを監視するセキュリティシステムからのアラートを発生させることなく、機密データの外部漏洩が可能になります。
DLPwnは以下の要素に基づくオーディオ伝送プロトコルを使用します。
各ファイルは最大212バイトのフレームに分割され、ファイル名を含むメタデータフレームが付加されます。
DLPwnには、伝送品質を評価するためのQoSメトリクスシステムが含まれています。
これにより、オーディオ環境に応じて伝送パラメータ(ボーレート、トーン数)を最適化できます。
pip install -r requirements.txt
python main.py encode myfile.bin --output transmission.flac
FLACをBluetoothスピーカーで再生し、別のマシンでキャプチャします。
python main.py bluetooth --filename capture.flac
注意: Bluetooth設定(Linuxのみ)
bluetoothコマンドは、PulseAudioまたはPipeWireを使用してBluetoothオーディオをキャプチャするLinuxシステムでのみ機能します。PCを送信元デバイスからBluetoothヘッドセットとして認識させるには:
必要に応じてbluetoothctlをインストール:
sudo apt install bluez-tools
bluetoothctlを起動し、ClassIDをオーディオヘッドセットに設定:
bluetoothctl
> power on
> discoverable on
> pairable on
> class 0x240404 # ステレオオーディオヘッドセット用クラス
> quit
これにより、送信元デバイス(スマートフォン、PC)がPCにBluetoothヘッドセットとして接続し、PulseAudio経由でオーディオキャプチャが可能になります。
または、ライブキャプチャ:
python main.py decode --loopback --duration 35 --output recovered.bin
python main.py decode --input capture.flac --output recovered.bin
再生、キャプチャ、デコードを1つのコマンドで実行:
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
Red Teamシナリオにおいて、DLPwnは以下を可能にします。
警告: 認可された環境でのみ使用してください。オーディオ伝送は、周囲のカメラやマイクによって検出される可能性があります。