hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections
2024-03-29 21:14:28 +00:00
..
macos-fs-tricks Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2024-03-28 17:36:29 +00:00
macos-sandbox Translated to Swahili 2024-02-11 02:13:58 +00:00
macos-tcc Translated ['README.md', 'backdoors/salseo.md', 'cryptography/certificat 2024-03-29 21:14:28 +00:00
macos-dangerous-entitlements.md Translated ['README.md', 'backdoors/salseo.md', 'cryptography/certificat 2024-03-29 21:14:28 +00:00
macos-gatekeeper.md Translated to Swahili 2024-02-11 02:13:58 +00:00
macos-launch-environment-constraints.md Translated to Swahili 2024-02-11 02:13:58 +00:00
macos-sip.md Translated to Swahili 2024-02-11 02:13:58 +00:00
README.md Translated to Swahili 2024-02-11 02:13:58 +00:00

Ulinzi wa macOS

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Gatekeeper

Gatekeeper kawaida hutumiwa kurejelea Quarantine + Gatekeeper + XProtect, moduli 3 za usalama za macOS ambazo zitajaribu kuzuia watumiaji kutoka kwa kutekeleza programu inayoweza kuwa na nia mbaya iliyopakuliwa.

Maelezo zaidi katika:

{% content-ref url="macos-gatekeeper.md" %} macos-gatekeeper.md {% endcontent-ref %}

Mipaka ya Mchakato

SIP - Ulinzi wa Uadilifu wa Mfumo

{% content-ref url="macos-sip.md" %} macos-sip.md {% endcontent-ref %}

Sanduku la Mchanga

Sandbox ya MacOS inapunguza matumizi yanayoendesha ndani ya sanduku la mchanga kwa vitendo vilivyoidhinishwa vilivyoelezwa katika wasifu wa Sanduku la Mchanga programu inayoendesha nayo. Hii husaidia kuhakikisha kwamba programu itakuwa ikifikia rasilimali zinazotarajiwa tu.

{% content-ref url="macos-sandbox/" %} macos-sandbox {% endcontent-ref %}

TCC - Uwazi, Ridhaa, na Udhibiti

TCC (Uwazi, Ridhaa, na Udhibiti) ni mfumo wa usalama. Imeundwa kusimamia ruhusa za programu, hasa kwa kudhibiti ufikiaji wao kwa vipengele nyeti. Hii ni pamoja na mambo kama huduma za eneo, mawasiliano, picha, kipaza sauti, kamera, upatikanaji, na ufikiaji kamili wa diski. TCC inahakikisha kuwa programu zinaweza kufikia vipengele hivi baada ya kupata ridhaa wazi kutoka kwa mtumiaji, hivyo kuimarisha faragha na udhibiti wa data ya kibinafsi.

{% content-ref url="macos-tcc/" %} macos-tcc {% endcontent-ref %}

Vizuizi vya Kuzindua/Mazingira & Hifadhi ya Uaminifu

Vizuizi vya kuzindua katika macOS ni kipengele cha usalama cha kudhibiti kuanzishwa kwa mchakato kwa kufafanua nani anaweza kuzindua mchakato, jinsi gani, na kutoka wapi. Ilianzishwa katika macOS Ventura, inagawanya programu za mfumo katika vikundi vya vizuizi ndani ya hifadhi ya uaminifu. Kila faili ya kutekelezwa ina seti ya kanuni kwa ajili ya uzinduzi wake, ikiwa ni pamoja na vizuizi vya ndani, wazazi, na wajibu. Iliyopanuliwa kwa programu za watu wa tatu kama Vizuizi vya Mazingira katika macOS Sonoma, vipengele hivi husaidia kupunguza uwezekano wa udanganyifu wa mfumo kwa kudhibiti hali za kuzindua mchakato.

{% content-ref url="macos-launch-environment-constraints.md" %} macos-launch-environment-constraints.md {% endcontent-ref %}

MRT - Zana ya Kuondoa Programu Hasidi

Zana ya Kuondoa Programu Hasidi (MRT) ni sehemu nyingine ya miundombinu ya usalama ya macOS. Kama jina linavyopendekeza, kazi kuu ya MRT ni kuondoa programu hasidi inayojulikana kutoka kwenye mifumo iliyoambukizwa.

Baada ya programu hasidi kugunduliwa kwenye Mac (kwa kutumia XProtect au njia nyingine), MRT inaweza kutumika kwa kuondoa programu hasidi kiotomatiki. MRT inafanya kazi kimya kimya nyuma ya pazia na kawaida inaendeshwa wakati mfumo unapofanyiwa sasisho au wakati ufafanuzi mpya wa programu hasidi unapakuliwa (inavyoonekana sheria ambazo MRT ina kugundua programu hasidi zipo ndani ya faili ya kutekelezwa).

Wakati XProtect na MRT zote ni sehemu ya hatua za usalama za macOS, zinafanya kazi tofauti:

  • XProtect ni zana ya kuzuia. Inachunguza faili wanapopakuliwa (kupitia programu fulani), na ikiwa inagundua aina yoyote ya programu hasidi inayojulikana, inazuia faili kufunguliwa, hivyo kuzuia programu hasidi kuambukiza mfumo wako kwanza.
  • MRT, kwa upande mwingine, ni zana ya kurekebisha. Inafanya kazi baada ya programu hasidi kugunduliwa kwenye mfumo, na lengo la kuondoa programu hasidi ili kusafisha mfumo.

Programu ya MRT iko katika /Library/Apple/System/Library/CoreServices/MRT.app

Usimamizi wa Kazi za Nyuma

macOS sasa inatoa tahadhari kila wakati zana inatumia njia inayojulikana kuendelea na utekelezaji wa nambari (kama Vipengele vya Kuingia, Daemons...), ili mtumiaji ajue vizuri programu gani inaendelea.

Hii inafanya kazi na daemon iliyoko katika /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/Resources/backgroundtaskmanagementd na agent katika /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app

Njia backgroundtaskmanagementd inajua kitu kimefungwa katika saraka ya kudumu ni kwa kupata FSEvents na kuunda wahusika kwa hizo.

Zaidi ya hayo, kuna faili ya plist ambayo ina programu maarufu inayodumu mara kwa mara inayosimamiwa na apple iliyoko: /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/Resources/attributions.plist

[...]
"us.zoom.ZoomDaemon" => {
"AssociatedBundleIdentifiers" => [
0 => "us.zoom.xos"
]
"Attribution" => "Zoom"
"Program" => "/Library/PrivilegedHelperTools/us.zoom.ZoomDaemon"
"ProgramArguments" => [
0 => "/Library/PrivilegedHelperTools/us.zoom.ZoomDaemon"
]
"TeamIdentifier" => "BJ4HAAB9B3"
}
[...]

Uchambuzi

Inawezekana kuchambua vitu vyote vilivyowekwa kwenye historia ya nyuma kwa kutumia zana ya Apple cli:

# The tool will always ask for the users password
sfltool dumpbtm

Zaidi ya hayo, pia niwezekano wa kuorodhesha habari hii na DumpBTM.

# You need to grant the Terminal Full Disk Access for this to work
chmod +x dumpBTM
xattr -rc dumpBTM # Remove quarantine attr
./dumpBTM

Habari hii inahifadhiwa katika /private/var/db/com.apple.backgroundtaskmanagement/BackgroundItems-v4.btm na Terminal inahitaji FDA.

Kuchezea na BTM

Wakati upyaji mpya unapatikana, tukio la aina ya ES_EVENT_TYPE_NOTIFY_BTM_LAUNCH_ITEM_ADD hutokea. Kwa hivyo, njia yoyote ya kuzuia tukio hili kutumwa au mawakala kutoa tahadhari kwa mtumiaji itasaidia mshambuliaji kuvuka BTM.

  • Kurejesha database: Kukimbia amri ifuatayo kutarejesha database (inapaswa kuijenga upya kutoka mwanzo), hata hivyo, kwa sababu fulani, baada ya kukimbia hii, hakuna upyaji mpya utakaoonywa hadi mfumo unapoanza tena.
  • root inahitajika.
# Reset the database
sfltool resettbtm
  • Acha Mawakala: Inawezekana kutuma ishara ya kuacha kwa mawakala ili isiwafahamishe mtumiaji wakati ugunduzi mpya unapatikana.
# Get PID
pgrep BackgroundTaskManagementAgent
1011

# Stop it
kill -SIGSTOP 1011

# Check it's stopped (a T means it's stopped)
ps -o state 1011
T
  • Bug: Ikiwa mchakato uliounda uthabiti unakamilika haraka baada yake, daemon itajaribu kupata habari kuhusu hilo, kushindwa, na haitaweza kutuma tukio linaloonyesha kuwa kitu kipya kinadumu.

Marejeo na habari zaidi kuhusu BTM:

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks: