[CODE BLUE 2018] Captive Portalを使用したRCE [レポート] #codeblue_jp

CODE BLUE 2018「Captive Portalを使用したRCE」についての参加レポートです。
2018.11.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、臼田です。

『世界トップクラスのセキュリティ専門家による日本発の情報セキュリティ国際会議』でありますCODE BLUE 2018に参加していますのでレポートします。

このブログは下記セッションについてのレポートです。

Captive Portalを使用したRCE ヨンタオ・ワン ユンフェイ・ヤン クンゼ・チャイ

現在、ワイヤレスネットワークはほとんどの企業にとって重要なインフラになりつつあり、多くの従業員がモバイルデバイスを使用して仕事をすることも可能である。しかし、ワイヤレスネットワークへの依存は多くのセキュリティリスクを引き起こす可能性がある。我々は最近の調査でWindowsデバイスへの新しい攻略方法を発見した。

この講演では、ワイヤレスネットワーク上のCaptive Portalの機能とWindowsの一連の脆弱性を利用してリモートコード実行へと至る、複数の攻撃の組み合わせを紹介する。【訳注:Captive PortalとはWi-Fi接続時にWi-Fi使用のための認証ページを強制的に表示させる機能である。】まず、攻撃用のCaptive Portalサービスを持つホットスポットを立ち上げる。被害者がホットスポットにアクティブまたはパッシブに接続しCaptive Portalを検出すると、被害者のNTLM資格情報が中継されてExchange Webサービスへと伝わる。そこで、EWSのAPIとOutlookクライアントの脆弱性を使用することで、攻撃者はリモートコード実行を実現可能である。

利点: - 認証情報のクラックが不要 - 同時に複数の対象を攻撃可能 - 偽のAPとCaptive Portalの機能を利用することで秘密裏に攻撃できる

レポート

  • RCEはリモートコードエグゼキューション
  • Captive Portalとは
    • ゲスト等のWiFiに接続した際に出てくる認証のWebページのこと
    • 空港やホテルなどでよく使われている
    • HTTPかDNSのリダイレクトで実装されている
  • スターバックスのCaptive Portalではメールアドレスなどを入力して同意する
  • 大体が軽い情報を収集する
  • どのように動くのか
    • HTTP204が返ってくる
    • AndroidやiOS、Windows,Macなど各OSではCaptive Portalを検知するリクエストを自動的に投げている
  • Bad Captive Portalの作り方
    • デバイスとHostapd + Dnsmasq
    • デバイスはAPモードで利用できるもの
    • iptablesでリダイレクトを実装する
    • HTTP Serverで自由なWebページを作成
    • 自分のデバイスをつないで動作を見ることができる
  • Microsoft Exchange Server
    • メールサーバでありカレンダーサーバ
    • MFAで防御されているが、一部例外もある
    • Exchange Web Service(EWS)
      • EWSはデフォルト有効化
      • NTLMも有効化
    • NTLM認証
      • NTLM Relay Attack
      • 中間者攻撃により可能
    • NTLM relayからEWSへアクセスしてRCEを行う
  • Outlook Home Page
    • カスタムURLを設定することが可能
    • ieflame.dllを利用する
    • ActiveXコントロールがすでにある
    • CreateObjectを利用できる
  • RCE with Captive Portal
    • Evil Captive Portal
    • NTLM relay
    • Outlook Home Page
    • RCE
  • デモ
    • WiFiに接続するとCaptive Portalが上がって
    • そのまま電卓が起動
  • Defence
    • Open WiFiへつなぐことは禁止する
    • グループポリシーを設定する

感想

Captive Portalに対する機能は各OSで実装されているため、この画面を利用しないような運用はなかなか難しいと思います。

信用できないネットワークを利用しても問題ないようなゼロトラスト等の考え方や、公衆WiFiを利用しないようなポリシー(モバイルルーターを活用する等)が必用だと感じました。