mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/macos-hardening/macos-security-and-privilege-escalation
This commit is contained in:
parent
67da3b3034
commit
4bc44e43d0
@ -18,14 +18,14 @@ Apple ilirekebisha makosa mawili ya uharibifu wa kumbukumbu ambayo yalitumiwa kw
|
|||||||
• Imeanzishwa kutoka kwa nafasi ya mtumiaji kupitia ujumbe wa XPC ulioandaliwa ambao unavunja buffer katika `libxpc`, kisha inahamia kwenye kernel wakati ujumbe unachambuliwa.
|
• Imeanzishwa kutoka kwa nafasi ya mtumiaji kupitia ujumbe wa XPC ulioandaliwa ambao unavunja buffer katika `libxpc`, kisha inahamia kwenye kernel wakati ujumbe unachambuliwa.
|
||||||
* **CVE-2024-23296 – RTKit**
|
* **CVE-2024-23296 – RTKit**
|
||||||
• Uharibifu wa kumbukumbu katika RTKit ya Apple Silicon (co-processor wa wakati halisi).
|
• Uharibifu wa kumbukumbu katika RTKit ya Apple Silicon (co-processor wa wakati halisi).
|
||||||
• Mnyororo wa unyakuzi ulioonekana ulitumia CVE-2024-23225 kwa R/W ya kernel na CVE-2024-23296 kutoroka kwenye sanduku la mchakataji salama wa co-processor na kuzima PAC.
|
• Mnyororo wa unyakuzi ulioonekana ulitumia CVE-2024-23225 kwa R/W ya kernel na CVE-2024-23296 kutoroka kwenye sandbox ya co-processor salama na kuzima PAC.
|
||||||
|
|
||||||
Patch level detection:
|
Patch level detection:
|
||||||
```bash
|
```bash
|
||||||
sw_vers # ProductVersion 14.4 or later is patched
|
sw_vers # ProductVersion 14.4 or later is patched
|
||||||
authenticate sudo sysctl kern.osversion # 23E214 or later for Sonoma
|
authenticate sudo sysctl kern.osversion # 23E214 or later for Sonoma
|
||||||
```
|
```
|
||||||
Ikiwa kuboresha si iwezekanavyo, punguza kwa kuzima huduma zenye udhaifu:
|
Ikiwa kuboresha si iwezekanavyo, punguza hatari kwa kuzima huduma zenye udhaifu:
|
||||||
```bash
|
```bash
|
||||||
launchctl disable system/com.apple.analyticsd
|
launchctl disable system/com.apple.analyticsd
|
||||||
launchctl disable system/com.apple.rtcreportingd
|
launchctl disable system/com.apple.rtcreportingd
|
||||||
@ -34,7 +34,8 @@ launchctl disable system/com.apple.rtcreportingd
|
|||||||
|
|
||||||
## 2023: MIG Type-Confusion – CVE-2023-41075
|
## 2023: MIG Type-Confusion – CVE-2023-41075
|
||||||
|
|
||||||
`mach_msg()` maombi yanayotumwa kwa mteja wa IOKit asiye na haki yanaweza kusababisha **kuchanganya aina** katika glue-code inayozalishwa na MIG. Wakati ujumbe wa majibu unavyojulikana tena kwa kutumia desktopu kubwa zaidi ya ile iliyotengwa awali, mshambuliaji anaweza kufikia **OOB write** iliyo na udhibiti katika maeneo ya kernel heap na hatimaye kupandisha hadhi hadi `root`.
|
`mach_msg()` maombi yanayotumwa kwa mteja wa IOKit asiye na haki yanaweza kusababisha **kuchanganya aina** katika glue-code inayozalishwa na MIG. Wakati ujumbe wa majibu unavyoeleweka tena kwa desktopu kubwa zaidi ya ile iliyotengwa awali, mshambuliaji anaweza kufikia **OOB write** iliyo na udhibiti katika maeneo ya kernel heap na hatimaye
|
||||||
|
kuinua hadhi hadi `root`.
|
||||||
|
|
||||||
Muhtasari wa msingi (Sonoma 14.0-14.1, Ventura 13.5-13.6):
|
Muhtasari wa msingi (Sonoma 14.0-14.1, Ventura 13.5-13.6):
|
||||||
```c
|
```c
|
||||||
@ -48,17 +49,17 @@ mach_msg(&msg.header, MACH_SEND_MSG|MACH_RCV_MSG, ...);
|
|||||||
```
|
```
|
||||||
Public exploits zinatumia hitilafu kwa:
|
Public exploits zinatumia hitilafu kwa:
|
||||||
1. Kuweka `ipc_kmsg` buffers na viashiria vya bandari vilivyo hai.
|
1. Kuweka `ipc_kmsg` buffers na viashiria vya bandari vilivyo hai.
|
||||||
2. Kuandika upya `ip_kobject` wa bandari isiyofanya kazi.
|
2. Kuandika upya `ip_kobject` ya bandari isiyo na mwelekeo.
|
||||||
3. Kujaribu shellcode iliyopangwa kwenye anwani iliyoundwa na PAC kwa kutumia `mprotect()`.
|
3. Kuruka kwenye shellcode iliyopangwa kwenye anwani iliyoundwa na PAC kwa kutumia `mprotect()`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 2024-2025: SIP Bypass kupitia Kexts za Watu wa Tatu – CVE-2024-44243 (aka “Sigma”)
|
## 2024-2025: SIP Bypass kupitia Kexts za Watu wa Tatu – CVE-2024-44243 (aka “Sigma”)
|
||||||
|
|
||||||
Watafiti wa usalama kutoka Microsoft walionyesha kwamba daemon yenye mamlaka ya juu `storagekitd` inaweza kulazimishwa kupakia **kext ya kernel isiyo na saini** na hivyo kabisa kuzima **System Integrity Protection (SIP)** kwenye macOS iliyopangwa kikamilifu (kabla ya 15.2). Mchakato wa shambulio ni:
|
Watafiti wa usalama kutoka Microsoft walionyesha kwamba daemon yenye mamlaka ya juu `storagekitd` inaweza kulazimishwa kupakia **kext ya kernel isiyo na saini** na hivyo kabisa kuzima **Ulinzi wa Uadilifu wa Mfumo (SIP)** kwenye macOS iliyopatikana kikamilifu (kabla ya 15.2). Mchakato wa shambulio ni:
|
||||||
|
|
||||||
1. Kutumia haki ya kibinafsi `com.apple.storagekitd.kernel-management` ili kuanzisha msaidizi chini ya udhibiti wa mshambuliaji.
|
1. Kutumia haki ya kibinafsi `com.apple.storagekitd.kernel-management` ili kuanzisha msaidizi chini ya udhibiti wa mshambuliaji.
|
||||||
2. Msaidizi anaita `IOService::AddPersonalitiesFromKernelModule` na kamusi ya taarifa iliyoundwa ikielekeza kwenye kifurushi cha kext chenye uharibifu.
|
2. Msaidizi anaita `IOService::AddPersonalitiesFromKernelModule` na kamusi ya habari iliyoundwa ikielekeza kwenye kifurushi cha kext chenye uharibifu.
|
||||||
3. Kwa sababu ukaguzi wa kuaminika wa SIP unafanywa *baada* ya kext kupangwa na `storagekitd`, msimbo unatekelezwa katika ring-0 kabla ya uthibitisho na SIP inaweza kuzimwa kwa `csr_set_allow_all(1)`.
|
3. Kwa sababu ukaguzi wa kuaminika wa SIP unafanywa *baada* ya kext kupangwa na `storagekitd`, msimbo unatekelezwa katika ring-0 kabla ya uthibitisho na SIP inaweza kuzimwa kwa `csr_set_allow_all(1)`.
|
||||||
|
|
||||||
Vidokezo vya kugundua:
|
Vidokezo vya kugundua:
|
||||||
@ -66,7 +67,7 @@ Vidokezo vya kugundua:
|
|||||||
kmutil showloaded | grep -v com.apple # list non-Apple kexts
|
kmutil showloaded | grep -v com.apple # list non-Apple kexts
|
||||||
log stream --style syslog --predicate 'senderImagePath contains "storagekitd"' # watch for suspicious child procs
|
log stream --style syslog --predicate 'senderImagePath contains "storagekitd"' # watch for suspicious child procs
|
||||||
```
|
```
|
||||||
Haraka ya kurekebisha ni kusasisha hadi macOS Sequoia 15.2 au baadaye.
|
Haraka kurekebisha ni kusasisha hadi macOS Sequoia 15.2 au baadaye.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user