hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse
2024-04-06 19:39:38 +00:00
..
macos-ipc-inter-process-communication GitBook: No commit message 2024-04-06 19:39:38 +00:00
macos-library-injection GitBook: No commit message 2024-04-06 19:39:38 +00:00
macos-.net-applications-injection.md Translated to Swahili 2024-02-11 02:13:58 +00:00
macos-chromium-injection.md Translated ['generic-methodologies-and-resources/external-recon-methodol 2024-02-23 16:48:14 +00:00
macos-dirty-nib.md Translated to Swahili 2024-02-11 02:13:58 +00:00
macos-electron-applications-injection.md Translated ['README.md', 'backdoors/salseo.md', 'cryptography/certificat 2024-03-29 21:14:28 +00:00
macos-function-hooking.md GitBook: No commit message 2024-04-06 19:39:38 +00:00
macos-java-apps-injection.md Translated to Swahili 2024-02-11 02:13:58 +00:00
macos-perl-applications-injection.md Translated ['README.md', 'backdoors/salseo.md', 'cryptography/certificat 2024-03-29 21:14:28 +00:00
macos-python-applications-injection.md Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2024-02-24 14:33:11 +00:00
macos-ruby-applications-injection.md Translated to Swahili 2024-02-11 02:13:58 +00:00
README.md GitBook: No commit message 2024-04-06 19:39:38 +00:00

macOS Proces Abuse

Jifunze kuhusu kuvamia AWS kutoka mwanzo hadi mtaalamu na htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Uvunjaji wa Mchakato wa MacOS

MacOS, kama mfumo mwingine wowote wa uendeshaji, hutoa njia na mbinu mbalimbali za mchakato kuingiliana, kuwasiliana, na kushiriki data. Ingawa njia hizi ni muhimu kwa utendaji mzuri wa mfumo, zinaweza kutumiwa vibaya na wahalifu wa mtandao kufanya shughuli za uovu.

Kuingiza Maktaba

Kuingiza Maktaba ni mbinu ambapo mshambuliaji anailazimisha mchakato kusoma maktaba mbaya. Mara ilipoingizwa, maktaba hiyo inaendeshwa katika muktadha wa mchakato lengwa, ikimpa mshambuliaji idhini na ufikiaji sawa na mchakato.

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

Kufunga Kazi

Kufunga Kazi inahusisha kukamata simu za kazi au ujumbe ndani ya nambari ya programu. Kwa kufunga kazi, mshambuliaji anaweza kurekebisha tabia ya mchakato, kuchunguza data nyeti, au hata kupata udhibiti wa mtiririko wa utekelezaji.

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

Mawasiliano kati ya Mchakato

Mawasiliano kati ya Mchakato (IPC) inahusu njia tofauti ambazo mchakato tofauti hushiriki na kubadilishana data. Ingawa IPC ni muhimu kwa programu nyingi halali, inaweza pia kutumiwa vibaya kwa kukiuka kizuizi cha mchakato, kuvuja kwa habari nyeti, au kufanya vitendo visivyoruhusiwa.

{% content-ref url="macos-ipc-inter-process-communication/" %} macos-ipc-inter-process-communication {% endcontent-ref %}

Kuingiza Programu za Electron

Programu za Electron zilizoendeshwa na mazingira maalum zinaweza kuwa na hatari ya kuingiza mchakato:

{% content-ref url="macos-electron-applications-injection.md" %} macos-electron-applications-injection.md {% endcontent-ref %}

Kuingiza Chromium

Inawezekana kutumia bendera --load-extension na --use-fake-ui-for-media-stream kufanya mashambulizi ya mtu katika kivinjari kuruhusu kuiba pigo la kibodi, trafiki, vidakuzi, kuingiza skripti kwenye kurasa...:

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

NIB Chafu

Faili za NIB hufafanua vipengele vya interface ya mtumiaji (UI) na mwingiliano wao ndani ya programu. Walakini, wanaweza kutekeleza amri za kupindukia na Gatekeeper haisimamishi programu iliyotekelezwa tayari isitekelezwe ikiwa faili ya NIB imebadilishwa. Kwa hivyo, zinaweza kutumika kufanya programu za kupindukia zitekeleze amri za kupindukia:

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

Kuingiza Programu za Java

Inawezekana kutumia uwezo fulani wa java (kama _JAVA_OPTS env variable) kufanya programu ya java itekeleze mimba ya nambari/amri.

{% content-ref url="macos-java-apps-injection.md" %} macos-java-apps-injection.md {% endcontent-ref %}

Kuingiza Programu za .Net

Inawezekana kuingiza nambari kwenye programu za .Net kwa kutumia vibaya kazi ya kufuatilia ya .Net (isilindwe na ulinzi wa macOS kama vile ukali wa wakati wa utekelezaji).

{% content-ref url="macos-.net-applications-injection.md" %} macos-.net-applications-injection.md {% endcontent-ref %}

Kuingiza Perl

Angalia chaguzi tofauti za kufanya skripti ya Perl itekeleze nambari ya kupindukia katika:

{% content-ref url="macos-perl-applications-injection.md" %} macos-perl-applications-injection.md {% endcontent-ref %}

Kuingiza Ruby

Pia inawezekana kutumia mazingira ya ruby kufanya skripti za kupindukia zitekeleze nambari ya kupindukia:

{% content-ref url="macos-ruby-applications-injection.md" %} macos-ruby-applications-injection.md {% endcontent-ref %}

Kuingiza Python

Ikiwa mazingira ya PYTHONINSPECT yanawekwa, mchakato wa python utaingia kwenye cli ya python mara tu itakapomaliza. Pia inawezekana kutumia PYTHONSTARTUP kuonyesha skripti ya python itekelezwe mwanzoni mwa kikao cha mwingiliano.
Walakini, kumbuka kwamba skripti ya PYTHONSTARTUP haitatekelezwa wakati PYTHONINSPECT inaunda kikao cha mwingiliano.

Mazingira mengine kama PYTHONPATH na PYTHONHOME pia yanaweza kuwa na manufaa kufanya amri ya python itekeleze nambari ya kupindukia.

Tambua kwamba programu zilizopangwa na pyinstaller hazitatumia mazingira haya hata kama zinaendeshwa kwa kutumia python iliyowekwa.

Kwa ujumla sikuweza kupata njia ya kufanya python itekeleze nambari ya kupindukia kwa kutumia mazingira ya mazingira.\ Walakini, wengi wa watu hufunga pyhton kwa kutumia **Hombrew**, ambayo itaiweka pyhton katika **eneo linaloweza kuandikwa** kwa mtumiaji wa kawaida wa msimamizi. Unaweza kuiba hiyo kwa kitu kama: ```bash mv /opt/homebrew/bin/python3 /opt/homebrew/bin/python3.old cat > /opt/homebrew/bin/python3 <

Uchunguzi

Kinga

Shield (Github) ni programu huru ambayo inaweza kugundua na kuzuia vitendo vya kuingiza mchakato:

  • Kutumia Mazingira ya Mazingira: Itaangalia uwepo wa mojawapo ya mazingira ya mazingira yafuatayo: DYLD_INSERT_LIBRARIES, CFNETWORK_LIBRARY_PATH, RAWCAMERA_BUNDLE_PATH na ELECTRON_RUN_AS_NODE
  • Kutumia simu za task_for_pid: Ili kugundua wakati mchakato mmoja anataka kupata bandari ya kazi ya mwingine ambayo inaruhusu kuingiza nambari katika mchakato.
  • Parameta za programu za Electron: Mtu anaweza kutumia --inspect, --inspect-brk na --remote-debugging-port hoja ya mstari wa amri kuanza programu ya Electron katika hali ya kutatua matatizo, na hivyo kuingiza nambari ndani yake.
  • Kutumia viungo vya alama au viungo vya ngumu: Kawaida unyanyasaji wa kawaida ni kuweka kiungo na ruhusa zetu za mtumiaji, na kuielekeza kwenye eneo lenye ruhusa kubwa. Uchunguzi ni rahisi sana kwa viungo vya ngumu na viungo vya alama. Ikiwa mchakato unaounda kiungo una kiwango tofauti cha ruhusa kuliko faili ya lengo, tunatuma onyo. Kwa bahati mbaya katika kesi ya viungo vya alama, kuzuia haiwezekani, kwani hatuna habari kuhusu marudio ya kiungo kabla ya uumbaji. Hii ni kizuizi cha mfumo wa EndpointSecuriy wa Apple.

Simu zilizofanywa na michakato mingine

Katika chapisho hili la blogi unaweza kupata jinsi inavyowezekana kutumia kazi ya task_name_for_pid kupata habari kuhusu michakato inayoingiza nambari katika mchakato mwingine na kisha kupata habari kuhusu mchakato huo.

Tafadhali kumbuka kwamba ili kuita kazi hiyo unahitaji kuwa uid sawa na yule anayekimbia mchakato au root (na inarudi habari kuhusu mchakato, si njia ya kuingiza nambari).

Marejeo

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

Njia nyingine za kusaidia HackTricks: