hacktricks/macos-hardening/macos-red-teaming/macos-mdm/enrolling-devices-in-other-organisations.md

6.6 KiB
Raw Blame History

他の組織へのデバイス登録

htARTEHackTricks AWS Red Team Expertを通じてゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法

イントロ

以前にコメントされたように、組織にデバイスを登録しようとするためには、その組織に属するシリアル番号だけが必要です。デバイスが登録されると、新しいデバイスには証明書、アプリケーション、WiFiパスワード、VPN構成などの機密データがいくつかの組織にインストールされます。
したがって、登録プロセスが適切に保護されていない場合、これは攻撃者にとって危険なエントリーポイントとなり得ます。

以下は、https://duo.com/labs/research/mdm-me-maybeの研究の要約です。詳細な技術的詳細については、そちらをご確認ください!

DEPおよびMDMバイナリ解析の概要

この研究は、macOS上のデバイス登録プログラムDEPおよびモバイルデバイス管理MDMに関連するバイナリに焦点を当てています。主要なコンポーネントには次のものがあります

  • mdmclientmacOSバージョン10.13.4より前でMDMサーバーと通信し、DEPチェックインをトリガーします。
  • profiles構成プロファイルを管理し、macOSバージョン10.13.4以降でDEPチェックインをトリガーします。
  • cloudconfigurationdDEP API通信を管理し、デバイス登録プロファイルを取得します。

DEPチェックインでは、CPFetchActivationRecordおよびCPGetActivationRecord関数がプライベート構成プロファイルフレームワークからActivation Recordを取得するために使用され、CPFetchActivationRecordはXPCを介してcloudconfigurationdと連携します。

TeslaプロトコルおよびAbsintheスキームのリバースエンジニアリング

DEPチェックインには、cloudconfigurationdが暗号化された署名付きJSONペイロードを_iprofiles.apple.com/macProfile_に送信します。ペイロードにはデバイスのシリアル番号とアクション「RequestProfileConfiguration」が含まれます。使用される暗号化スキームは内部的に「Absinthe」と呼ばれます。このスキームを解明するには複数のステップが必要であり、Activation Recordリクエストに任意のシリアル番号を挿入するための代替手法を探ることにつながりました。

DEPリクエストのプロキシ

Charles Proxyなどのツールを使用して_iprofiles.apple.com_へのDEPリクエストを傍受および変更しようとする試みは、ペイロードの暗号化とSSL/TLSセキュリティ対策によって妨げられました。ただし、MCCloudConfigAcceptAnyHTTPSCertificate構成を有効にすると、サーバー証明書の検証をバイパスできますが、ペイロードの暗号化された性質により、復号鍵なしでシリアル番号を変更することはできません。

DEPとやり取りするシステムバイナリのインストゥルメンテーション

cloudconfigurationdなどのシステムバイナリをインストゥルメンテーションするには、macOSでSystem Integrity ProtectionSIPを無効にする必要があります。SIPを無効にすると、LLDBのようなツールを使用してシステムプロセスにアタッチし、DEP APIとのやり取りで使用されるシリアル番号を変更する可能性があります。この方法は、権限とコード署名の複雑さを回避できるため、好ましい方法です。

バイナリインストゥルメンテーションの悪用: cloudconfigurationdでJSONシリアル化前にDEPリクエストペイロードを変更することが効果的であることが示されました。このプロセスには以下が含まれます

  1. cloudconfigurationdにLLDBをアタッチする。
  2. システムシリアル番号が取得されるポイントを特定する。
  3. ペイロードが暗号化および送信される前にメモリに任意のシリアル番号を挿入する。

この方法により、任意のシリアル番号の完全なDEPプロファイルを取得することが可能であり、潜在的な脆弱性が示されました。

Pythonを使用したインストゥルメンテーションの自動化

LLDB APIを使用して、Pythonを使用して悪用プロセスを自動化し、任意のシリアル番号をプログラムで挿入し、対応するDEPプロファイルを取得することが可能になりました。

DEPおよびMDMの脆弱性の潜在的な影響

研究は重要なセキュリティ上の懸念を示しました:

  1. 情報漏洩DEPに登録されたシリアル番号を提供することで、DEPプロファイルに含まれる機密組織情報を取得できます。
  2. 不正なDEP登録適切な認証がない場合、DEPに登録されたシリアル番号を持つ攻撃者は、組織のMDMサーバーに不正なデバイスを登録し、機密データやネットワークリソースにアクセスできる可能性があります。

結論として、DEPとMDMは企業環境でAppleデバイスを管理するための強力なツールを提供しますが、セキュリティ上の攻撃ベクトルを示す可能性があり、これらを保護し、監視する必要があります。