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ããµããŒããã
- ãµãã¹ã¯ãªãã·ã§ã³ãã©ã³ã確èªããŠãã ããïŒ
- **ð¬ Discordã°ã«ãŒããŸãã¯ãã¬ã°ã©ã ã°ã«ãŒãã«åå ããããTwitter ðŠ @hacktricks_liveããã©ããŒããŠãã ããã
- HackTricksããã³HackTricks Cloudã®GitHubãªããžããªã«PRãæåºããŠãããã³ã°ããªãã¯ãå ±æããŠãã ããã
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æ¡ã¯ã¢ãã«çªå·ã衚ããŸãã
ç»é²ãšç®¡çã®æé
- ããã€ã¹ã¬ã³ãŒãã®äœæïŒãªã»ã©ãŒãAppleïŒïŒæ°ããããã€ã¹ã®ã¬ã³ãŒããäœæãããŸã
- ããã€ã¹ã¬ã³ãŒãã®å²ãåœãŠïŒé¡§å®¢ïŒïŒããã€ã¹ãMDMãµãŒããŒã«å²ãåœãŠãããŸã
- ããã€ã¹ã¬ã³ãŒãã®åæïŒMDMãã³ããŒïŒïŒMDMãããã€ã¹ã¬ã³ãŒããåæããDEPãããã¡ã€ã«ãAppleã«ããã·ã¥ããŸã
- DEPãã§ãã¯ã€ã³ïŒããã€ã¹ïŒïŒããã€ã¹ãDEPãããã¡ã€ã«ãååŸããŸã
- ãããã¡ã€ã«ã®ååŸïŒããã€ã¹ïŒ
- ãããã¡ã€ã«ã®ã€ã³ã¹ããŒã«ïŒããã€ã¹ïŒ a. MDMãSCEPãããã³ã«ãŒãCAãã€ããŒããå«ã
- MDMã³ãã³ãã®çºè¡ïŒããã€ã¹ïŒ
.png)
ãã¡ã€ã«/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/PrivateFrameworks/ConfigurationProfiles.framework/ConfigurationProfiles.tbdã¯ãç»é²ããã»ã¹ã®**é«ã¬ãã«ã®ãã¹ãããã**ãšèŠãªããã颿°ããšã¯ã¹ããŒãããŸãã
ã¹ããã4: DEPãã§ãã¯ã€ã³ - ã¢ã¯ãã£ããŒã·ã§ã³ã¬ã³ãŒãã®ååŸ
ãã®ããã»ã¹ã®äžéšã¯ããŠãŒã¶ãŒãåããŠMacãèµ·åãããšãïŒãŸãã¯å®å šã«ã¯ã€ãããåŸïŒã«çºçããŸãã
.png)
ãŸãã¯sudo profiles show -type enrollmentãå®è¡ãããšãã
- ããã€ã¹ãDEP察å¿ãã©ããã倿
- ã¢ã¯ãã£ããŒã·ã§ã³ã¬ã³ãŒãã¯**DEP âãããã¡ã€ã«â**ã®å éšåã§ã
- ããã€ã¹ãã€ã³ã¿ãŒãããã«æ¥ç¶ããããšããã«å§ãŸããŸã
- **
CPFetchActivationRecord**ã«ãã£ãŠé§åãããŸã - **
cloudconfigurationdã«ãã£ãŠXPCçµç±ã§å®è£ ãããŸããããã€ã¹ãåããŠèµ·åããããšãã®âã»ããã¢ããã¢ã·ã¹ã¿ã³ãâãŸãã¯profiles**ã³ãã³ãããã®ããŒã¢ã³ã«é£çµ¡ããŠã¢ã¯ãã£ããŒã·ã§ã³ã¬ã³ãŒããååŸããŸãã - LaunchDaemonïŒåžžã«rootãšããŠå®è¡ïŒ
ã¢ã¯ãã£ããŒã·ã§ã³ã¬ã³ãŒããååŸããããã«**MCTeslaConfigurationFetcherã«ãã£ãŠå®è¡ãããããã€ãã®ã¹ãããã«åŸããŸãããã®ããã»ã¹ã¯Absinthe**ãšããæå·åã䜿çšããŸãã
- èšŒææžãååŸ
- GET https://iprofiles.apple.com/resource/certificate.cer
- èšŒææžããç¶æ
ãåæåïŒ
NACInitïŒ - æ§ã
ãªããã€ã¹åºæã®ããŒã¿ã䜿çšããŸãïŒäŸïŒã·ãªã¢ã«çªå·ã
IOKitçµç±ã§ïŒ - ã»ãã·ã§ã³ããŒãååŸ
- POST https://iprofiles.apple.com/session
- ã»ãã·ã§ã³ã確ç«ïŒ
NACKeyEstablishmentïŒ - ãªã¯ãšã¹ããè¡ã
- POST https://iprofiles.apple.com/macProfileã«ããŒã¿
{ "action": "RequestProfileConfiguration", "sn": "" }ãéä¿¡ - JSONãã€ããŒãã¯Absintheã§æå·åãããŸãïŒ
NACSignïŒ - ãã¹ãŠã®ãªã¯ãšã¹ãã¯HTTPsçµç±ã§è¡ãããçµã¿èŸŒã¿ã®ã«ãŒãèšŒææžã䜿çšãããŸã
 (1).png)
ã¬ã¹ãã³ã¹ã¯ã以äžã®ãããªéèŠãªããŒã¿ãå«ãJSONèŸæžã§ãïŒ
- url: ã¢ã¯ãã£ããŒã·ã§ã³ãããã¡ã€ã«ã®ããã®MDMãã³ããŒãã¹ãã®URL
- anchor-certs: ä¿¡é Œãããã¢ã³ã«ãŒãšããŠäœ¿çšãããDERèšŒææžã®é å
ã¹ããã5: ãããã¡ã€ã«ã®ååŸ
.png)
- DEPãããã¡ã€ã«ã§æäŸãããurlã«ãªã¯ãšã¹ããéä¿¡ãããŸãã
- æäŸãããå Žåãã¢ã³ã«ãŒèšŒææžãä¿¡é Œæ§ãè©äŸ¡ããããã«äœ¿çšãããŸãã
- ãªãã€ã³ããŒ: DEPãããã¡ã€ã«ã®anchor_certsããããã£
- ãªã¯ãšã¹ãã¯ããã€ã¹èå¥ãå«ãã·ã³ãã«ãª.plistã§ã
- äŸ: UDIDãOSããŒãžã§ã³ã
- CMS眲åãDERãšã³ã³ãŒã
- **ããã€ã¹IDèšŒææžïŒAPNSããã®ïŒ**ã䜿çšããŠçœ²åãããŸãã
- èšŒææžãã§ãŒã³ã«ã¯æéåãã®Apple iPhone Device CAãå«ãŸããŸãã
 (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) (2) (2).png)
ã¹ããã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ïŒ
- 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ããµããŒããã
- ãµãã¹ã¯ãªãã·ã§ã³ãã©ã³ã確èªããŠãã ããïŒ
- **ð¬ Discordã°ã«ãŒããŸãã¯ãã¬ã°ã©ã ã°ã«ãŒãã«åå ããããTwitter ðŠ @hacktricks_liveããã©ããŒããŠãã ããã
- HackTricksããã³HackTricks Cloudã®GitHubãªããžããªã«PRãæåºããŠãããã³ã°ããªãã¯ãå ±æããŠãã ããã


