Pentesting BLE - Bluetooth Low Energy
はじめに
Bluetooth 4.0仕様から利用可能なBLEは、2400から2483.5 MHzの範囲をカバーする40チャンネルのみを使用します。これに対して、従来のBluetoothは同じ範囲で79チャンネルを使用します。
BLEデバイスが通信する方法は、広告パケット(ビーコン)を送信することです。これらのパケットはBLEデバイスの存在を他の近くのデバイスにブロードキャストします。これらのビーコンは時々データを送信することもあります。
リスニングデバイス、またはセントラルデバイスとも呼ばれるデバイスは、広告パケットにスキャンリクエストを送信して特定の広告デバイスに応答することができます。そのスキャンへの応答は、初期の広告リクエストに収まらなかった追加情報を含む同じ構造を使用します。これには、フルデバイス名などが含まれます。
プリアンブルバイトは周波数を同期させ、4バイトのアクセスアドレスは、同じチャンネルで接続を確立しようとする複数のデバイスがあるシナリオで使用される接続識別子です。次に、プロトコルデータユニット(PDU)には広告データが含まれます。いくつかの種類のPDUがありますが、最も一般的に使用されるのはADV_NONCONN_INDとADV_INDです。デバイスは、接続を受け入れない場合はADV_NONCONN_IND PDUタイプを使用し、データを広告パケットでのみ送信します。デバイスは、接続を許可し、接続が確立されると広告パケットの送信を停止する場合はADV_INDを使用します。
GATT
Generic Attribute Profile(GATT)は、デバイスがデータをどのようにフォーマットして転送するかを定義します。BLEデバイスの攻撃対象を分析する際には、GATT(またはGATTs)に注意を集中することが多いです。なぜなら、これがデバイス機能がトリガーされる方法やデータが格納、グループ化、変更される方法だからです。GATTは、デバイスの特性、記述子、およびサービスを16ビットまたは32ビットの値として表にリストアップします。特性は、セントラルデバイスとペリフェラル間で送信されるデータ値です。これらの特性には、それに関する追加情報を提供する****記述子が付属していることがよくあります。特性は、特定のアクションを実行する関連する場合は、サービスにグループ化されることがよくあります。
列挙
GATTool
GATToolは、他のデバイスとの接続を確立し、そのデバイスの特性をリストアップし、その属性を読み書きすることができます。
GATTToolは、-I
オプションを使用して対話型シェルを起動できます。
Bettercap
ベターキャップ
Last updated