macOS Red Teaming
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
JAMF Pro: jamf checkJSSConnection
Kandji
Ako uspete da kompromitujete administratorske akreditive za pristup upravljačkoj platformi, možete potencijalno kompromitovati sve računare distribuiranjem vašeg malvera na mašinama.
Za red teaming u MacOS okruženjima, veoma je preporučljivo imati neko razumevanje kako MDM-ovi funkcionišu:
macOS MDMMDM će imati dozvolu da instalira, upita ili ukloni profile, instalira aplikacije, kreira lokalne administratorske naloge, postavi firmware lozinku, menja FileVault ključ...
Da biste pokrenuli svoj MDM, potrebno je da vaš CSR potpiše dobavljač što možete pokušati da dobijete sa https://mdmcert.download/. A da biste pokrenuli svoj MDM za Apple uređaje, možete koristiti MicroMDM.
Međutim, da biste instalirali aplikaciju na registrovanom uređaju, i dalje je potrebno da bude potpisana od strane developerskog naloga... međutim, prilikom MDM registracije, uređaj dodaje SSL certifikat MDM-a kao pouzdan CA, tako da sada možete potpisati bilo šta.
Da biste registrovali uređaj u MDM, potrebno je da instalirate mobileconfig
datoteku kao root, koja može biti isporučena putem pkg datoteke (možete je kompresovati u zip, a kada se preuzme iz safarija, biće dekompresovana).
Mythic agent Orthrus koristi ovu tehniku.
JAMF može pokretati prilagođene skripte (skripte koje razvija sysadmin), nativne payload-e (kreiranje lokalnog naloga, postavljanje EFI lozinke, praćenje datoteka/procesa...) i MDM (konfiguracije uređaja, sertifikati uređaja...).
Idite na stranicu kao što je https://<company-name>.jamfcloud.com/enroll/
da vidite da li imaju omogućenu samoregistraciju. Ako imaju, može tražiti akreditive za pristup.
Možete koristiti skriptu JamfSniper.py da izvršite napad password spraying.
Štaviše, nakon pronalaženja odgovarajućih akreditiva, mogli biste biti u mogućnosti da brute-force-ujete druge korisničke naloge sa sledećim obrascem:
jamf
binarni fajl sadrži tajnu za otvaranje keychain-a koja je u vreme otkrića bila deljena među svima i bila je: jk23ucnq91jfu9aj
.
Štaviše, jamf persistira kao LaunchDaemon u /Library/LaunchAgents/com.jamf.management.agent.plist
JSS (Jamf Software Server) URL koji će jamf
koristiti nalazi se u /Library/Preferences/com.jamfsoftware.jamf.plist
.
Ova datoteka u suštini sadrži URL:
Dakle, napadač bi mogao da postavi zlonamerni paket (pkg
) koji prepisuje ovu datoteku prilikom instalacije postavljajući URL na Mythic C2 slušalac iz Typhon agenta kako bi sada mogao da zloupotrebi JAMF kao C2.
Da biste imitirali komunikaciju između uređaja i JMF-a, potrebno je:
UUID uređaja: ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'
JAMF ključanica iz: /Library/Application\ Support/Jamf/JAMF.keychain
koja sadrži sertifikat uređaja
Sa ovom informacijom, napravite VM sa ukradenim Hardver UUID i sa onemogućenim SIP, prebacite JAMF ključanicu, hook-ujte Jamf agent i ukradite njegove informacije.
Takođe možete pratiti lokaciju /Library/Application Support/Jamf/tmp/
za prilagođene skripte koje administratori možda žele da izvrše putem Jamf-a, jer su ovde smeštene, izvršene i uklonjene. Ove skripte mogu sadržati akreditive.
Međutim, akreditivi se mogu proslediti ovim skriptama kao parametri, pa biste trebali pratiti ps aux | grep -i jamf
(čak i bez da budete root).
Skripta JamfExplorer.py može slušati nove datoteke koje se dodaju i nove argumente procesa.
I takođe o MacOS "posebnim" mrežnim protokolima:
macOS Network Services & ProtocolsU nekim slučajevima ćete otkriti da je MacOS računar povezan sa AD. U ovom scenariju trebali biste pokušati da enumerišete aktivni direktorijum kao što ste navikli. Pronađite neku pomoć na sledećim stranicama:
389, 636, 3268, 3269 - Pentesting LDAPActive Directory Methodology88tcp/udp - Pentesting KerberosNeki lokalni MacOS alat koji vam takođe može pomoći je dscl
:
Takođe postoje neki alati pripremljeni za MacOS koji automatski enumerišu AD i igraju se sa kerberosom:
Machound: MacHound je ekstenzija za Bloodhound alat za reviziju koja omogućava prikupljanje i unos odnosa Active Directory na MacOS hostovima.
Bifrost: Bifrost je Objective-C projekat dizajniran za interakciju sa Heimdal krb5 API-ima na macOS-u. Cilj projekta je omogućiti bolje testiranje bezbednosti oko Kerberosa na macOS uređajima koristeći nativne API-je bez potrebe za bilo kojim drugim okvirom ili paketima na cilju.
Orchard: JavaScript za automatizaciju (JXA) alat za izvršavanje enumeracije Active Directory.
Tri tipa MacOS korisnika su:
Lokalni korisnici — Upravlja ih lokalna OpenDirectory usluga, nisu na bilo koji način povezani sa Active Directory.
Mrežni korisnici — Volatilni Active Directory korisnici koji zahtevaju vezu sa DC serverom za autentifikaciju.
Mobilni korisnici — Active Directory korisnici sa lokalnom rezervnom kopijom svojih kredencijala i fajlova.
Lokalne informacije o korisnicima i grupama se čuvaju u folderu /var/db/dslocal/nodes/Default. Na primer, informacije o korisniku pod imenom mark se čuvaju u /var/db/dslocal/nodes/Default/users/mark.plist a informacije o grupi admin su u /var/db/dslocal/nodes/Default/groups/admin.plist.
Pored korišćenja HasSession i AdminTo ivica, MacHound dodaje tri nove ivice u Bloodhound bazu podataka:
CanSSH - entitet kojem je dozvoljeno SSH na host
CanVNC - entitet kojem je dozvoljeno VNC na host
CanAE - entitet kojem je dozvoljeno izvršavanje AppleEvent skripti na host
Više informacija na https://its-a-feature.github.io/posts/2018/01/Active-Directory-Discovery-with-a-Mac/
Dobijte lozinke koristeći:
Moguće je pristupiti Computer$
lozinki unutar System keychain-a.
Dobijte TGT za specifičnog korisnika i uslugu:
Kada se TGT prikupi, moguće je ubrizgati ga u trenutnu sesiju sa:
Sa dobijenim servisnim tiketima moguće je pokušati pristupiti deljenjima na drugim računarima:
Keychain verovatno sadrži osetljive informacije koje, ako se pristupi bez generisanja obaveštenja, mogu pomoći u napredovanju vežbe crvenog tima:
macOS KeychainMacOS Red Teaming se razlikuje od regularnog Windows Red Teaming-a jer je obično MacOS integrisan sa nekoliko spoljnih platformi direktno. Uobičajena konfiguracija MacOS-a je pristup računaru koristeći OneLogin sinhronizovane akreditive, i pristupanje nekoliko spoljnih servisa (kao što su github, aws...) putem OneLogin-a.
Kada se fajl preuzme u Safariju, ako je to "siguran" fajl, biće automatski otvoren. Dakle, na primer, ako preuzmete zip, biće automatski raspakovan:
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)