`, `~/.zshenv` datoteka će se pokrenuti, efektivno podižući privilegije na root.
#### [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/)
U [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) otkriveno je da isti **`system_installd`** proces i dalje može biti zloupotrebljen jer je stavljao **post-install skriptu unutar nasumično nazvanog foldera zaštićenog SIP-om unutar `/tmp`**. Stvar je u tome što **`/tmp` sam po sebi nije zaštićen SIP-om**, pa je bilo moguće **montirati** virtuelnu sliku na njega, zatim **installer** bi tu stavio **post-install skriptu**, **demontirao** virtuelnu sliku, **ponovo kreirao** sve **foldere** i **dodao** **post-installation** skriptu sa **payload-om** za izvršavanje.
#### [fsck\_cs alatka](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/)
Identifikovana je ranjivost gde je **`fsck_cs`** bio zaveden da ošteti ključni fajl zbog svoje sposobnosti da prati **simboličke linkove**. Konkretno, napadači su kreirali link od _`/dev/diskX`_ do fajla `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist`. Izvršavanje **`fsck_cs`** na _`/dev/diskX`_ dovelo je do oštećenja `Info.plist` fajla. Integritet ovog fajla je od vitalnog značaja za SIP (System Integrity Protection) operativnog sistema, koji kontroliše učitavanje kernel ekstenzija. Kada je oštećen, sposobnost SIP-a da upravlja isključenjima kernela je kompromitovana.
Komande za iskorišćavanje ove ranjivosti su:
```bash
ln -s /System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist /dev/diskX
fsck_cs /dev/diskX 1>&-
touch /Library/Extensions/
reboot
```
Eksploatacija ove ranjivosti ima ozbiljne posledice. Datoteka `Info.plist`, koja je obično odgovorna za upravljanje dozvolama za kernel ekstenzije, postaje neefikasna. To uključuje nemogućnost crnoglistinga određenih ekstenzija, poput `AppleHWAccess.kext`. Kao rezultat toga, sa mehanizmom kontrole SIP-a van funkcije, ova ekstenzija može biti učitana, omogućavajući neovlašćeni pristup čitanju i pisanju u RAM sistemu.
#### [Montiranje preko SIP zaštićenih foldera](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)
Bilo je moguće montirati novi fajl sistem preko **SIP zaštićenih foldera kako bi se zaobišla zaštita**.
```bash
mkdir evil
# Add contento to the folder
hdiutil create -srcfolder evil evil.dmg
hdiutil attach -mountpoint /System/Library/Snadbox/ evil.dmg
```
#### [Bypass upgrader (2016)](https://objective-see.org/blog/blog\_0x14.html)
Sistem je podešen da se pokrene sa ugrađene instalacione disk slike unutar `Install macOS Sierra.app` kako bi se nadogradilo operativni sistem, koristeći `bless` alat. Komanda koja se koristi je sledeća:
```bash
/usr/sbin/bless -setBoot -folder /Volumes/Macintosh HD/macOS Install Data -bootefi /Volumes/Macintosh HD/macOS Install Data/boot.efi -options config="\macOS Install Data\com.apple.Boot" -label macOS Installer
```
Bezbednost ovog procesa može biti ugrožena ako napadač izmeni sliku nadogradnje (`InstallESD.dmg`) pre pokretanja. Strategija uključuje zamenu dinamičkog učitavača (dyld) zlonamernom verzijom (`libBaseIA.dylib`). Ova zamena rezultira izvršenjem koda napadača prilikom pokretanja instalera.
Kod napadača preuzima kontrolu tokom procesa nadogradnje, iskorišćavajući sistemsko poverenje u instalator. Napad se nastavlja izmenom slike `InstallESD.dmg` putem metode swizzling, posebno ciljajući metodu `extractBootBits`. To omogućava ubacivanje zlonamernog koda pre upotrebe slike diska.
Osim toga, unutar `InstallESD.dmg` nalazi se `BaseSystem.dmg`, koji služi kao korenski fajl sistem koda za nadogradnju. Ubacivanje dinamičke biblioteke u to omogućava zlonamernom kodu da radi unutar procesa koji može menjati fajlove na nivou operativnog sistema, značajno povećavajući mogućnost kompromitovanja sistema.
#### [systemmigrationd (2023)](https://www.youtube.com/watch?v=zxZesAN-TEk)
U ovom govoru sa [**DEF CON 31**](https://www.youtube.com/watch?v=zxZesAN-TEk), prikazano je kako **`systemmigrationd`** (koji može zaobići SIP) izvršava **bash** i **perl** skriptu, koja može biti zloupotrebljena putem okružnih promenljivih **`BASH_ENV`** i **`PERL5OPT`**.
### **com.apple.rootless.install**
{% hint style="danger" %}
Odobrenje **`com.apple.rootless.install`** omogućava zaobilaženje SIP-a
{% endhint %}
Odobrenje `com.apple.rootless.install` poznato je da zaobilazi System Integrity Protection (SIP) na macOS-u. Ovo je posebno pomenuto u vezi sa [**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/).
U ovom konkretnom slučaju, sistemski XPC servis smešten na lokaciji `/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` poseduje ovo odobrenje. To omogućava povezanim procesima da zaobiđu SIP ograničenja. Ovaj servis takođe ima metodu koja omogućava premestanje fajlova bez primene bilo kakvih sigurnosnih mera.
## Zapečaćene snimke sistema
Zapečaćene snimke sistema su funkcija koju je Apple uveo u **macOS Big Sur (macOS 11)** kao deo mehanizma **System Integrity Protection (SIP)** kako bi pružio dodatni nivo sigurnosti i stabilnosti sistema. To su suštinski samo za čitanje verzije volumena sistema.
Evo detaljnijeg pregleda:
1. **Nepromenljiv sistem**: Zapečaćene snimke sistema čine macOS sistemski volumen "nepromenljivim", što znači da ga nije moguće menjati. Ovo sprečava neovlaštene ili slučajne promene na sistemu koje bi mogle ugroziti sigurnost ili stabilnost sistema.
2. **Ažuriranje sistemskog softvera**: Kada instalirate ažuriranja ili nadogradnje macOS-a, macOS kreira novu snimku sistema. Pokretački volumen macOS-a zatim koristi **APFS (Apple File System)** da pređe na ovu novu snimku. Ceo proces primene ažuriranja postaje sigurniji i pouzdaniji jer sistem uvek može da se vrati na prethodnu snimku ako nešto pođe po zlu tokom ažuriranja.
3. **Razdvajanje podataka**: Uz koncept razdvajanja volumena podataka i sistema koji je uveden u macOS Catalina, funkcija zapečaćenih snimaka sistema obezbeđuje da se svi vaši podaci i podešavanja čuvaju na odvojenom "**Data**" volumenu. Ova razdvajanja čine vaše podatke nezavisnim od sistema, što pojednostavljuje proces ažuriranja sistema i poboljšava sigurnost sistema.
Zapamtite da ove snimke automatski upravlja macOS i ne zauzimaju dodatni prostor na disku, zahvaljujući mogućnostima deljenja prostora u APFS-u. Takođe je važno napomenuti da se ove snimke razlikuju od **Time Machine snimaka**, koji su korisnički dostupne rezervne kopije celog sistema.
### Provera snimaka
Komanda **`diskutil apfs list`** prikazuje **detalje o APFS volumenima** i njihovoj strukturi:
+-- Container disk3 966B902E-EDBA-4775-B743-CF97A0556A13
| ====================================================
| APFS Container Reference: disk3
| Size (Capacity Ceiling): 494384795648 B (494.4 GB)
| Capacity In Use By Volumes: 219214536704 B (219.2 GB) (44.3% used)
| Capacity Not Allocated: 275170258944 B (275.2 GB) (55.7% free)
| |
| +-< Physical Store disk0s2 86D4B7EC-6FA5-4042-93A7-D3766A222EBE
| | -----------------------------------------------------------
| | APFS Physical Store Disk: disk0s2
| | Size: 494384795648 B (494.4 GB)
| |
| +-> Volume disk3s1 7A27E734-880F-4D91-A703-FB55861D49B7
| | ---------------------------------------------------
| | APFS Volume Disk (Role): disk3s1 (System)
| | Name: Macintosh HD (Case-insensitive)
| | Mount Point: /System/Volumes/Update/mnt1
| | Capacity Consumed: 12819210240 B (12.8 GB)
| | Sealed: Broken
| | FileVault: Yes (Unlocked)
| | Encrypted: No
| | |
| | Snapshot: FAA23E0C-791C-43FF-B0E7-0E1C0810AC61
| | Snapshot Disk: disk3s1s1
| | Snapshot Mount Point: /
| | Snapshot Sealed: Yes
[...]
+-> Volume disk3s5 281959B7-07A1-4940-BDDF-6419360F3327
| ---------------------------------------------------
| APFS Volume Disk (Role): disk3s5 (Data)
| Name: Macintosh HD - Data (Case-insensitive)
| Mount Point: /System/Volumes/Data
| Capacity Consumed: 412071784448 B (412.1 GB)
| Sealed: No
| FileVault: Yes (Unlocked)
U prethodnom izlazu mogu se videti **lokacije dostupne korisniku** montirane pod `/System/Volumes/Data`.
Osim toga, **snimak macOS sistemskog volumena** je montiran u `/` i **zapečaćen** (kriptografski potpisan od strane OS-a). Dakle, ako se zaobiđe SIP i izmeni, **OS se više neće pokrenuti**.
Takođe je moguće **proveriti da li je zapečaćenje omogućeno** pokretanjem:
```bash
csrutil authenticated-root status
Authenticated Root status: enabled
```
Osim toga, disk sa snimkom je takođe montiran kao **samo za čitanje**:
```
mount
/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
```
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.