WiresharkでのGSMネットワークトラフィックの分析



2番目の記事は、WiresharkでGSMトラフィックを操作することに専念します。 練習の機会を増やしたい場合は、 最初に読むことをお勧めします。

動作するには、GSM周波数で信号を受信できるosmocom-bb互換の電話が必要です。ロシアでは900 MHzおよび1800 MHzで、 Wiresharkスニファーがインストールされたコンピューターが必要です。


サイクル記事:

自宅でGSMネットワークを起動する
WiresharkでのGSMネットワークトラフィックの分析
GPRSをホームGSMネットワークに追加します
GSMネットワーク内の攻撃の実例

GSMTAP


Wiresharkの最新バージョンでGSMプロトコルを正しく表示するには、追加のディセクタをインストールする必要はありません。

LAPDプロトコルに設定する必要があるのは、Use GSM SAPI値のみです。



GSMプロトコルは、Umインターフェースを介して送信される場合はGSMTAPヘッダー付きのUDPパケットでカプセル化され、A-bisインターフェースをトレースする場合はOML、RSLヘッダー付きのTCPパケットでカプセル化されます。



Wiresharkを実行してループバックインターフェイスをリッスンし、フィルターを設定してGSM Umトラフィックのみを表示します。

wireshark -k -f udp -Y gsmtap -i lo 

WiresharkのGSMTAPトラフィックを生成できるアプリケーションは通常、次のように動作します。

  1. 無線インターフェース経由でUmフレームを取得
  2. GSMTAPヘッダーを追加
  3. これはすべて、UDPパケットで指定されたIPアドレスに送信されます(この場合、ループバック)

GSMTAPフィルターに加えて、gsm_smsなどのgsmで始まる他のフィルターを使用して、トラフィック内のSMSメッセージを検索できます。 ただし、GSMTAPフィルターを使用すると、他のすべてのヘッダーがGSMTAPに埋め込まれているため、すべてのGSM Umトラフィックを表示できます。



トラフィックキャプチャ


GSMトラフィックを調べるには、まず何らかの方法で記録する必要があります。 SDRデバイスを受信機として使用すると、Kc-セッション暗号化キーを知らない限り、パブリックCCCHチャネルで送信されたデータを調べることができます。

ただし、SIMカードとモバイルアプリケーションを備えた電話機であるOsmocomBBを使用する場合、Kc暗号化キーを知っているので、すべてのトラフィックをクリアで表示し、WiresharkのUmインターフェイス(無線インターフェイス)を介して送信し、実際の携帯電話ネットワークの仕組みを学習できます。

前の記事で示したように、2つのOsmocomBB互換の電話に基づいてGSMネットワークを起動した場合、GSMTAPパケットをOsmoBTSからWiresharkに転送して、ネットワークを調べることができます。

SDRトランシーバーを使用してトラフィックのキャプチャを練習する場合は、 gr-gsmユーティリティパッケージに慣れることをお勧めします。

予算オプションは、 RTL-SDRレシーバーを購入することです。



700ルーブルでこのように安い中国の受信機を購入することはお勧めしません。

個人的に、彼は私のために不安定に働き、1週間後に完全に停止しました。 RTL-SDRフォーラムでは、人々は同様の問題を抱えています。 したがって、これは孤立したケースではありません。

実際、RTL-SDR互換デバイスで通常使用されるrtl2832uおよびr820t2チップは、動作中に非常に熱くなり、安価なレシーバーでは冷却が行われません。 第二に、静電気に対する保護がなく、不注意な取り扱いでレシーバーを簡単に焼くことができます。 他にも問題があります。

そのため、アルミケース入りの最新バージョンの公式RTL-SDRレシーバーを購入することをお勧めします。 費用はわずか1,500ルーブルですが、キットには2つのアンテナ、受動冷却、静電気保護、安定した動作、改善されたフィルタリングなどが含まれています。 ご存じのように、「Avariciousは2回支払います」。

トラフィック分析


ここではgr-gsmとRTL-SDRの使用を検討しないため、Osmocomに直行します。

OsmocomのGSMプロトコルスタックのオープンソース実装を使用して、任意の商用GSMネットワークで作業できます。 つまり、Calypsoベースの電話をコンピューターに接続し、OsmocomBBパッケージからアプリケーションを起動し、電話をかけ、SMSを送信し、通常の2G電話でできることをすべて実行できるほか、現在の通信セッションに関する技術情報にアクセスできます。

これに必要なアプリケーションはモバイルと呼ばれ、src / host / layer23 / src / mobileにあります

全員が既にコンピューターでOsmocomBBをコンパイルしていることを願っています。 このプロセスは、 以前の記事このシリーズで説明されています

モバイルはコンピューター側で実行されるアプリケーションですが、 携帯電話にレイヤー1ファームウェアもダウンロードする必要があります

基本フォームでは、次のものが必要です。

  1. 電話機をUSB-TTLコンバーター経​​由でコンピューターに接続します
  2. デバイス/ dev / ttyUSBxが表示されていることを確認し、osmoconを介して電話にlayer1ファームウェアをロードします。
  3. Wiresharkでこのインターフェイスをリッスンできるように、モバイルを起動し、GSMTAPを送信するためのインターフェイスを指定します。

ファームウェアを電話にダウンロードする方法については、以前の記事ですでに書きました。 モバイルを開始するには、アプリケーションのあるディレクトリに移動し、次のコマンドを実行します

 ./mobile -i 127.0.0.1 

最初の起動時に、構成ファイルが存在しないというメッセージが表示されます。 エラーメッセージに示されているディレクトリに空にして作成します。 (私は/root/.osmocom/bbを持っています)。

すべてを正しく行った場合、コンソールにモバイル作業のログが表示されます。



これで、モバイル端末に接続して、このように電話を制御できます

 telnet localhost 4247 

直感的なCiscoライクなVTYインターフェイスが表示されます。 ヘルプコマンド、自動補完にはTAB、SHIFT +?



show ms、show subscriber、show ba、およびshow cellコマンドは、現在の接続に関する情報を取得するのに役立ちます。 特権モードに切り替えるには、enableおよびを使用して、書き込みファイルに変更を書き込みます。

Wiresharkはすでに起動されており、リストにGSMTAPパケットが表示されます。 電話機がスタンバイモードで、誰もSMSを送信していないか、呼び出しを行っていない間、出力は制御チャネルからのオープントラフィックで構成されます。



個人番号から携帯電話にSMSを送信したり、VTYインターフェイスを介して自分にSMSを送信したりできます。 次に、gsm_smsフィルターでWiresharkのトラフィックを見ると、表示されます。



さまざまな種類のGSMトラフィックをキャプチャする他のユーティリティがあります。ここでそれらを見つけることができますsrc / host / layer23 / src / misc

特に、cell_logを使用すると、周囲にあるベースステーションを特定し、GSMTAPパケットをWiresharkに送信できます。

osmocombbブランチsylvain / burst_indの修正版を使用すると、ccch_scanを使用すると、SMSなどのCCCHチャネルでメッセージを聞くことができます。これにより、暗号化キーKcを設定できます。

ただし、この場合、非標準速度で動作するにはUSB-TTLコンバーターをフラッシュする必要があります。

音声通話のキャプチャに関しては、実際のオペレーターは異なる周波数でバーストを「拡散」する周波数ホッピングを使用でき、電話周波数の変化を追跡するか、セルの可能なすべてのTCH周波数ですべてのトラフィックを記録する必要があるため、ここではすべてがより複雑になります、物理的な制限により受信機が実行できない場合があります。

独自のネットワークを調査している場合、周波数ホッピングは必要ありませんが、Osmocomはosmocombb互換の電話を使用して音声通話をスニッフィングするユーティリティを提供していません。

ただし、gr-gsmパッケージのgrgsm_decodeユーティリティは、受信者がSDRトラフィックとgrgsm_captureをキャプチャするときに音声をデコードできます。

A-bisインターフェイストラフィック分析


A-bisは、BTSとBSC間のメッセージングインターフェイスです。 この種の商用ネットワークトラフィックの調査にはアクセスできません。 しかし、あなたはあなた自身のGSMネットワークを使用してそのようなことを学ぶことができます。

RSLメッセージを表示するには、ループバックインターフェイスのリッスンを開始する必要があります(ここではUDPではなくTCPが使用されていることに注意してください)。次のようなメッセージが表示されます。

RSLの場合、gsm_abis_rslフィルターを使用できます。



OMLの場合。 gsm_abis_omlフィルターまたはポート3002および3003によるフィルターを使用できます。



同時に、SMSメッセージはRmパケットに埋め込まれ、Umインターフェイスを介した送信の場合のように、GSMTAPには埋め込まれません。



それだけです 次回は、GPRSサポートをホームネットワークに追加することについて説明します。

UPD:基地局を作成し、モバイルトラフィックを分析する実際的な例について、私のレポートの「GSMプロトコルスタックの実装」で、 Pentestit Security Conferenceで(スタンドで)教えて表示することを思い出します。

Source: https://habr.com/ru/post/J332778/


All Articles