macOS Sensitive Locations & Interesting Daemons
Nywila
Nywila za Kivuli
Nywila za Kivuli hifadhiwa pamoja na usanidi wa mtumiaji katika plists zilizoko katika /var/db/dslocal/nodes/Default/users/
.
Oneliner ifuatayo inaweza kutumika kudump habari zote kuhusu watumiaji (ikiwa ni pamoja na habari za hash):
Scripts kama hii moja au hii inaweza kutumika kubadilisha hash kuwa muundo wa hashcat.
Mstari mmoja mbadala ambao utadump creds za akaunti zote zisizo za huduma kwenye muundo wa hashcat -m 7100
(macOS PBKDF2-SHA512):
Kudondoa Keychain
Tafadhali kumbuka kwamba unapotumia binary ya usalama kudondoa manenosiri yaliyofichuliwa, maombi kadhaa yatakualika ruhusa ya kufanya operesheni hii.
Kulingana na maoni haya juuso/keychaindump#10 (comment) inaonekana kama zana hizi hazifanyi kazi tena katika Big Sur.
Muhtasari wa Keychaindump
Zana inayoitwa keychaindump imeendelezwa ili kutoa nywila kutoka kwa keychains ya macOS, lakini inakabiliwa na vizuizi kwenye toleo jipya la macOS kama Big Sur, kama ilivyoelezwa katika mjadala. Matumizi ya keychaindump yanahitaji mshambuliaji kupata ufikiaji na kuinua mamlaka hadi root. Zana hii inatumia ukweli kwamba keychain inafunguliwa kiotomatiki baada ya mtumiaji kuingia kwa urahisi, kuruhusu programu kupata bila kuhitaji nywila ya mtumiaji mara kwa mara. Walakini, ikiwa mtumiaji anachagua kufunga keychain yao baada ya kila matumizi, keychaindump inakuwa haifanyi kazi.
Keychaindump inafanya kazi kwa kulenga mchakato maalum unaoitwa securityd, ulioelezwa na Apple kama daemon kwa idhini na shughuli za kriptografia, muhimu kwa kupata keychain. Mchakato wa uchimbaji unahusisha kutambua Master Key inayotokana na nywila ya kuingia ya mtumiaji. Kufuatilia Master Key, keychaindump inachunguza kumbukumbu ya heap ya securityd kwa kutumia amri ya vmmap
, kutafuta funguo za uwezekano ndani ya maeneo yaliyofungwa kama MALLOC_TINY
. Amri ifuatayo hutumiwa kuangalia maeneo haya ya kumbukumbu:
Baada ya kutambua ufunguo wa mkuu unaowezekana, keychaindump inatafuta kupitia mafundo kwa mfano maalum (0x0000000000000018
) ambao unaashiria mgombea kwa ufunguo wa mkuu. Hatua zaidi, ikiwa ni pamoja na kufuta ujazo, zinahitajika kutumia ufunguo huu, kama ilivyoelezwa katika msimbo wa chanzo wa keychaindump. Wachambuzi wanaojikita katika eneo hili wanapaswa kuzingatia kuwa data muhimu ya kufuta ufunguo wa mafungu imehifadhiwa ndani ya kumbukumbu ya mchakato wa securityd. Amri ya mfano ya kukimbia keychaindump ni:
chainbreaker
Chainbreaker inaweza kutumika kuchimba aina zifuatazo za habari kutoka kwa keychain ya OSX kwa njia inayofaa kwa uchunguzi wa kisayansi:
Hashed Keychain password, inayofaa kwa kuvunja kwa hashcat au John the Ripper
Manenosiri ya Mtandao
Manenosiri ya Kijumla
Funguo Binafsi
Funguo za Umma
Vyeti vya X509
Taarifa Salama
Manenosiri ya Appleshare
Ukipewa nenosiri la kufungua keychain, funguo kuu iliyopatikana kwa kutumia volafox au volatility, au faili ya kufungua kama SystemKey, Chainbreaker pia itatoa manenosiri ya maandishi wazi.
Bila moja ya njia hizi za kufungua Keychain, Chainbreaker itaonyesha habari zingine zilizopo.
Pakua funguo za keychain
Dumpisha funguo za keychain (pamoja na nywila) kwa kutumia SystemKey
Tupa funguo za keychain (pamoja na nywila) kuvunja hash
Dumpisha funguo za keychain (pamoja na nywila) kwa kudondosha kumbukumbu
Fuata hatua hizi kutekeleza kudondosha kumbukumbu
Dump keychain keys (with passwords) using users password
Ikiwa unajua nenosiri la mtumiaji unaweza kulitumia kudondosha na kufichua keychains zinazomilikiwa na mtumiaji.
kcpassword
Faili la kcpassword ni faili inayoshikilia nywila ya kuingia ya mtumiaji, lakini tu ikiwa mmiliki wa mfumo amewezesha uingiaji wa moja kwa moja. Kwa hivyo, mtumiaji ataingia kiotomatiki bila kuombwa nywila (ambayo sio salama sana).
Nywila imehifadhiwa kwenye faili /etc/kcpassword
iliyoxored na ufunguo 0x7D 0x89 0x52 0x23 0xD2 0xBC 0xDD 0xEA 0xA3 0xB9 0x1F
. Ikiwa nywila ya mtumiaji ni refu kuliko ufunguo, ufunguo utatumika tena.
Hii inafanya kuwa rahisi kupata nywila, kwa mfano kutumia hati kama hii.
Taarifa Muhimu katika Databases
Ujumbe
Taarifa
Unaweza kupata data za Taarifa katika $(getconf DARWIN_USER_DIR)/com.apple.notificationcenter/
Maelezo mengi ya kuvutia yatakuwepo katika blob. Hivyo utahitaji kutoa yaliyomo hayo na kubadilisha kuwa soma na ueleweke au tumia strings
. Ili kupata unaweza kufanya hivi:
Maelezo
Watumiaji maelezo wanaweza kupatikana katika ~/Library/Group Containers/group.com.apple.notes/NoteStore.sqlite
Mapendeleo
Katika programu za macOS mapendeleo hupatikana katika $HOME/Library/Preferences
na katika iOS zinapatikana katika /var/mobile/Containers/Data/Application/<UUID>/Library/Preferences
.
Katika macOS zana ya cli defaults
inaweza kutumika kubadilisha faili za Mapendeleo.
/usr/sbin/cfprefsd
inadai huduma za XPC com.apple.cfprefsd.daemon
na com.apple.cfprefsd.agent
na inaweza kuitwa kutekeleza vitendo kama vile kubadilisha mapendeleo.
Taarifa za Mfumo
Taarifa za Darwin
Mnara wa kuu wa taarifa ni /usr/sbin/notifyd
. Ili kupokea taarifa, wateja lazima wajiandikishe kupitia bandari ya Mach com.apple.system.notification_center
(angalia kwa sudo lsmp -p <pid notifyd>
). Mnara huo unaweza kubadilishwa kwa faili /etc/notify.conf
.
Majina yanayotumiwa kwa taarifa ni maelezo ya kipekee ya DNS ya kurudi na wakati taarifa inatumwa kwa mojawapo yao, wateja ambao wameonyesha wanaweza kuisimamia watapokea.
Inawezekana kudondosha hali ya sasa (na kuona majina yote) kwa kutuma ishara SIGUSR2 kwa mchakato wa notifyd na kusoma faili iliyozalishwa: /var/run/notifyd_<pid>.status
:
Kituo cha Taarifa Kilichosambazwa
Kituo cha Taarifa Kilichosambazwa ambacho binary yake kuu ni /usr/sbin/distnoted
, ni njia nyingine ya kutuma taarifa. Inafunua huduma za XPC na inafanya ukaguzi fulani kujaribu kuthibitisha wateja.
Taarifa za Kusukuma za Apple (APN)
Katika kesi hii, programu zinaweza kujiandikisha kwa mada. Mteja atazalisha ishara kwa kuwasiliana na seva za Apple kupitia apsd
.
Kisha, watoa huduma, pia watakuwa wamezalisha ishara na wataweza kuunganisha na seva za Apple kutuma ujumbe kwa wateja. Ujumbe huu utapokelewa kwa upande wa kienyeji na apsd
ambayo itapeleka taarifa kwa programu inayosubiri.
Mapendeleo yako yako katika /Library/Preferences/com.apple.apsd.plist
.
Kuna database ya kienyeji ya ujumbe iliyoko macOS katika /Library/Application\ Support/ApplePushService/aps.db
na katika iOS katika /var/mobile/Library/ApplePushService
. Ina meza 3: incoming_messages
, outgoing_messages
na channel
.
Pia niwezekana kupata habari kuhusu daemon na mawasiliano kwa kutumia:
Taarifa kwa Mtumiaji
Hizi ni taarifa ambazo mtumiaji anapaswa kuona kwenye skrini:
CFUserNotification
: API hii hutoa njia ya kuonyesha kwenye skrini pop-up na ujumbe.Ubao wa Matangazo: Hii inaonyesha kwenye iOS bango ambalo linatoweka na kuhifadhiwa kwenye Kituo cha Taarifa.
NSUserNotificationCenter
: Hii ni ubao wa matangazo wa iOS kwenye MacOS. Hifadhidata ya taarifa ipo katika/var/folders/<user temp>/0/com.apple.notificationcenter/db2/db
Last updated