macOS Red Teaming
Last updated
Last updated
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)
Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem. Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
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 putem 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 registracije MDM-a, 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 se može isporučiti 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 je razvio 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žda će tražiti akreditive za pristup.
Možete koristiti skriptu JamfSniper.py da izvršite napad na lozinke.
Š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 sadržao je 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 na 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 spoljašnjih platformi direktno. Uobičajena konfiguracija MacOS-a je pristup računaru koristeći OneLogin sinhronizovane akreditive, i pristupanje nekoliko spoljašnjih servisa (kao što su github, aws...) putem OneLogin-a.
Kada se fajl preuzme u Safariju, ako je to "siguran" fajl, biće automatski otvoren. Tako da, na primer, ako preuzmete zip, biće automatski raspakovan:
Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem. Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
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)