macOS Bezbednost i Eskalacija Privilegija
Reading time: 5 minutes
tip
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)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovni MacOS
Ako niste upoznati sa macOS, trebali biste početi učiti osnove macOS-a:
- Specijalni macOS fajlovi i dozvole:
macOS Files, Folders, Binaries & Memory
- Uobičajeni macOS korisnici
macOS Users & External Accounts
- AppleFS
- Arhitektura kernela
macOS Kernel & System Extensions
- Uobičajene macOS network usluge i protokoli
macOS Network Services & Protocols
- Otvoreni izvor macOS: https://opensource.apple.com/
- Da preuzmete
tar.gz
, promenite URL kao što je https://opensource.apple.com/source/dyld/ u https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz
MacOS MDM
U kompanijama macOS sistemi će verovatno biti upravljani putem MDM-a. Stoga, iz perspektive napadača, zanimljivo je znati kako to funkcioniše:
MacOS - Istraživanje, Debagovanje i Fuzzing
macOS Apps - Inspecting, debugging and Fuzzing
MacOS Bezbednosne Zaštite
Površina Napada
Dozvole Fajlova
Ako proces koji se izvršava kao root piše fajl koji može kontrolisati korisnik, korisnik bi to mogao zloupotrebiti da eskalira privilegije.
To se može dogoditi u sledećim situacijama:
- Fajl koji se koristi je već kreiran od strane korisnika (u vlasništvu korisnika)
- Fajl koji se koristi je zapisiv od strane korisnika zbog grupe
- Fajl koji se koristi je unutar direktorijuma koji je u vlasništvu korisnika (korisnik može kreirati fajl)
- Fajl koji se koristi je unutar direktorijuma koji je u vlasništvu root-a, ali korisnik ima pristup za pisanje zbog grupe (korisnik može kreirati fajl)
Mogućnost da kreirate fajl koji će biti koristen od strane root-a, omogućava korisniku da iskoristi njegov sadržaj ili čak kreira simlinkove/hardlinkove da ga usmeri na drugo mesto.
Za ovu vrstu ranjivosti ne zaboravite da proverite ranjive .pkg
instalere:
Rukovaoci aplikacija za ekstenzije fajlova i URL sheme
Čudne aplikacije registrovane po ekstenzijama fajlova mogle bi biti zloupotrebljene, a različite aplikacije mogu biti registrovane da otvore specifične protokole
macOS File Extension & URL scheme app handlers
macOS TCC / SIP Eskalacija Privilegija
U macOS-u aplikacije i binarni fajlovi mogu imati dozvole za pristup folderima ili podešavanjima koja ih čine privilegovanijim od drugih.
Stoga, napadač koji želi uspešno da kompromituje macOS mašinu moraće da eskalira svoje TCC privilegije (ili čak obiđe SIP, u zavisnosti od njegovih potreba).
Ove privilegije se obično daju u obliku entiteta sa kojima je aplikacija potpisana, ili aplikacija može zatražiti neke pristupe i nakon što korisnik odobri može ih pronaći u TCC bazama podataka. Drugi način na koji proces može dobiti ove privilegije je da bude dete procesa sa tim privilegijama, jer se obično nasleđuju.
Pratite ove linkove da pronađete različite načine za eskalaciju privilegija u TCC, da obiđete TCC i kako je u prošlosti SIP bio oboren.
macOS Tradicionalna Eskalacija Privilegija
Naravno, iz perspektive crvenih timova, trebali biste biti zainteresovani i za eskalaciju na root. Proverite sledeći post za neke savete:
macOS Usklađenost
Reference
- OS X Incident Response: Scripting and Analysis
- https://taomm.org/vol1/analysis.html
- https://github.com/NicolasGrimonpont/Cheatsheet
- https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ
- https://www.youtube.com/watch?v=vMGiplQtjTY
tip
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)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.