SMS経由ルート奪取 4Gアクセスレベルの セキュリティアセスメント 自己紹介 Sergey Gordeychik(セルゲイ・ゴルデイチク) @phdays アーキテクト @scadasl 所長 Alex Zaitsev (アレクサンダー・ザイツェフ) @arbitrarycode 研究実施者 @phdays スタッフ サポートスタッフ Alexey @Gi=sUngiven Osipov Kirill @k_v_nesterov Nesterov Dmity @_Dmit Sklarov Timur @a66at Yunusov Dmitry Kurbatov Sergey Puzankov Pavel Novikov h"p://scadasl.org 3G/4Gネットワーク 悪 4G アクセスレベル ブランド化されたモバイル機器のセキュリティチェック 3G/4G USB モデム ルーター / ワイヤレスアクセスポイント スマートフォン/フェムトセル/ブランド化されたアプリケーション (U)SIM カード 無線/IP アクセスネットワーク 無線アクセスネットワーク IP アクセス (GGSN, Routers, GRX) 関連するインフラ 付帯サービス/VAS (TV, ゲーム, その他) なぜ研究したのか? なぜ研究したのか? 毎日使うものだから インターネット ソーシャルネットワーク ハッキング対象として IT で毎日利用される ATM IoT SCADA 高速鉄道の連携システム C omputer B as ed Interlocking R BC R BC MMI G S M‐R F ixed E urobalis e to peripherals : s ignals , point machines , etc. Plain Line 線路 Data GSM-R ETCS Onboard G S M‐R F ixed E urobalis e Station 駅 Onboard オンボード hOp://en.wikipedia.org/wiki/European_Rail_Traffic_Management_System GSM‐R C omputer B as ed Interlocking R BC R BC MMI GSM-R F ixed E urobalis e to peripherals : s ignals , point machines , etc. Plain Line 線路 Data GSM-R ETCS Onboard GSM-R F ixed E urobalis e Station 駅 Onboard オンボード 無線アクセスネットワーク • コミュニティによって研究されている – hOp://security.osmocom.org/trac/ • 感謝 – Sylvain Munaut/Alexander Chemeris/Karsten Nohl/et. al. hOp://security.osmocom.org/trac/ bingo! そんなに高速ではない RBC-RBC Safe Communication Interface Subset-098 EN 50159:2010 VPN over GSM … やらなければ! ネットワーク ネットワーク ありがとう、ジョン・マザリー! hOp://www.shodanhq.com/ デバイス ネットワーク GPRS トンネルプロトコル GPRS通信のサブセットプロトコル SGSN <‐> GGSN シグナル (PDP コンテキスト, QoS, etc) IP トンネリング ローミング (GRX) 課金データ交換 GTP‐C UDP/2123 GTP‐U UDP/2152 GTP' TCP/UDP/3386 hOp://en.wikipedia.org/wiki/GPRS_Tunnelling_Protocol インターネットのすべてをスキャンしよう! GTP‐エコーレスポンス 207401 応答なしの PDP コンテキストリクエスト GPRS トンネルプロトコル 199544 U r welcome 548 管理ポート DNS (.gprs .3gppnetwork.org) Brazil China India Colombia USA Japan Malaysia Kuwait Germany UAE 228 162 34 14 13 13 10 9 9 7 何をする? 攻撃 GGSN PWN GPRS への攻撃 DoS 情報漏えい 詐欺 APN の推測 事例: GTP “SYNフラッド” hOp://blog.ptsecurity.com/2013/09/inside‐mobile‐internet‐security.html hOp://bit.ly/195ZYMR 我々は悪人ではない! 内側にいる 攻撃されないために 古いIP traces 1.1.1.1/10.1.1.1 IP ソースルーティング 管理ポート 新しい IP IPv6 MPTCP (GTP, SCTP M3UA, DIAMETER etc) 電話事業者独自仕様 hOp://ubm.io/11K3yLT hOps://www.thc.org/thc‐ipv6/ ほら、虎がいるよ! DNS 多くの場合内部の DNS サーバがある 時には会社のFQDN とアドレス空間で使用される ブルートフォース/ゾーン転送や情報漏えい .gprs .3gppnetwork.org APIPA IPアドレスの再利用 local.COMPANY.com は10.X.X.Xの Aレコードを持つ 攻撃者は同じアドレスでlocal.COMPANY.comのリンクを公開 10.Хネットワークの被害者がクッキーを攻撃者に転送 hOp://lab.onsec.ru/2013/07/insecure‐dns‐records‐in‐top‐web‐projects.html 1990年代 残高不足 好きなUDP VPNに接続 要約 通信事業者向け インターネットをスキャンしてください! 加入者のネットワークはあなたのネットワークではない 調査する人向け ステータスをチェック すべての加入者をチェック オンライン/ブロック/ローミング APN’s, 加入者のプラン 他の加入者をハックしない hOp://www.slideshare.net/phdays/how‐to‐hack‐a‐telecommunicamon‐company‐and‐stay‐alive‐gordeychik/32 デバイス ミスターUSB-モデムは 再生されたハードウェアプラットフォーム オンボードのLinux/Android/BusyBox 多機能 ストレージ CWID USB SCSI CD-ROM USB Device MMC ストレージ USB デバイス (MicroSDカードリーダー) Local 管理 COM-Port (UI, AT commands) ネットワーク リモート NDIS ベースのインターネット共有デバイス WiFi ∼この動物は非常に邪悪である∼ よく研究されている «アンロック» «ファームウェアのカスタマイズ» «ダッシュボードのカスタマイズ» 研究事例 http://threatpost.com/using-usb-modems-to-phish-and-send-malicious-sms-messages http://www.slideshare.net/RahulSasi2/fuzzing-usb-modems-rahusasi http://2014.phdays.com/program/business/37688/ https://media.blackhat.com/eu-13/briefings/Tarakanov/bh-eu-13-from-china-with-lovetarakanov-slides.pdf ∼攻撃されたら自分で守る∼ 開発者の回答 デバイス «の強化» ローカルインターフェースの無効化 (COM) ウェブベースのダッシュボード 識別 識別 文書(マニュアル) ググる 突く 再度ググる 内部情報 動作モデル ブロードバンド接続 DHCP サーバー DNS ウェブダッシュボード ルーティング/NAT 新しいイーサネットアダプタ DHCP クライアント スキャンしてみよう ラッキーなら… …でもダメかも 必要なのは RCE 愛 ! telnet/snmp? 内部インターフェースのみ ブラウザによってブロック http/UPNP? ブラウザを介して攻撃 (CSRF) ブロードバンド ? web – 些細なこと CSRF 不十分な認証 XSS 基本的なインパクト 情報漏えい 設定変更 DNS (トラフィックの傍受) SMS センター (SMSの傍受) 操作 (Set/Get) SMS 連絡先 USSD WiFi ネットワーク さらなるインパクト 自身のサービスポータルへのアクセス XSS (SMS) でブラウザを “pwn” CSRF で “パスワードリセット”の USSDを送る XSS でパスワードを攻撃者に送る “文鎮化” PIN/PUK“ブルートフォース” 誤った IP 設定 デモ 力が必要だ! “隠し”ファームウェアアップデート イケてる, でも… ファームウェアの取得が必要 時には幸運がある… …ダメなときも 一貫性のコントロール 少なくともやらなければ… 深堀り… 直接のシェルの呼び出し awk で Content-Lengthの計算 その他些細な RCE シェルの取得 “ツール”の発見 力を手に入れた しかしどうだろう? イケてる, でも… ファームウェアを取得? もっとバグが必要? 足りない… SMS受信, USSD送信? ナイスだけど… CSRF/XSS経由で可能… 加入者をPWN ? PWN ‐ PWN Profit!111 たまにラッキーなら… 詳細 ダッシュボードでローカルホストにウェブサーバをインストール ホストの調査 (ipconfig, traces…) Windows “シェル” スクリプトベース! とても “セキュア”! USBモデムのウェブサーバとやりとり オリジンを気にする必要がない (XSS不要) 非常に特殊なケース USBで! (bad)USBで! hOps://srlabs.de/blog/wp‐content/uploads/2014/07/SRLabs‐BadUSB‐BlackHat‐v1.pdf USB ガジェット & Linux • drivers/usb/gadget/* • コンポジットフレームワーク – 多機能ガジェットを許可する – composite.c で実装 Android ガジェットドライバー • android.c で実装 • コンポジットドライバーはいくつかのUIでラップさ れいてる • /sys/class/android_usb/android0 – enabled – funcmons – Class/Protocol/SubClass etc. – サポートされている関数のリスト • あなたの電話はマスストレージの代わりに audio_source にすることができる HID デバイスについて? • カーネルパッチ、コンパイル、新しいカーネル に差し替え => 退屈だ!!! HID デバイスとは? • Android ガジェットドライバーは supported_funcmons で動作する • ランタイムでパッチできる! – 新しいhidファンクションをsupported_funcmons に 追加する – デバイスの再起動 – … – PROFIT 悲しいLinux • デフォルトカーネルではg_hidはサポートされていな い • 異なるバージョンのユニバーサルHIDドライバーは 作ることが難しい – vermagic – prototypes/structures ファンクションは変化してし まう – 異なる CPU • ベンダーは趣味でやっている – カーネルの予期しな い場所を書き換える • ハックする前に指紋認証デバイス デモ 要約 通信事業者向け すべての 3/4G モデム/ルータは我々のもの 5/\>< みなさん向け コンピュータに USB をつながないでください たとえそれが ネットワークプリンタ 4Gモデムであっても チップ SIMとは: ハッカー向け ― マイクロコントローラー • 独自OS • 独自ファイルシステム • アプリケーションプラットフォームと API ― 別の電話で使う (しかもアップグレードをしたもの) ― 独立したOSの中で , セキュリティを無効にできる • ベースバンドへのアクセス • iOS サンドボックスのバイパス Karsten が何を教えてくれたのか? すべてのTAR が同等にセキュアというわ けではない ラッキーならブルートフォースで何かが見 つかる もっとラッキーなら鍵をクラックすることが できる またはいくつかのTARは暗号無しのコマ ンドが受け付けられるかもしれない hOps://srlabs.de/roomng‐sim‐cards/ 鍵の取得 レインボーテーブルを使うか古いDESク ラッキングをするか ブルートフォースを選んだ 既存のソリューションは遅すぎた なぜ新しいものを構築しないのか? 鍵の取得 なぜ新しいものを構築しないのか? ビットコイン採掘ビジネスが 結果的に市場に手頃なFPGAをもたらし た そう… リグ 我々が作ったもの– 試作機 #1 リグ 我々が作ったもの– 試作機 #2 リグ 我々が作ったもの– 最終版 リグ スペック表: Hardware Speed (Mcrypt/sec) Intel CPU (Core i7-2600K) Radeon GPU (R290X) Single chip (xs6slx150-2) ZTEX 1.15y Our rig (8*ZTEX 1.15y) Time for DES (days) Time for 3DES (part of key is known, days) 475 1755,8 (~5 years) 5267,4 3`000 278 834 7`680 108,6 325,8 30`720 27,2 81,6 245`760 3,4 10,2 + descrypt bruteforcer ‐ hOps://twiOer.com/Gi=sUngiven/status/492243408120213505 今後の課題? 鍵を入手するか入手する必要がないか、 次は? TARが受け付けられるランダムなコマンド を送る 定義済みの知られたコマンドをTARに送 る 今後の課題? TARが受け付けられるランダムなコマン ドを送る 多くの編集から推測する: CLA INS P1 P2 P3 PROC DATA SW1 SW2 よいマニュアルかインテリジェントなファジ ングが必要 または何もできない羽目に: 何を送受信 しているか分からない 今後の課題? 定義済みの知られたコマンドを TARに送 る カードマネージャー (TAR 00 00 00) ファイルシステム (TARs B0 00 00 - B0 FF FF) … 今後の課題? カードマネージャー (TAR 00 00 00) 困難な調査 アプレットをインストール、ロードしてJCVMに 取り掛かる 技術詳細が不十分 成功したPOCが公開されていない しかしSIMカードにはセキュリティのチェックな しにアプリケーションをインストールできる!!! しかしだれかがそれをやっているのは確か… 今後の課題? ファイルシステム (B0 00 00 - B0 FF FF) 興味深い記録: TMSI, Kc たぶんCHV1=たぶんCHV1で保護されて いる 今後の課題? ファイルシステム (TAR B0 00 00 - B0 FF FF) シンプルで充分に文書化された APDU コ マンド (SELECT, GET RESPONSE, READ BINARY, etc.) それぞれアクセス条件を持つ(READ, UPDATE, ACTIVATE, DEACTIVATE | CHV1, CHV2, ADM) 攻撃? カードリーダーから APDU を送るのは つまらない それを無線でやってみよう! バイナリ SMSでファイルシステムへの アクセスAPDUをラップ osmocom, いくつかのgsm モデム や SMSC ゲートウェイで可能 攻撃? バイナリの SMS はフィルタされている いくつかの可能性はある: イントラネット-network インターネットInter-network SMSゲート 偽の BTS/フェムトセル 攻撃? 待て! アクセス条件は何? 読みだすにはPINが必要 多くの場合 PIN は0000にセットされ、 変更されていない それ以外はブルートフォースが必要 攻撃? PIN ブルートフォース わずか 3 回の試みでブロックされる 成功率を上げるためには攻撃対象に対して 十分に調査する必要がある 少しの可能性しかない… 攻撃? 副産物攻撃 – 加入者への DoS 誤った PIN を3回入力 PIN はロック, PUK(CHV2)が要求される 誤った PUK を10回入力 PUK がロックされる 加入者は GSMネットワークからロックされる SIM カードの交換が必要 攻撃? 盗聴にはARFCNを理解する必要がある 異なる方法… CCCH上のページングの応答をキャッチする もっともわかりやすい方法である コード化されなければならない – 行う! すべてがosmocom-bb上に構築することができ た… 攻撃? 十分に幸運ならば OTAキーを持っている必要はない PIN も必要ない 必要なのは2つの基本的なファイルの読み取り MF/DF/EF/Kc と MF/DF/EF/loci SIMTracerで見る! 攻撃? 十分に幸運ならば TMSI と Kc でもうKrakenに依存する必要は なくなった SDRの選択を含めたGSM トラフィックの収集か osmocom-bb phoneを使う 取得したKcを使って復号 取得した TMSI & Kc を利用してクローンを作成 ボーナス: A5/3 フレンドリー! Profit! デモ そう? トラフィックの復号はたった2つのバイナリメッセー ジで可能 DoS は 13の binary メッセージを受け取り、 SMSゲートを通じて行われる 価値のあるSMS-パッケージ.. 契約をする USSDもある… “何ができる?” PINの変更, たぶん… SIMTesterの実行! PSTN FTWを使用する:( 伝書鳩で送る? Resume 通信事業者向け すべてのSIMのチェック SIM/アプリ/セキュリティの教育(業者を含めて) みなさん向け 祈る Thanks!
© Copyright 2024 ExpyDoc