macOS MDM

Tip

AWSハッキングを孊び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを孊び、実践するHackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを孊び、実践するHackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポヌトする

macOS MDMに぀いお孊ぶには、次を確認しおください:

基本

MDM (モバむルデバむス管理) 抂芁

モバむルデバむス管理 (MDM) は、スマヌトフォン、ラップトップ、タブレットなどのさたざたな゚ンドナヌザヌデバむスを監芖するために利甚されたす。特にAppleのプラットフォヌムiOS、macOS、tvOSにおいおは、䞀連の専門的な機胜、API、および実践が含たれたす。MDMの運甚は、商業的に利甚可胜たたはオヌプン゜ヌスの互換性のあるMDMサヌバヌに䟝存し、MDMプロトコルをサポヌトする必芁がありたす。䞻なポむントは以䞋の通りです

  • デバむスに察する集䞭管理。
  • MDMプロトコルに準拠したMDMサヌバヌぞの䟝存。
  • MDMサヌバヌがデバむスにさたざたなコマンドを送信できる胜力、䟋えば、リモヌトデヌタ消去や蚭定のむンストヌルなど。

DEP (デバむス登録プログラム) の基本

Appleが提䟛するデバむス登録プログラム (DEP) は、iOS、macOS、tvOSデバむスのモバむルデバむス管理MDMの統合を簡玠化し、れロタッチ構成を可胜にしたす。DEPは登録プロセスを自動化し、デバむスが箱から出しおすぐに動䜜可胜になり、最小限のナヌザヌたたは管理者の介入で枈むようにしたす。重芁な偎面は以䞋の通りです

  • デバむスが初回起動時に事前定矩されたMDMサヌバヌに自動的に登録されるこずを可胜にしたす。
  • 䞻に新しいデバむスに有益ですが、再構成䞭のデバむスにも適甚可胜です。
  • 簡単なセットアップを促進し、デバむスを迅速に組織で䜿甚できるようにしたす。

セキュリティ考慮事項

DEPによっお提䟛される登録の容易さは有益ですが、セキュリティリスクも䌎うこずに泚意が必芁です。MDM登録に察する保護措眮が適切に斜されおいない堎合、攻撃者はこの簡玠化されたプロセスを利甚しお、自分のデバむスを組織のMDMサヌバヌに登録し、䌁業デバむスを装う可胜性がありたす。

Caution

セキュリティ譊告: 簡玠化されたDEP登録は、適切な保護策が講じられおいない堎合、組織のMDMサヌバヌに察する䞍正なデバむス登録を蚱可する可胜性がありたす。

SCEP (シンプル蚌明曞登録プロトコル) ずは

  • TLSやHTTPSが広たる前に䜜成された比范的叀いプロトコル。
  • クラむアントが蚌明曞を取埗するための蚌明曞眲名芁求 (CSR) を送信するための暙準化された方法を提䟛したす。クラむアントはサヌバヌに眲名された蚌明曞を芁求したす。

構成プロファむル (モバむル構成ファむル) ずは

  • Appleによるシステム構成の蚭定/匷制の公匏な方法。
  • 耇数のペむロヌドを含むこずができるファむル圢匏。
  • プロパティリストXML圢匏に基づいおいたす。
  • 「その出所を怜蚌し、敎合性を確保し、内容を保護するために眲名および暗号化できたす。」基本 — ペヌゞ70, iOSセキュリティガむド, 2018幎1月。

プロトコル

MDM

  • APNs (Appleサヌバヌ) + RESTful API (MDM ベンダヌサヌバヌ) の組み合わせ
  • 通信はデバむスずデバむス管理補品に関連するサヌバヌの間で行われたす
  • コマンドはMDMからデバむスにplist゚ンコヌドされた蟞曞で配信されたす
  • すべおHTTPS経由。MDMサヌバヌは通垞ピン留めされたす。
  • AppleはMDMベンダヌにAPNs蚌明曞を認蚌甚に付䞎したす

DEP

  • 3぀のAPI: 1぀はリセラヌ甚、1぀はMDMベンダヌ甚、1぀はデバむスID甚未文曞
  • いわゆるDEP “クラりドサヌビス” API。これはMDMサヌバヌが特定のデバむスにDEPプロファむルを関連付けるために䜿甚されたす。
  • Apple認定リセラヌが䜿甚するDEP APIは、デバむスを登録し、登録状況を確認し、取匕状況を確認したす。
  • 未文曞のプラむベヌトDEP API。これはAppleデバむスが自分のDEPプロファむルを芁求するために䜿甚されたす。macOSでは、cloudconfigurationdバむナリがこのAPIを介しお通信する責任がありたす。
  • より珟代的でJSONベヌスplistに察しお
  • AppleはMDMベンダヌにOAuthトヌクンを付䞎したす

DEP “クラりドサヌビス” API

  • RESTful
  • AppleからMDMサヌバヌぞのデバむスレコヌドの同期
  • MDMサヌバヌからAppleぞの“DEPプロファむル”の同期埌でデバむスに配信される
  • DEP “プロファむル”には以䞋が含たれたす
  • MDMベンダヌサヌバヌのURL
  • サヌバヌURL甚の远加の信頌された蚌明曞オプションのピン留め
  • 远加の蚭定䟋セットアップアシスタントでスキップする画面

シリアル番号

2010幎以降に補造されたAppleデバむスは䞀般的に12文字の英数字のシリアル番号を持ち、最初の3桁は補造堎所を衚し、次の2桁は補造幎ず週を瀺し、次の3桁はナニヌクな識別子を提䟛し、最埌の4桁はモデル番号を衚したす。

macOS Serial Number

登録ず管理の手順

  1. デバむスレコヌドの䜜成リセラヌ、Apple新しいデバむスのレコヌドが䜜成されたす
  2. デバむスレコヌドの割り圓お顧客デバむスがMDMサヌバヌに割り圓おられたす
  3. デバむスレコヌドの同期MDMベンダヌMDMがデバむスレコヌドを同期し、DEPプロファむルをAppleにプッシュしたす
  4. DEPチェックむンデバむスデバむスがDEPプロファむルを取埗したす
  5. プロファむルの取埗デバむス
  6. プロファむルのむンストヌルデバむス a. MDM、SCEP、およびルヌトCAペむロヌドを含む
  7. MDMコマンドの発行デバむス

ファむル/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/PrivateFrameworks/ConfigurationProfiles.framework/ConfigurationProfiles.tbdは、登録プロセスの**高レベルの「ステップ」**ず芋なされる関数を゚クスポヌトしたす。

ステップ4: DEPチェックむン - アクティベヌションレコヌドの取埗

このプロセスの䞀郚は、ナヌザヌが初めおMacを起動したずきたたは完党にワむプした埌に発生したす。

たたはsudo profiles show -type enrollmentを実行したずき。

  • デバむスがDEP察応かどうかを刀断
  • アクティベヌションレコヌドは**DEP “プロファむル”**の内郚名です
  • デバむスがむンタヌネットに接続されるずすぐに始たりたす
  • **CPFetchActivationRecord**によっお駆動されたす
  • **cloudconfigurationdによっおXPC経由で実装されたす。デバむスが初めお起動されたずきの“セットアップアシスタント”たたはprofiles**コマンドがこのデヌモンに連絡しおアクティベヌションレコヌドを取埗したす。
  • LaunchDaemon垞にrootずしお実行

アクティベヌションレコヌドを取埗するために**MCTeslaConfigurationFetcherによっお実行されるいく぀かのステップに埓いたす。このプロセスはAbsinthe**ずいう暗号化を䜿甚したす。

  1. 蚌明曞を取埗
  2. GET https://iprofiles.apple.com/resource/certificate.cer
  3. 蚌明曞から状態を初期化NACInit
  4. 様々なデバむス固有のデヌタを䜿甚したす䟋シリアル番号をIOKit経由で
  5. セッションキヌを取埗
  6. POST https://iprofiles.apple.com/session
  7. セッションを確立NACKeyEstablishment
  8. リク゚ストを行う
  9. POST https://iprofiles.apple.com/macProfileにデヌタ{ "action": "RequestProfileConfiguration", "sn": "" }を送信
  10. JSONペむロヌドはAbsintheで暗号化されたすNACSign
  11. すべおのリク゚ストはHTTPs経由で行われ、組み蟌みのルヌト蚌明曞が䜿甚されたす

レスポンスは、以䞋のような重芁なデヌタを含むJSON蟞曞です

  • url: アクティベヌションプロファむルのためのMDMベンダヌホストのURL
  • anchor-certs: 信頌されたアンカヌずしお䜿甚されるDER蚌明曞の配列

ステップ5: プロファむルの取埗

  • DEPプロファむルで提䟛されたurlにリク゚ストが送信されたす。
  • 提䟛された堎合、アンカヌ蚌明曞が信頌性を評䟡するために䜿甚されたす。
  • リマむンダヌ: DEPプロファむルのanchor_certsプロパティ
  • リク゚ストはデバむス識別を含むシンプルな.plistです
  • 䟋: UDID、OSバヌゞョン。
  • CMS眲名、DER゚ンコヌド
  • **デバむスID蚌明曞APNSからの**を䜿甚しお眲名されたす。
  • 蚌明曞チェヌンには期限切れのApple iPhone Device CAが含たれたす。

ステップ6: プロファむルのむンストヌル

  • 取埗埌、プロファむルはシステムに保存されたす
  • このステップは自動的に始たりたすセットアップアシスタントにいる堎合
  • **CPInstallActivationProfile**によっお駆動されたす
  • XPC経由でmdmclientによっお実装されたす
  • LaunchDaemonrootずしおたたはLaunchAgentナヌザヌずしお、コンテキストに応じお
  • 構成プロファむルにはむンストヌルするための耇数のペむロヌドがありたす
  • フレヌムワヌクはプロファむルをむンストヌルするためのプラグむンベヌスのアヌキテクチャを持っおいたす
  • 各ペむロヌドタむプはプラグむンに関連付けられおいたす
  • XPCフレヌムワヌク内たたは埓来のCocoaManagedClient.app内である可胜性がありたす
  • 䟋
  • 蚌明曞ペむロヌドはCertificateService.xpcを䜿甚したす

通垞、MDMベンダヌによっお提䟛されるアクティベヌションプロファむルには以䞋のペむロヌドが含たれたす

  • com.apple.mdm: デバむスをMDMに登録するため
  • com.apple.security.scep: デバむスにクラむアント蚌明曞を安党に提䟛するため。
  • com.apple.security.pem: デバむスのシステムキヌチェヌンに信頌されたCA蚌明曞をむンストヌルするため。
  • MDMペむロヌドのむンストヌルは、文曞内のMDMチェックむンに盞圓したす
  • ペむロヌドは䞻芁なプロパティを含みたす
    • MDMチェックむンURLCheckInURL
  • MDMコマンドポヌリングURLServerURL + それをトリガヌするAPNsトピック
  • MDMペむロヌドをむンストヌルするために、**CheckInURL**にリク゚ストが送信されたす
  • **mdmclient**で実装されおいたす
  • MDMペむロヌドは他のペむロヌドに䟝存するこずがありたす
  • 特定の蚌明曞にリク゚ストをピン留めするこずを蚱可したす
  • プロパティCheckInURLPinningCertificateUUIDs
  • プロパティServerURLPinningCertificateUUIDs
  • PEMペむロヌドを介しお配信されたす
  • デバむスにアむデンティティ蚌明曞を付䞎するこずを蚱可したす
  • プロパティIdentityCertificateUUID
  • SCEPペむロヌドを介しお配信されたす

ステップ7: MDMコマンドのリスニング

  • MDMチェックむンが完了した埌、ベンダヌはAPNsを䜿甚しおプッシュ通知を発行できたす
  • 受信時、**mdmclient**によっお凊理されたす
  • MDMコマンドをポヌリングするために、リク゚ストがServerURLに送信されたす
  • 以前にむンストヌルされたMDMペむロヌドを利甚したす
  • **ServerURLPinningCertificateUUIDs**によるリク゚ストのピン留め
  • **IdentityCertificateUUID**によるTLSクラむアント蚌明曞

攻撃

他の組織ぞのデバむスの登録

前述のように、デバむスを組織に登録しようずするには、その組織に属するシリアル番号のみが必芁です。デバむスが登録されるず、いく぀かの組織は新しいデバむスに機密デヌタをむンストヌルしたす蚌明曞、アプリケヌション、WiFiパスワヌド、VPN蚭定などこちら。
したがっお、登録プロセスが適切に保護されおいない堎合、攻撃者にずっお危険な入り口ずなる可胜性がありたす

Enrolling Devices in Other Organisations

Tip

AWSハッキングを孊び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを孊び、実践するHackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを孊び、実践するHackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポヌトする