macOS MDM
Last updated
Last updated
Leer & oefen AWS-hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP-hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)
Om meer te leer oor macOS MDM's kyk:
Mobile Device Management (MDM) word gebruik om verskeie eindgebruikers-toestelle soos slimfone, draagbare rekenaars en tablette te bestuur. Veral vir Apple se platforms (iOS, macOS, tvOS) behels dit 'n stel gespesialiseerde kenmerke, API's en praktyke. Die werking van MDM steun op 'n verenigbare MDM-bediener, wat of kommersieel beskikbaar is of oopbron, en moet die MDM-protokol ondersteun. Sleutelpunte sluit in:
Gekentraliseerde beheer oor toestelle.
Afhanklikheid van 'n MDM-bediener wat voldoen aan die MDM-protokol.
Vermoë van die MDM-bediener om verskeie bevele na toestelle te stuur, byvoorbeeld afstanddata-uitvee of opsetinstallasie.
Die Device Enrollment Program (DEP) wat deur Apple aangebied word, vereenvoudig die integrasie van Mobile Device Management (MDM) deur nul-aanraking-konfigurasie vir iOS, macOS en tvOS-toestelle te fasiliteer. DEP outomatiseer die intekeningsproses, wat toestelle in staat stel om reg uit die boks operasioneel te wees, met minimale gebruiker- of administratiewe ingryping. Belangrike aspekte sluit in:
Stel toestelle in staat om outomaties te registreer by 'n voorafbepaalde MDM-bediener met aanvanklike aktivering.
Hoofsaaklik voordelig vir splinternuwe toestelle, maar ook toepaslik vir toestelle wat herkonfigurasie ondergaan.
Fasiliteer 'n eenvoudige opstelling, wat toestelle vinnig gereed maak vir organisatoriese gebruik.
Dit is noodsaaklik om daarop te let dat die gemak van intekening wat deur DEP gebied word, terwyl dit voordelig is, ook sekuriteitsrisiko's kan inhou. As beskermende maatreëls nie voldoende afgedwing word vir MDM-intekening nie, kan aanvallers hierdie vereenvoudigde proses benut om hul toestel op die organisasie se MDM-bediener te registreer, wat as 'n korporatiewe toestel voorgee.
Sekuriteitswaarskuwing: Vereenvoudigde DEP-intekening kan moontlik ongemagtigde toestelregistrasie op die organisasie se MDM-bediener toelaat as behoorlike beskermingsmaatreëls nie in plek is nie.
'n Relatief ou protokol, geskep voordat TLS en HTTPS wydverspreid was.
Gee kliënte 'n gestandaardiseerde manier om 'n Certificate Signing Request (CSR) te stuur vir die doel om 'n sertifikaat toegeken te word. Die kliënt sal die bediener vra om hom 'n ondertekende sertifikaat te gee.
Apple se amptelike manier om sisteemkonfigurasie in te stel/af te dwing.
Lêerformaat wat verskeie vragte kan bevat.
Gebaseer op eienskapslyste (die XML-soort).
"kan onderteken en versleutel word om hul oorsprong te valideer, hul integriteit te verseker, en hul inhoud te beskerm." Basiese beginsels - Bladsy 70, iOS-sekuriteitsgids, Januarie 2018.
Kombinasie van APNs (Apple-bedieners) + RESTful API (MDM-vennoot-bedieners)
Kommunikasie vind plaas tussen 'n toestel en 'n bediener wat verband hou met 'n toestelbestuursproduk
Bevele wat van die MDM na die toestel gestuur word in plist-gekodeerde woordeboeke
Al oor HTTPS. MDM-bediener kan (en is gewoonlik) gepin.
Apple verleen die MDM-vennoot 'n APNs-sertifikaat vir verifikasie
3 API's: 1 vir wederverkopers, 1 vir MDM-vennote, 1 vir toestelidentiteit (ondokumenteer):
Die sogenaamde DEP "wolkmeganisme" API. Dit word deur MDM-bedieners gebruik om DEP-profiel met spesifieke toestelle te assosieer.
Die DEP-API wat deur Apple Gemagtigde Wederverkopers gebruik word om toestelle in te skryf, intekeningsstatus te kontroleer, en transaksiestatus te kontroleer.
Die ongedokumenteerde private DEP-API. Dit word deur Apple-toestelle gebruik om hul DEP-profiel aan te vra. Op macOS is die cloudconfigurationd
binêre verantwoordelik vir kommunikasie oor hierdie API.
Meer moderne en JSON-gebaseer (vs. plist)
Apple verleen 'n OAuth-token aan die MDM-vennoot
DEP "wolkmeganisme" API
RESTful
sink toestelrekords van Apple na die MDM-bediener
sink "DEP-profiel" na Apple van die MDM-bediener (later deur Apple aan die toestel gelewer)
'n DEP "profiel" bevat:
MDM-vennootbediener-URL
Addisionele vertroude sertifikate vir bediener-URL (opsionele pinning)
Ekstra instellings (bv. watter skerms om oor te slaan in die Opsetassistent)
Apple-toestelle wat na 2010 vervaardig is, het oor die algemeen 12-karakter alfanumeriese serienommers, met die eerste drie syfers wat die vervaardigingsplek verteenwoordig, die volgende twee wat die jaar en week van vervaardiging aandui, die volgende drie syfers wat 'n unieke identifiseerder voorsien, en die laaste vier syfers wat die modelnommer verteenwoordig.
macOS Serial NumberSkep van toestelrekord (Wederverkoper, Apple): Die rekord vir die nuwe toestel word geskep
Toestelrekordtoewysing (Kliënt): Die toestel word toegewys aan 'n MDM-bediener
Toestelrekordsinkronisasie (MDM-vennoot): MDM sinkroniseer die toestelrekords en druk die DEP-profiel na Apple
DEP-inloer (Toestel): Toestel kry sy DEP-profiel
Profielherwinning (Toestel)
Profielinstallasie (Toestel) a. insl. MDM, SCEP en stam CA-vragte
MDM-beveluitreiking (Toestel)
Die lêer /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/PrivateFrameworks/ConfigurationProfiles.framework/ConfigurationProfiles.tbd
voer funksies uit wat as hoëvlak "stappe" van die intekeningsproses beskou kan word.
Hierdie deel van die proses vind plaas wanneer 'n gebruiker 'n Mac vir die eerste keer opstart (of na 'n volledige vee)
of wanneer die sudo profiles show -type enrollment
uitgevoer word
Bepaal of toestel DEP-geaktiveer is
Aktiveringsrekord is die interne naam vir DEP "profiel"
Begin sodra die toestel aan die internet gekoppel is
Gedryf deur CPFetchActivationRecord
Geïmplementeer deur cloudconfigurationd
via XPC. Die "Opstelassistent" (wanneer die toestel vir die eerste keer opgestart word) of die profiles
bevel sal hierdie daemon kontak om die aktiveringsrekord te haal.
LaunchDaemon (hardloop altyd as root)
Dit volg 'n paar stappe om die Aktiveringsrekord uit te voer deur MCTeslaConfigurationFetcher
. Hierdie proses gebruik 'n enkripsie genaamd Absinthe
Haal die sertifikaat op
Inisialiseer toestand vanaf sertifikaat (NACInit
)
Gebruik verskeie toestel-spesifieke data (bv. Serienommer via IOKit
)
Haal die sessiesleutel op
Stel die sessie op (NACKeyEstablishment
)
Doen die versoek
POST na https://iprofiles.apple.com/macProfile deur die data te stuur { "aksie": "VersoekProfielkonfigurasie", "sn": "" }
Die JSON-lading word versleutel met Absinthe (NACSign
)
Alle versoek is oor HTTPs, ingeboude root-sertifikate word gebruik
Die reaksie is 'n JSON-woordeboek met belangrike data soos:
url: URL van die MDM-leweransiergasheer vir die aktiveringsprofiel
anker-sertifikate: Reeks DER-sertifikate wat as vertroude ankers gebruik word
Versoek gestuur na url wat in DEP-profiel verskaf is.
Anker-sertifikate word gebruik om vertroue te evalueer indien verskaf.
Herinnering: die anker_serts eienskap van die DEP-profiel
Versoek is 'n eenvoudige .plist met toestelidentifikasie
Voorbeelde: UDID, OS-weergawe.
CMS-onderteken, DER-gekodeer
Onderteken met die toestelidentiteitsertifikaat (van APNS)
Sertifikaatketting sluit vervalde Apple iPhone-toestel-CA in
![](<../../../.gitbook/assets/image (567) (1) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1)