mcpField
O
offensive-bluetooth-classic

offensive-bluetooth-classic

github.com/snailsploitセキュリティ9.7k176 回インストール2 週間前に更新
リポジトリ

offensive-bluetooth-classic について

セキュリティテスター向けのBluetooth Classic攻撃チェックリストです。デバイスの発見、サービス列挙、一般的な露出や脆弱性の確認を扱います。

主な機能

  1. 01デバイスの発見とSDPサービス列挙
  2. 02SPP、HID、オーディオプロファイルの評価
  3. 03KNOBとBlueBorneへの露出確認
  4. 04デバイスのバージョンと検査結果の記録

活用シーン

  1. 01産業機器やIoT機器のBluetoothインターフェース監査
  2. 02旧式機器のペアリングとサービス露出の確認
  3. 03未修正のBluetooth Classic機器のリスク評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/snailsploit/claude-red --skill offensive-bluetooth-classic

インストール後、Claude Code で/offensive-bluetooth-classicを入力して読み込まれたか確認します。

詳細

Bluetooth Classic(BR/EDR)攻撃

BLE より古く、現在では攻撃対象になることは少なくなっていますが、自動車、産業用センサー、オーディオ機器、レガシーな企業向けハードウェアには今も存在します。よく知られた歴史的な攻撃(BlueSnarf、BlueBug)の多くは対策済みですが、未パッチのデバイスに対しては、KNOB と BlueBorne ファミリーが今も有効です。

クイックワークフロー

  1. hcitool / bluetoothctl / redfang でデバイスを検出します
  2. SDP を使って公開されているサービスを列挙します
  3. 各サービスプロファイルについて、認証なしでアクセスできるかテストします
  4. ペアリングの暗号化を確認します(KNOB が適用可能か)
  5. レガシーまたは未パッチのデバイスに対し、近接した物理攻撃を行います

検出

# Modern adapter (built-in or USB Bluetooth 4.0+)
sudo hciconfig hci0 up
sudo hcitool inq                       # inquiry
sudo hcitool scan --length=12          # 12-second scan

# bluetoothctl interactive
bluetoothctl
> scan on
> devices

# Discoverable-mode-only devices appear; non-discoverable need address brute
sudo redfang -r 00:00:00:00:00:00-FF:FF:FF:FF:FF:FF
# (very slow — ~7 hours per OUI prefix)

サービス検出(SDP)

# List all services on a device
sdptool browse AA:BB:CC:DD:EE:FF
sdptool records AA:BB:CC:DD:EE:FF

よく使われるプロファイルと、それぞれの攻撃との関連性は次のとおりです。

プロファイルUUID攻撃
OBEX Object Push(OPP)0x1105レガシーな携帯電話に対する BlueSnarf/BlueBug(ほぼ廃れています)
OBEX File Transfer(FTP)0x1106レガシーデバイスのファイルシステムを閲覧/書き込み
Headset(HSP/HFP)0x1108 / 0x111E通話中の音声を盗聴
Serial Port Profile(SPP)0x1101産業用/IoT のデバッグポート — 認証なしの場合がよくあります
HID0x1124キーボード/マウスになりすます
Audio Sink/Source(A2DP)0x110B / 0x110A音声の注入/盗聴

SPP の悪用

Serial Port Profile(SPP)は、Bluetooth 経由で任意のデータを仮想 COM ポートとしてトンネリングします。産業用/IoT デバイスではデバッグやテレメトリーに使用され、認証がない場合がよくあります。

# Connect to SPP service, channel typically 1
sudo rfcomm bind /dev/rfcomm0 AA:BB:CC:DD:EE:FF 1
sudo screen /dev/rfcomm0 9600
# Then interact with the device's CLI / debug menu

KNOB(CVE-2019-9506)

Bluetooth ペアリングで 1 バイトの暗号化キーがネゴシエートされるように強制し、リンクキーを簡単に総当たりできる状態にします。

# Test with internalblue (requires Broadcom firmware patch)
git clone https://github.com/seemoo-lab/internalblue
internalblue
> log keys
# Patch firmware to allow 1-byte key; pair with target; observe weak key

ほとんどの最新デバイスではファームウェアで対策済みです。次のデバイスには今も有効です。

  • 古い Broadcom ベースのデバイス(2019 年以前の BCM チップセット)
  • 車載組み込み Bluetooth スタック
  • 安価な一般消費者向けオーディオ機器

BlueBorne(CVE-2017-1000251 など)

主要な Bluetooth スタック(Linux BlueZ、Android、Windows、iOS)におけるバッファーオーバーフロー/情報漏えいの脆弱性群です。2017~2018 年にほとんどが修正されましたが、未パッチの組み込み Linux デバイスはよく見られます。

# Armis blueborne-scanner — checks for patch-level
git clone https://github.com/ArmisSecurity/blueborne
python blueborne_scanner.py AA:BB:CC:DD:EE:FF

HID のなりすまし(PoC)

Just Works または脆弱な PIN によるペアリングが成功すれば、HID デバイスとして登録できます。これにより、Bluetooth でペアリング済みの無人ホストにキーストロークを注入できます。

# bdaddr + HID example — register custom HID on rfcomm
hcitool dev
hciconfig hci0 class 0x000540   # HID device class
sdptool add HID
# Use a HID descriptor crafted as keyboard, send keystrokes

音声の盗聴

標的が Bluetooth ヘッドセットをペアリング済みで、現在使用中の場合に、再ペアリング(PIN の総当たりまたは KNOB)ができれば、次のことが可能です。

  • HSP/HFP プロファイルで相手側のデバイスになり、音声を受信できます
  • ファームウェアによっては、同時に複数の相手側デバイスとの接続が可能です — 接続を妨げずに盗聴できます

エンゲージメント用チートシート

# 1. Discover
sudo hcitool inq

# 2. Enumerate services per device
sdptool browse <MAC>

# 3. SPP (industrial/IoT) — connect and explore
sudo rfcomm bind /dev/rfcomm0 <MAC> 1
sudo screen /dev/rfcomm0 9600

# 4. Patch-level scan
python blueborne_scanner.py <MAC>

# 5. KNOB testing (with adapter that supports internalblue)
internalblue → log keys → re-pair target

# 6. Document profiles, auth state, exposed commands per device

検知

  • ほとんどの環境には、Bluetooth Classic 向けのネイティブ IDS がありません
  • アクティブな問い合わせは、近くにある Bluetooth 対応の監視機器から確認できます(まれです)
  • 標的デバイスで再ペアリングのプロンプトが表示されると、ユーザーに気付かれる場合があります

報告

  • デバイスごとにチップセットとファームウェアのバージョンを特定します(多くの場合、サービス記録で確認できます)
  • CVE の該当性を確認します(BlueBorne、KNOB、BlueFrag など)
  • 具体的なプロファイルの悪用を記録します(認証なしで公開されている SPP、HID のなりすましに成功した事例など)

主な参考資料

コメント