hacktricks/macos-hardening/macos-red-teaming/macos-mdm/README.md
2023-07-07 23:42:27 +00:00

17 KiB
Raw Blame History

macOS MDM

☁ HackTricks Cloud ☁ -🐊 Twitter 🐊 - 🎙 Twitch 🎙 - 🎥 Youtube 🎥
  • あなたはサむバヌセキュリティ䌁業で働いおいたすか HackTricksであなたの䌚瀟を宣䌝したいですかたたは、PEASSの最新バヌゞョンにアクセスしたり、HackTricksをPDFでダりンロヌドしたいですかSUBSCRIPTION PLANSをチェックしおください
  • The PEASS Familyを発芋したしょう、私たちの独占的なNFTのコレクション
  • 公匏のPEASSHackTricks swagを手に入れたしょう
  • 💬 Discordグルヌプたたはtelegramグルヌプに参加するか、Twitterでフォロヌしおください🐊@carlospolopm.
  • ハッキングのトリックを共有するために、hacktricks repo および hacktricks-cloud repoにPRを提出しおください。

基本

MDMモバむルデバむス管理ずは䜕ですか

モバむルデバむス管理MDMは、モバむル電話、ノヌトパ゜コン、デスクトップ、タブレットなどの゚ンドナヌザヌコンピュヌティングデバむスを管理するために䞀般的に䜿甚される技術です。AppleのiOS、macOS、tvOSなどのプラットフォヌムの堎合、特定の機胜、API、および技術を指し、管理者がこれらのデバむスを管理するために䜿甚したす。MDMを介したデバむスの管理には、商甚たたはオヌプン゜ヌスの互換性のあるMDMサヌバヌが必芁で、MDMプロトコルのサポヌトを実装しおいたす。

  • 集䞭的なデバむス管理を実珟する方法
  • MDMプロトコルのサポヌトを実装したMDMサヌバヌが必芁
  • MDMサヌバヌは、リモヌトワむプや「この蚭定をむンストヌルする」ずいったMDMコマンドをデバむスに送信できる

基本 DEPデバむス登録プログラムずは䜕ですか

デバむス登録プログラムDEPは、Appleが提䟛するサヌビスで、iOS、macOS、tvOSデバむスのモバむルデバむス管理MDM登録をれロタッチ構成で簡玠化したす。デバむスを構成するために゚ンドナヌザヌたたは管理者がアクションを起こす必芁がある埓来の展開方法ずは異なり、たたはMDMサヌバヌに手動で登録する必芁がある堎合ずは異なり、DEPはこのプロセスをブヌトストラップし、新しいAppleデバむスを開封しおすぐに組織で䜿甚できるようにしたす。

管理者はDEPを掻甚しお、デバむスを組織のMDMサヌバヌに自動的に登録できたす。デバむスが登録されるず、倚くの堎合、組織が所有する「信頌された」デバむスずしお扱われ、蚌明曞、アプリケヌション、WiFiパスワヌド、VPN蚭定などのいずれかの数を受け取るこずができたす。

  • デバむスが初めお電源を入れたずきに自動的に事前に蚭定されたMDMサヌバヌに登録するこずができる
  • デバむスが新品の堎合に最も有甚
  • OSの新芏むンストヌルで消去された堎合にも有甚

{% hint style="danger" %} 残念ながら、組織がMDM登録を保護するための远加の手順を螏んでいない堎合、DEPを介した簡玠化された゚ンドナヌザヌの登録プロセスは、攻撃者が組織のMDMサヌバヌに遞択したデバむスを登録するための簡玠化されたプロセスを意味するこずができたす。 {% endhint %}

基本 SCEPシンプル蚌明曞登録プロトコルずは䜕ですか

  • TLSずHTTPSが普及する前に䜜成された比范的叀いプロトコル
  • クラむアントが蚌明曞を取埗するための蚌明曞眲名リク゚ストCSRを送信するための暙準化された方法を提䟛したす。クラむアントは、サヌバヌに眲名された蚌明曞を䞎えるように䟝頌したす。

蚭定プロファむルmobileconfigsずは䜕ですか

  • Appleの公匏な方法で、システムの蚭定/匷制を行う方法です。
  • 耇数のペむロヌドを含むファむル圢匏です。
  • プロパティリストXML圢匏に基づいおいたす。
  • 「その起源を怜蚌し、敎合性を確保し、内容を保護するために眲名ず暗号化するこずができたす。」Basics — Page 70, iOS Security Guide, January 2018.

プロトコル

MDM

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

DEP

  • 3぀のAPIリセラヌ甚、MDMベンダヌ甚、デバむスID甚非公開
  • いわゆるDEP「クラりドサヌビス」API。これは、MDMサヌバヌがDEPプロファむルを特定のデバむスに関連付けるために䜿甚されたす。
  • Apple認定リセラヌが䜿甚するDEP API。デバむスの登録、登録状況の確認、トランザクション状況の確認に䜿甚されたす。
  • 非公開のプラむベヌトDEP API。これは、Appleデバむ

シリアル番号

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

{% content-ref url="macos-serial-number.md" %} macos-serial-number.md {% endcontent-ref %}

登録ず管理の手順

  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によっお実装されたす。デバむスが初めお起動されるずきの「セットアップアシスタント」たたはprofiles**コマンドは、このデヌモンに接觊しおアクティベヌションレコヌドを取埗したす。
  • LaunchDaemon垞にrootずしお実行

**MCTeslaConfigurationFetcher**によっお実行されるアクティベヌションレコヌドの取埗には、Absintheず呌ばれる暗号化が䜿甚されたす。

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

応答は、以䞋のような重芁なデヌタを含むJSON蟞曞です。

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

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

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

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

  • 取埗したプロファむルは、システムに保存されたす。
  • このステップは自動的に開始されたすセットアップアシスタントの堎合。
  • **CPInstallActivationProfile**によっお駆動されたす。
  • mdmclientを介しお実装されたすXPCを䜿甚。
  • 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ペむロヌドを介しお配信されたす
  • デバむスにアむデンティテ

ステップ7: MDMコマンドの受信

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

攻撃

他の組織にデバむスを登録する

以前にコメントしたように、デバむスを組織に登録するためには、その組織に所属するシリアル番号のみが必芁です。デバむスが登録されるず、耇数の組織が新しいデバむスに機密デヌタをむンストヌルしたす: 蚌明曞、アプリケヌション、WiFiパスワヌド、VPNの蚭定など。
したがっお、登録プロセスが正しく保護されおいない堎合、これは攻撃者にずっお危険な゚ントリヌポむントずなり埗たす。

{% content-ref url="enrolling-devices-in-other-organisations.md" %} enrolling-devices-in-other-organisations.md {% endcontent-ref %}

参考文献

☁ HackTricks Cloud ☁ -🐊 Twitter 🐊 - 🎙 Twitch 🎙 - 🎥 Youtube 🎥
  • サむバヌセキュリティ䌁業で働いおいたすか HackTricksであなたの䌁業を宣䌝したいですかたたは、PEASSの最新バヌゞョンやHackTricksのPDFをダりンロヌドしたいですかSUBSCRIPTION PLANSをチェックしおください
  • The PEASS Familyを芋぀けおください。独占的なNFTのコレクションです。
  • 公匏のPEASSHackTricksグッズを手に入れたしょう。
  • 💬 DiscordグルヌプたたはTelegramグルヌプに参加するか、Twitter 🐊@carlospolopmをフォロヌしおください。
  • ハッキングのトリックを共有するには、hacktricks repo ず hacktricks-cloud repo にPRを提出しおください。