pulse-secure-vpn-mitm-research
Pulse Secure MITM 研究
リリース日
ベンダーとの共同リリース日: 2020年10月26日
著者
David Kierznowski, @withdk
クレジット
- 開示プロセス全体を通じて支援してくれた Pulse Secure PSIRT チームの Sahil Mahajan 氏。
- 記事「Red Teamer's Guide to Pulse Secure SSL VPN」を執筆した Alyssa Herrera、Justin Wagner、Mimir、Rich Warren 各氏 - Alyssa Herrera (2019年9月4日)
- 継続的な支援と励ましをくれた SA Red Team。
CVE リファレンス
- CVE-2020-8241 (8.1 高 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
- CVE-2020-8239 (5.9 中 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N)
サンプル

同じネットワークに接続された Pulse Client から rogue-pulse-svr.py がリバース meterpreter シェルを取得する様子を示す概念実証 (PoC)。
はじめに
Pulse Connect Secure (PCS) は、企業で広く使用されている VPN ソリューションです。本稿執筆時点で、PCS は 2,000 万以上のエンドポイントをサポートしています (Pulse Secure, n.d.)。この研究は、Windows 10 の PCS エンドポイントと PCS ゲートウェイの間に確立されるネットワーク通信チャネルの機密性と完全性のレビューに焦点を当てています。特に、「エンドポイントが信頼できないネットワークに接続されている場合、どの程度安全なのか?」という問いを投げかけます。この研究は、デフォルト構成と「Always-On」構成の両方に適用されます。
影響度 (中 - 高)
連鎖させると、信頼できないネットワークから完全な SYSTEM 権限でリモートコード実行を取得することが可能です。あるいは、内部関係者による脅威が CVE-2020-8241 を単独の脆弱性として使用し、権限を昇格させることもできます。
発生可能性 (低 - 中)
これらの攻撃はさまざまな状況で使用される可能性がありますが、標的型攻撃に最も適しています。このことと以下の前提条件に基づき、発生可能性は低〜中です。
想定される攻撃
以下の攻撃は、概念実証 (PoC) ツール「rogue-pulse」で実証されています:
- ユーザー認証情報の窃取。不正サーバーがユーザーを誘導し、ログイン認証情報を漏えいさせることができます。
- Microsoft Windows の UNC パスからのバイナリ実行。PCS サーバーは、認証後に実行可能ファイルを起動するオプションをサポートしています。これは、ログオン中のユーザーの権限でコード実行を得るために悪用される可能性があります。これは、Alyssa Herrera 氏とチーム Alyssa Herrera (2019年9月4日) の研究に基づいています。
- ホストコンプライアンスチェックを悪用した完全なリモート管理者アクセス。ホストコンプライアンスチェックは SYSTEM として実行されます。不正サーバーはこの機能を悪用して、レジストリへの任意書き込みアクセスを許可する悪意のあるポリシーを配信できます。
- ネットワークトラフィックの傍受。これにより、攻撃者は「always-on」が有効な場合でもネットワークトラフィックを傍受・改ざんできます。現在のところ、このツールはエンドポイントからのネットワークトラフィック要求を表示するのみです。
この PoC は自動ログイン機能も実装しています。これは、クライアントに以前認証済みであると思い込ませます。これは、認証情報の収集よりもコード実行が優先される場合に有用です。
前提条件
- この研究は、信頼できないネットワークを介したリモートコード実行の取得を目的としています。この目的を達成するために、両方の脆弱性が連鎖して使用されます。とはいえ、内部関係者による脅威は CVE-2020-8241 を単独で使用して権限を昇格させることもできます。
- PCS ゲートウェイは「dynamic-trust」が有効なデフォルト構成を使用しています。なお、ポリシーは通常、認証後に更新されクライアントに配信されます。つまり、ゲートウェイが「dynanmic-trust」を無効にした後でも、わずかな攻撃機会の窓が残る可能性があります。
- 攻撃者は HTTPS ネットワークトラフィックを中間者攻撃できる立場にあります。例: 攻撃者がユーザーの家庭内ネットワークルーターを侵害している、不正な Wi-Fi ホットスポットを運用しているなど。
- ユーザーは証明書の警告を受け入れる必要があります。興味深い観察結果の 1 つとして、Pulse Secure Client はユーザーが証明書を受け入れるまでこのメッセージを表示し続けることが挙げられます。さらに、このポップアップメッセージは特に警戒を促すものではありません。最後に、この製品は「セキュアクライアント」であるため、ユーザーはメッセージを無視して接続してしまう可能性がはるかに高くなります。これは大きな障壁には思われません。
- エンドポイントは Microsoft Windows オペレーティングシステム上で接続しています。
推奨事項
この問題の緩和と是正にあたっては、以下の推奨事項を検討すべきです:
- 組織は Pulse Secure のセキュリティベストプラクティス (Pulse Secure, 2019年7月2日) に対するコンプライアンスを実施すべきです。「Dynamic certificate trust」が無効であることを確認してください。
- ベンダーの修正を適用してください (https://kb.pulsesecure.net/articles/Pulse_Security_Advisories/SA44601 を参照)。
- PCS サーバーのスクリプト実行は「Pulse.exe」の子プロセスとして実行されます。したがって、「Pulse.exe」バイナリの子プロセスを監視することで防御策を展開できます。
- 不審なレジストリアクティビティがないか「PulseSecureService」サービスを監視してください。
参考文献
免責事項
提供される情報は、教育および研究目的のみで使用されます。著者は、この情報の使用について一切責任を負わず、適用法に違反するいかなる試みも強く非難します。著者はこの情報を更新する義務を負わず、その完全性、使用可能性、適用性についていかなる保証も提供せず、この情報への一切の依存を否認します。この情報の使用は、すべて利用者自身の責任となります。