macOS Security Protections

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

Njia nyingine za kusaidia HackTricks:

Gatekeeper

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

Maelezo zaidi katika:

pagemacOS Gatekeeper / Quarantine / XProtect

Vizuizi vya Mchakato

SIP - Ulinzi wa Mfumo wa Integriti

pagemacOS SIP

Sanduku la Mchanga

Sanduku la MacOS linapunguza maombi yanayoendesha ndani ya sanduku la mchanga kwa vitendo vilivyoidhinishwa katika wasifu wa Sanduku la mchanga programu inayoendeshwa nayo. Hii husaidia kuhakikisha kwamba programu itakuwa ikifikia rasilimali zilizotarajiwa tu.

pagemacOS Sandbox

TCC - Uwazi, Idhini, na Udhibiti

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

pagemacOS TCC

Vizuizi vya Kuanzisha/Mazingira & Cache ya Kuaminika

Vizuizi vya kuanzisha katika macOS ni kipengele cha usalama cha kusimamia kuanzisha kwa mchakato kwa kufafanua nani anaweza kuanzisha mchakato, vipi, na kutoka wapi. Ilianzishwa katika macOS Ventura, wanachambua programu za msingi za mfumo katika cache ya kuaminika. Kila faili ya binari ina mipangilio iliyowekwa kwa kuanzisha kwake, ikiwa ni pamoja na vizuizi vya kujitegemea, wazazi, na wajibu. Kupanuliwa kwa programu za mtu wa tatu kama Vizuizi vya Mazingira katika macOS Sonoma, vipengele hivi husaidia kupunguza uwezekano wa kudanganywa kwa mfumo kwa kusimamia hali za kuanzisha mchakato.

pagemacOS Launch/Environment Constraints & Trust Cache

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.

Maradhi ya programu hasidi yakiwa yamegunduliwa kwenye Mac (au na XProtect au kwa njia nyingine yoyote), MRT inaweza kutumika kiotomatiki kuondoa programu hasidi. MRT hufanya kazi kimya kimya nyuma ya pazia na kawaida hufanya kazi wakati mfumo unaposasishwa au wakati ufafanuzi mpya wa programu hasidi unapakuliwa (inaonekana sheria ambazo MRT ina kutambua programu hasidi zimo ndani ya faili ya binari).

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

  • XProtect ni zana ya kuzuia. Huchunguza faili wanapopakuliwa (kupitia programu fulani), na ikiwa inagundua aina yoyote ya programu hasidi inayojulikana, inazuia faili kufunguliwa, hivyo kuzuia programu hasidi kuiambukiza mfumo wako kwanza.

  • MRT, kwa upande mwingine, ni zana ya kurekebisha. Inafanya kazi baada ya programu hasidi kugunduliwa kwenye mfumo, lengo likiwa ni 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 ya kudumisha utekelezaji wa nambari (kama Vipengele vya Kuingia, Daemons...), hivyo mtumiaji anajua vizuri ni programu gani inayodumisha.

Hii inaendeshwa 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 folda ya kudumu ni kwa kupata FSEvents na kuunda wahudumu fulani kwa hilo.

Zaidi ya hayo, kuna faili ya plist inayohifadhi programu zinazojulikana ambazo mara nyingi hufanya kudumisha zinazosimamiwa na apple zilizoko: /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 kuorodhesha vipengele vyote vilivyowekwa vinavyotumia zana ya Apple cli:

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

Zaidi ya hayo, pia niwezekano wa kuorodhesha habari hii kwa 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.

Kuharibu BTM

Wakati uthabiti mpya unapopatikana tukio la aina ES_EVENT_TYPE_NOTIFY_BTM_LAUNCH_ITEM_ADD. Kwa hivyo, njia yoyote ya kuzuia tukio hili kutumwa au mawakala kumuarifu mtumiaji itasaidia mshambuliaji kuzidi BTM.

  • Kurejesha upya database: Kukimbia amri ifuatayo kutarejesha upya database (inapaswa kuijenga upya kutoka mwanzoni), hata hivyo, kwa sababu fulani, baada ya kukimbia hii, uthabiti mpya hautaarifiwa hadi mfumo uanzishwe tena.

  • root inahitajika.

# Reset the database
sfltool resettbtm
  • Acha Mawakala: Inawezekana kutuma ishara ya kuacha kwa mawakala ili usiwe unaweka mtumiaji alama wakati uchunguzi 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
  • Kosa: Ikiwa mchakato uliounda uthabiti upo haraka baada yake, daemon atajaribu kupata habari kuhusu hilo, kushindwa, na hautaweza kutuma tukio linaloonyesha kitu kipya kinadumu.

Marejeo na mambo zaidi kuhusu BTM:

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated