From 0e4d3d5a3836e4e088e1563636ee31c0973429c3 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 28 Jul 2025 14:30:08 +0000 Subject: [PATCH] Translated ['src/macos-hardening/macos-security-and-privilege-escalation --- .../macos-protocols.md | 87 ++++++++++++++++--- 1 file changed, 74 insertions(+), 13 deletions(-) diff --git a/src/macos-hardening/macos-security-and-privilege-escalation/macos-protocols.md b/src/macos-hardening/macos-security-and-privilege-escalation/macos-protocols.md index 4169b30a3..a6873f953 100644 --- a/src/macos-hardening/macos-security-and-privilege-escalation/macos-protocols.md +++ b/src/macos-hardening/macos-security-and-privilege-escalation/macos-protocols.md @@ -16,7 +16,7 @@ Angalia kama yoyote imewashwa kwa kukimbia: ```bash rmMgmt=$(netstat -na | grep LISTEN | grep tcp46 | grep "*.3283" | wc -l); scrShrng=$(netstat -na | grep LISTEN | egrep 'tcp4|tcp6' | grep "*.5900" | wc -l); -flShrng=$(netstat -na | grep LISTEN | egrep 'tcp4|tcp6' | egrep "\*.88|\*.445|\*.548" | wc -l); +flShrng=$(netstat -na | grep LISTEN | egrep 'tcp4|tcp6' | egrep "\\*.88|\\*.445|\\*.548" | wc -l); rLgn=$(netstat -na | grep LISTEN | egrep 'tcp4|tcp6' | grep "*.22" | wc -l); rAE=$(netstat -na | grep LISTEN | egrep 'tcp4|tcp6' | grep "*.3031" | wc -l); bmM=$(netstat -na | grep LISTEN | egrep 'tcp4|tcp6' | grep "*.4488" | wc -l); @@ -24,7 +24,7 @@ printf "\nThe following services are OFF if '0', or ON otherwise:\nScreen Sharin ``` ### Pentesting ARD -Apple Remote Desktop (ARD) ni toleo lililoboreshwa la [Virtual Network Computing (VNC)](https://en.wikipedia.org/wiki/Virtual_Network_Computing) lililoundwa kwa macOS, likitoa vipengele vya ziada. Uthibitisho wa udhaifu katika ARD ni njia yake ya uthibitishaji kwa ajili ya nenosiri la skrini ya udhibiti, ambayo inatumia tu herufi 8 za kwanza za nenosiri, na kuifanya iwe hatarini kwa [brute force attacks](https://thudinh.blogspot.com/2017/09/brute-forcing-passwords-with-thc-hydra.html) kwa kutumia zana kama Hydra au [GoRedShell](https://github.com/ahhh/GoRedShell/), kwani hakuna mipaka ya kiwango cha kawaida. +Apple Remote Desktop (ARD) ni toleo lililoboreshwa la [Virtual Network Computing (VNC)](https://en.wikipedia.org/wiki/Virtual_Network_Computing) lililoundwa kwa macOS, likitoa vipengele vya ziada. Uthibitisho wa kipekee katika ARD ni njia yake ya uthibitishaji kwa ajili ya nenosiri la skrini ya udhibiti, ambayo inatumia tu herufi 8 za kwanza za nenosiri, na kuifanya iwe hatarini kwa [brute force attacks](https://thudinh.blogspot.com/2017/09/brute-forcing-passwords-with-thc-hydra.html) kwa kutumia zana kama Hydra au [GoRedShell](https://github.com/ahhh/GoRedShell/), kwani hakuna mipaka ya kiwango cha kawaida. Mifano iliyo hatarini inaweza kutambuliwa kwa kutumia **nmap**'s `vnc-info` script. Huduma zinazounga mkono `VNC Authentication (2)` zina hatari zaidi kwa mashambulizi ya brute force kutokana na kukatwa kwa nenosiri la herufi 8. @@ -32,27 +32,49 @@ Ili kuwezesha ARD kwa kazi mbalimbali za kiutawala kama vile kupandisha hadhi, u ```bash sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -allowAccessFor -allUsers -privs -all -clientopts -setmenuextra -menuextra yes ``` -ARD inatoa viwango tofauti vya udhibiti, ikiwa ni pamoja na ufuatiliaji, udhibiti wa pamoja, na udhibiti kamili, huku vikao vikidumu hata baada ya mabadiliko ya nenosiri la mtumiaji. Inaruhusu kutuma amri za Unix moja kwa moja, kuzitekeleza kama root kwa watumiaji wa kiutawala. Upangaji wa kazi na utafutaji wa Remote Spotlight ni vipengele vya kutambulika, vinavyorahisisha utafutaji wa mbali, wa athari ndogo kwa faili nyeti katika mashine nyingi. +ARD inatoa viwango tofauti vya udhibiti, ikiwa ni pamoja na ufuatiliaji, udhibiti wa pamoja, na udhibiti kamili, huku vikao vikidumu hata baada ya mabadiliko ya nenosiri la mtumiaji. Inaruhusu kutuma amri za Unix moja kwa moja, na kuzitekeleza kama root kwa watumiaji wa kiutawala. Ratiba za kazi na utafutaji wa Remote Spotlight ni vipengele vya kutambulika, vinavyorahisisha utafutaji wa mbali, wa athari ndogo kwa faili nyeti katika mashine nyingi. -## Bonjour Protocol +#### Uthibitisho wa hivi karibuni wa Screen-Sharing / ARD (2023-2025) + +| Mwaka | CVE | Kipengele | Athari | Imefanyiwa marekebisho katika | +|------|-----|-----------|--------|----------| +|2023|CVE-2023-42940|Screen Sharing|Uwasilishaji usio sahihi wa kikao unaweza kusababisha *desktop* au dirisha *sio sahihi* kuhamasishwa, na kusababisha uvujaji wa taarifa nyeti|macOS Sonoma 14.2.1 (Desemba 2023) | +|2024|CVE-2024-23296|launchservicesd / login|Kuvunjwa kwa ulinzi wa kumbukumbu ya kernel ambayo inaweza kuunganishwa baada ya kuingia kwa mbali kwa mafanikio (inatumika kwa nguvu katika mazingira ya kawaida)|macOS Ventura 13.6.4 / Sonoma 14.4 (Machi 2024) | + +**Vidokezo vya kuimarisha** + +* Zima *Screen Sharing*/*Remote Management* wakati sio muhimu sana. +* Hifadhi macOS ikiwa na sasisho kamili (Apple kwa ujumla huleta marekebisho ya usalama kwa toleo tatu kubwa za mwisho). +* Tumia **Nenosiri Imara** *na* kulazimisha chaguo la *“VNC viewers may control screen with password”* **limezimwa** inapowezekana. +* Weka huduma hiyo nyuma ya VPN badala ya kuifichua TCP 5900/3283 kwa Mtandao. +* Ongeza sheria ya Firewall ya Programu ili kupunguza `ARDAgent` kwa subnet ya ndani: + +```bash +sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent +sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setblockapp /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent on +``` + +--- + +## Protokali ya Bonjour Bonjour, teknolojia iliyoundwa na Apple, inaruhusu **vifaa kwenye mtandao mmoja kugundua huduma zinazotolewa na kila mmoja**. Inajulikana pia kama Rendezvous, **Zero Configuration**, au Zeroconf, inaruhusu kifaa kujiunga na mtandao wa TCP/IP, **kujichagulia anwani ya IP kiotomatiki**, na kutangaza huduma zake kwa vifaa vingine vya mtandao. Zero Configuration Networking, inayotolewa na Bonjour, inahakikisha kwamba vifaa vinaweza: -- **Kujipatia Anwani ya IP kiotomatiki** hata bila kuwepo kwa seva ya DHCP. +- **Kupata Anwani ya IP kiotomatiki** hata bila kuwepo kwa seva ya DHCP. - Kufanya **tafsiri ya jina hadi anwani** bila kuhitaji seva ya DNS. - **Gundua huduma** zinazopatikana kwenye mtandao. -Vifaa vinavyotumia Bonjour vitajipatia **anwani ya IP kutoka kwenye anuwai ya 169.254/16** na kuthibitisha upekee wake kwenye mtandao. Macs huhifadhi kipengele cha jedwali la routing kwa subnet hii, kinachoweza kuthibitishwa kupitia `netstat -rn | grep 169`. +Vifaa vinavyotumia Bonjour vitajipatia **anwani ya IP kutoka kwenye anuwai ya 169.254/16** na kuthibitisha upekee wake kwenye mtandao. Macs huhifadhi kipengele cha routing kwa subnet hii, kinachoweza kuthibitishwa kupitia `netstat -rn | grep 169`. -Kwa DNS, Bonjour inatumia **Multicast DNS (mDNS) protocol**. mDNS inafanya kazi juu ya **port 5353/UDP**, ikitumia **maswali ya kawaida ya DNS** lakini ikilenga **anwani ya multicast 224.0.0.251**. Njia hii inahakikisha kwamba vifaa vyote vinavyosikiliza kwenye mtandao vinaweza kupokea na kujibu maswali, na hivyo kurahisisha sasisho la rekodi zao. +Kwa DNS, Bonjour inatumia **protokali ya Multicast DNS (mDNS)**. mDNS inafanya kazi kupitia **bandari 5353/UDP**, ikitumia **maswali ya kawaida ya DNS** lakini ikilenga **anwani ya multicast 224.0.0.251**. Njia hii inahakikisha kwamba vifaa vyote vinavyosikiliza kwenye mtandao vinaweza kupokea na kujibu maswali, na kurahisisha sasisho la rekodi zao. -Pale kifaa kinapojiunga na mtandao, kila kifaa kinajichagulia jina, ambacho kwa kawaida kinamalizika kwa **.local**, ambacho kinaweza kutokana na jina la mwenyeji au kutengenezwa kwa bahati nasibu. +Pale kifaa kinapoungana na mtandao, kila kifaa kinajichagulia jina, ambacho kwa kawaida kinaishia na **.local**, ambacho kinaweza kutokana na jina la mwenyeji au kutengenezwa kwa bahati nasibu. -Gundua huduma ndani ya mtandao inarahisishwa na **DNS Service Discovery (DNS-SD)**. Kwa kutumia muundo wa rekodi za DNS SRV, DNS-SD inatumia **rekodi za DNS PTR** kuwezesha orodha ya huduma nyingi. Mteja anayepata huduma maalum atahitaji rekodi ya PTR kwa `.`, akipokea orodha ya rekodi za PTR zilizoundwa kama `..` ikiwa huduma inapatikana kutoka kwa mwenyeji wengi. +Gundua huduma ndani ya mtandao inarahisishwa na **DNS Service Discovery (DNS-SD)**. Kwa kutumia muundo wa rekodi za DNS SRV, DNS-SD inatumia **rekodi za DNS PTR** kuwezesha orodha ya huduma nyingi. Mteja anayetafuta huduma maalum ataomba rekodi ya PTR kwa `.`, akipokea orodha ya rekodi za PTR zilizoundwa kama `..` ikiwa huduma inapatikana kutoka kwa mwenyeji wengi. -Zana ya `dns-sd` inaweza kutumika kwa **kugundua na kutangaza huduma za mtandao**. Hapa kuna mifano ya matumizi yake: +Zana ya `dns-sd` inaweza kutumika kwa **kugundua na kutangaza huduma za mtandao**. Hapa kuna baadhi ya mifano ya matumizi yake: ### Kutafuta Huduma za SSH @@ -99,16 +121,55 @@ input("Press enter to exit...\n\n") finally: zeroconf.close() ``` -### Kuondoa Bonjour +### Kuorodhesha Bonjour kupitia mtandao -Ikiwa kuna wasiwasi kuhusu usalama au sababu nyingine za kuondoa Bonjour, inaweza kuzimwa kwa kutumia amri ifuatayo: +* **Nmap NSE** – gundua huduma zinazotangazwa na mwenyeji mmoja: + +```bash +nmap -sU -p 5353 --script=dns-service-discovery +``` + +Script ya `dns-service-discovery` inatuma ombi la `_services._dns-sd._udp.local` kisha inakuorodhesha kila aina ya huduma iliyotangazwa. + +* **mdns_recon** – Zana ya Python inayoskania maeneo yote kutafuta *maktaba* za mDNS ambazo zinajibu maswali ya unicast (inasaidia kupata vifaa vinavyoweza kufikiwa kupitia subnets/WAN): + +```bash +git clone https://github.com/chadillac/mdns_recon && cd mdns_recon +python3 mdns_recon.py -r 192.0.2.0/24 -s _ssh._tcp.local +``` + +Hii itarudisha mwenyeji wanaoonyesha SSH kupitia Bonjour nje ya kiungo cha ndani. + +### Maoni ya usalama & udhaifu wa hivi karibuni (2024-2025) + +| Mwaka | CVE | Ukali | Tatizo | Imefanyiwa marekebisho katika | +|------|-----|----------|-------|------------| +|2024|CVE-2024-44183|Kati|Kosa la mantiki katika *mDNSResponder* liliruhusu pakiti iliyoundwa kuanzisha **kukosekana kwa huduma**|macOS Ventura 13.7 / Sonoma 14.7 / Sequoia 15.0 (Sep 2024) | +|2025|CVE-2025-31222|Juu|Tatizo la usahihi katika *mDNSResponder* linaweza kutumika kwa **kuinua mamlaka ya ndani**|macOS Ventura 13.7.6 / Sonoma 14.7.6 / Sequoia 15.5 (May 2025) | + +**Mwongozo wa kupunguza hatari** + +1. Punguza UDP 5353 kwa *muktadha wa kiungo-lokali* – zuia au punguza kiwango chake kwenye wasimamizi wa wireless, route, na firewalls za mwenyeji. +2. Zima Bonjour kabisa kwenye mifumo ambayo haitaji kugundua huduma: + +```bash +sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist +``` +3. Kwa mazingira ambapo Bonjour inahitajika ndani lakini haipaswi kuvuka mipaka ya mtandao, tumia vizuizi vya *AirPlay Receiver* (MDM) au proxy ya mDNS. +4. Washa **Ulinzi wa Uadilifu wa Mfumo (SIP)** na uendeleze macOS – udhaifu wote hapo juu ulifanyiwa marekebisho haraka lakini ulitegemea SIP kuwa imewashwa kwa ulinzi kamili. + +### Kuzima Bonjour + +Ikiwa kuna wasiwasi kuhusu usalama au sababu nyingine za kuzima Bonjour, inaweza kuzimwa kwa kutumia amri ifuatayo: ```bash sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ``` ## Marejeo -- [**The Mac Hacker's Handbook**](https://www.amazon.com/-/es/Charlie-Miller-ebook-dp-B004U7MUMU/dp/B004U7MUMU/ref=mt_other?_encoding=UTF8&me=&qid=) +- [**Kitabu cha Hacker wa Mac**](https://www.amazon.com/-/es/Charlie-Miller-ebook-dp-B004U7MUMU/dp/B004U7MUMU/ref=mt_other?_encoding=UTF8&me=&qid=) - [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html) - [**https://lockboxx.blogspot.com/2019/07/macos-red-teaming-206-ard-apple-remote.html**](https://lockboxx.blogspot.com/2019/07/macos-red-teaming-206-ard-apple-remote.html) +- [**NVD – CVE-2023-42940**](https://nvd.nist.gov/vuln/detail/CVE-2023-42940) +- [**NVD – CVE-2024-44183**](https://nvd.nist.gov/vuln/detail/CVE-2024-44183) {{#include ../../banners/hacktricks-training.md}}