<summary><strong>Jifunze AWS kudukua kutoka sifuri hadi shujaa na</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
[Kutoka kwa nyaraka](https://origin.nodejs.org/ru/docs/guides/debugging-getting-started): Wakati inaanzishwa na kubadilisha `--inspect`, mchakato wa Node.js unasikiliza mteja wa kudukua. Kwa **default**, itasikiliza kwenye mwenyeji na bandari **`127.0.0.1:9229`**. Kila mchakato pia hupewa **UUID****ya kipekee**.
Wateja wa Inspector lazima wajue na wataje anwani ya mwenyeji, bandari, na UUID kuunganisha. URL kamili itaonekana kama `ws://127.0.0.1:9229/0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e`.
Kwa kuwa **kudukua kuna ufikivu kamili wa mazingira ya utekelezaji wa Node.js**, mwigizaji mwenye nia mbaya anayeweza kuunganisha kwenye bandari hii anaweza kutekeleza nambari ya kupindukia kwa niaba ya mchakato wa Node.js (**kuongezeka kwa haki za mamlaka**).
Mchakato unaotegemea **CEF** (**Chromium Embedded Framework**) kama unahitaji kutumia param: `--remote-debugging-port=9222` kufungua **debugger** (ulinzi wa SSRF unabaki sawa sana). Hata hivyo, badala yake ya kutoa kikao cha **debug** cha **NodeJS** kitawasiliana na kivinjari kutumia [**Chrome DevTools Protocol**](https://chromedevtools.github.io/devtools-protocol/), hii ni kiolesura cha kudhibiti kivinjari, lakini hakuna RCE moja kwa moja.
Tovuti zilizofunguliwa kwenye kivinjari cha wavuti zinaweza kufanya ombi la WebSocket na HTTP chini ya mfano wa usalama wa kivinjari. **Unganisho wa kwanza wa HTTP** ni muhimu kupata **kitambulisho cha kikao cha kufuatilia kipekee**. **Sera ya asili****inazuia** tovuti kutofanya **unganisho hili la HTTP**. Kwa usalama zaidi dhidi ya [**mashambulizi ya kurejelea DNS**](https://en.wikipedia.org/wiki/DNS\_rebinding)**,** Node.js inathibitisha kuwa vichwa vya **'Host'** kwa uhusiano vinabainisha **anwani ya IP** au **`localhost`** au **`localhost6`** kwa usahihi.
Hizi **hatua za usalama zinazuia kutumia kipima** kutekeleza kanuni kwa **tu kutuma ombi la HTTP** (ambalo lingeweza kufanywa kwa kutumia kasoro ya SSRF).
Unaweza kutuma **ishara SIGUSR1** kwa mchakato wa nodejs unaofanya kazi ili kufanya **ianze kipima** kwenye bandari ya msingi. Walakini, kumbuka kuwa unahitaji **mamlaka za kutosha**, hivyo hii inaweza kukupa **upatikanaji wa mamlaka kwa habari ndani ya mchakato** lakini sio kibali cha moja kwa moja cha kuongeza mamlaka.
Hii ni muhimu katika vyombo kwa sababu **kuzima mchakato na kuanzisha mpya** na `--inspect` si **chaguo** kwa sababu **kontena** ita **uawa** pamoja na mchakato.
Kuunganisha kwa kivinjari **kinachotegemea Chromium**, URL za `chrome://inspect` au `edge://inspect` zinaweza kupatikana kwa Chrome au Edge, mtawalia. Kwa kubonyeza kitufe cha Configure, ni lazima kuhakikisha kuwa **mwenyeji na bandari ya lengo** zimeorodheshwa kwa usahihi. Picha inaonyesha mfano wa Utekelezaji wa Kanuni kwa Mbali (RCE):
Chombo [**https://github.com/taviso/cefdebug**](https://github.com/taviso/cefdebug), inaruhusu **kupata wachunguzi** wanaofanya kazi kwa karibu na **kuingiza msimbo** ndani yao.
Tafadhali kumbuka kwamba **NodeJS RCE exploits haitafanya kazi** ikiwa unahusishwa na kivinjari kupitia [**Chrome DevTools Protocol**](https://chromedevtools.github.io/devtools-protocol/) (unahitaji kuangalia API ili kupata vitu vya kuvutia kufanya nayo).
Ikiwa umekuja hapa ukitafuta jinsi ya kupata [**RCE kutoka kwa XSS katika Electron tafadhali angalia ukurasa huu.**](../../network-services-pentesting/pentesting-web/electron-desktop-apps/)
Baadhi ya njia za kawaida za kupata **RCE** unapoweza **kuunganisha** kwenye Node **inspector** ni kutumia kitu kama (inaonekana hii **haitafanya kazi katika uhusiano na Chrome DevTools protocol**):
Katika [**CVE-2021-38112**](https://rhinosecuritylabs.com/aws/cve-2021-38112-aws-workspaces-rce/) Rhino security iligundua kwamba programu iliyotegemea CEF **iliandikisha URI ya desturi** kwenye mfumo (workspaces://) ambayo ilipokea URI kamili na kisha **kuzindua programu iliyotegemea CEF** na usanidi uliokuwa sehemu iliyoundwa kutoka kwa URI hiyo.
Iligundulika kwamba parameta za URI zilikuwa zimefanyiwa URL decode na kutumika kuzindua programu ya msingi ya CEF, kuruhusu mtumiaji **kudukua** bendera **`--gpu-launcher`** kwenye **mstari wa amri** na kutekeleza mambo yoyote.
Badilisha folda ambapo **faili zilizopakuliwa zitahifadhiwa** na pakua faili ili **kubadilisha** mara kwa mara **msimbo wa chanzo** wa programu na **msimbo wako mbaya**.
Kulingana na chapisho hili: [https://medium.com/@knownsec404team/counter-webdriver-from-bot-to-rce-b5bfb309d148](https://medium.com/@knownsec404team/counter-webdriver-from-bot-to-rce-b5bfb309d148) inawezekana kupata RCE na kutoa kurasa za ndani kutoka kwa theriver.
Katika mazingira halisi na **baada ya kudukua** kompyuta ya mtumiaji inayotumia kivinjari kinachotegemea Chrome/Chromium unaweza kuzindua mchakato wa Chrome na **kuwezesha udukuzi na kuhamisha bandari ya udukuzi** ili uweze kuiaccess. Kwa njia hii utaweza **kuchunguza kila kitu ambacho muathiriwa anafanya na Chrome na kuiba taarifa nyeti**.
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.