6.6 KiB
他の組織へのデバイス登録
htARTE(HackTricks AWS Red Team Expert)を通じてゼロからヒーローまでAWSハッキングを学ぶ
HackTricksをサポートする他の方法:
- HackTricksで企業を宣伝したいまたはHackTricksをPDFでダウンロードしたい場合は、SUBSCRIPTION PLANSをチェックしてください!
- 公式PEASS&HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的なNFTコレクションをご覧ください
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitter 🐦で@carlospolopmをフォローしてください
- ハッキングトリックを共有するためにPRを HackTricks と HackTricks Cloud のGitHubリポジトリに提出してください
イントロ
以前にコメントされたように、組織にデバイスを登録しようとするためには、その組織に属するシリアル番号だけが必要です。デバイスが登録されると、新しいデバイスには証明書、アプリケーション、WiFiパスワード、VPN構成などの機密データがいくつかの組織にインストールされます。
したがって、登録プロセスが適切に保護されていない場合、これは攻撃者にとって危険なエントリーポイントとなり得ます。
以下は、https://duo.com/labs/research/mdm-me-maybeの研究の要約です。詳細な技術的詳細については、そちらをご確認ください!
DEPおよびMDMバイナリ解析の概要
この研究は、macOS上のデバイス登録プログラム(DEP)およびモバイルデバイス管理(MDM)に関連するバイナリに焦点を当てています。主要なコンポーネントには次のものがあります:
mdmclient
:macOSバージョン10.13.4より前でMDMサーバーと通信し、DEPチェックインをトリガーします。profiles
:構成プロファイルを管理し、macOSバージョン10.13.4以降でDEPチェックインをトリガーします。cloudconfigurationd
:DEP 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 Protection(SIP)を無効にする必要があります。SIPを無効にすると、LLDBのようなツールを使用してシステムプロセスにアタッチし、DEP APIとのやり取りで使用されるシリアル番号を変更する可能性があります。この方法は、権限とコード署名の複雑さを回避できるため、好ましい方法です。
バイナリインストゥルメンテーションの悪用:
cloudconfigurationd
でJSONシリアル化前にDEPリクエストペイロードを変更することが効果的であることが示されました。このプロセスには以下が含まれます:
cloudconfigurationd
にLLDBをアタッチする。- システムシリアル番号が取得されるポイントを特定する。
- ペイロードが暗号化および送信される前にメモリに任意のシリアル番号を挿入する。
この方法により、任意のシリアル番号の完全なDEPプロファイルを取得することが可能であり、潜在的な脆弱性が示されました。
Pythonを使用したインストゥルメンテーションの自動化
LLDB APIを使用して、Pythonを使用して悪用プロセスを自動化し、任意のシリアル番号をプログラムで挿入し、対応するDEPプロファイルを取得することが可能になりました。
DEPおよびMDMの脆弱性の潜在的な影響
研究は重要なセキュリティ上の懸念を示しました:
- 情報漏洩:DEPに登録されたシリアル番号を提供することで、DEPプロファイルに含まれる機密組織情報を取得できます。
- 不正なDEP登録:適切な認証がない場合、DEPに登録されたシリアル番号を持つ攻撃者は、組織のMDMサーバーに不正なデバイスを登録し、機密データやネットワークリソースにアクセスできる可能性があります。
結論として、DEPとMDMは企業環境でAppleデバイスを管理するための強力なツールを提供しますが、セキュリティ上の攻撃ベクトルを示す可能性があり、これらを保護し、監視する必要があります。