IPC Namespace
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Muhtasari
IPC namespace inatenga System V IPC objects na POSIX message queues. Hii inajumuisha shared memory segments, semaphores, na message queues ambazo vingekuwa vinaonekana kati ya processes zisizohusiana kwenye host. Kwa maneno ya vitendo, hii inazuia container kuunganishwa kwa urahisi na IPC objects zinazomilikiwa na workloads nyingine au host.
Ulinganishwa na mount, PID, au user namespaces, IPC namespace mara nyingi hujadiliwa kidogo, lakini hilo halipaswi kuchanganywa na kutokuwa na umuhimu. Shared memory na mechanisms zinazohusiana na IPC zinaweza kuwa na state muhimu sana. Ikiwa host IPC namespace itaonekana, workload inaweza kupata uwezo wa kuona vitu vya uratibu kati ya process au data ambayo haikuwa imekusudiwa kuvuka mpaka wa container.
Uendeshaji
Wakati runtime inapotengeneza IPC namespace mpya, process inapata seti yake ya vitambulisho vya IPC vilivyotengwa. Hii inamaanisha amri kama ipcs zinaonyesha tu vitu vilivyo katika namespace hiyo. Ikiwa container badala yake inajiunga na host IPC namespace, vitu hivyo vinakuwa sehemu ya mtazamo wa pamoja wa kimataifa.
Hii ni muhimu hasa katika mazingira ambapo applications au services zinatumia shared memory kwa wingi. Hata pale container isiyoweza kutoroka moja kwa moja kupitia IPC pekee, namespace inaweza leak taarifa au kuwezesha kuingilia kati kwa mchakato-mwingine ambayo inaweza kusaidia kwa kiasi kikubwa shambulio la baadaye.
Maabara
Unaweza kuunda IPC namespace binafsi kwa:
sudo unshare --ipc --fork bash
ipcs
Na linganisha tabia za runtime na:
docker run --rm debian:stable-slim ipcs
docker run --rm --ipc=host debian:stable-slim ipcs
Matumizi ya Runtime
Docker na Podman hutenganisha IPC kwa chaguo-msingi. Kubernetes kwa kawaida huwapa Pod namespace yake ya IPC, ambayo inashirikiwa na containers ndani ya Pod ile ile lakini si kwa chaguo-msingi na host. Kushirikiana kwa host IPC ni uwezekano, lakini inapaswa kuchukuliwa kama kupunguzwa muhimu kwa utenganisho badala ya chaguo dogo la runtime.
Usanidi usio sahihi
Hitilafu inayoonekana wazi ni --ipc=host au hostIPC: true. Hii inaweza kufanywa kwa ajili ya ulinganifu na programu za zamani au kwa urahisi, lakini inabadilisha kwa kiasi kikubwa modeli ya kuaminiana. Tatizo jingine linalojirudia ni kutoona IPC kabisa kwa sababu inahisi kuwa haiko hatari kama host PID au host networking. Kwa ukweli, ikiwa workload inashughulikia browsers, databases, workloads za kisayansi, au programu nyingine zinazotumia kwa wingi kumbukumbu iliyoshirikiwa, uso wa IPC unaweza kuwa muhimu sana.
Matumizi mabaya
Wakati host IPC inashirikiwa, mshambuliaji anaweza kuchunguza au kuingilia vitu vya kumbukumbu iliyoshirikiwa, kupata uelewa mpya wa tabia ya host au workload jirani, au kuchanganya taarifa zilizojifunza hapo na uonekano wa mchakato na uwezo wa aina ya ptrace. Kushirikishwa kwa IPC mara nyingi ni udhaifu wa kuunga mkono badala ya njia kamili ya breakout, lakini udhaifu wa kuunga mkono ni muhimu kwa sababu unapofupisha na kutuliza mnyororo wa mashambulizi ya kweli.
Hatua ya kwanza yenye tija ni kuorodhesha ni vitu gani vya IPC vinavyoonekana kabisa:
readlink /proc/self/ns/ipc
ipcs -a
ls -la /dev/shm 2>/dev/null | head -n 50
Ikiwa namespace ya IPC ya host inashirikiwa, sehemu kubwa za kumbukumbu zilizoshirikiwa au wamiliki wa vitu vinavyovutia vinaweza kufichua tabia ya programu mara moja:
ipcs -m -p
ipcs -q -p
Katika baadhi ya mazingira, yaliyomo ndani ya /dev/shm yenyewe yanaweza leak majina ya faili, artifacts, au tokens yanayostahili kukaguliwa:
find /dev/shm -maxdepth 2 -type f 2>/dev/null -ls | head -n 50
strings /dev/shm/* 2>/dev/null | head -n 50
Kushirikishwa kwa IPC kwa kawaida hakutoa host root mara moja peke yake, lakini inaweza kufichua data na njia za kuratibu ambazo zinafanya mashambulizi ya mchakato baadaye kuwa rahisi zaidi.
Mfano Kamili: /dev/shm Urejeshaji wa Siri
Kesi halisi kabisa ya matumizi mabaya ni wizi wa data badala ya kutoroka moja kwa moja. Ikiwa host IPC au mpangilio mpana wa shared-memory umefunuliwa, artefakti nyeti mara nyingine zinaweza kupatikana moja kwa moja:
find /dev/shm -maxdepth 2 -type f 2>/dev/null -print
strings /dev/shm/* 2>/dev/null | grep -Ei 'token|secret|password|jwt|key'
Athari:
- uchimbaji wa secrets au session material vilivyobaki katika shared memory
- ufahamu kuhusu applications zinazofanya kazi sasa kwenye host
- kulenga kwa ufanisi zaidi kwa ajili ya mashambulizi ya baadaye yanayotegemea PID-namespace au ptrace
Kwa hivyo ugawaji wa IPC unafahamika zaidi kama kiongezaji cha mashambulizi kuliko kama primitive ya kujiondoa kwenye host peke yake.
Ukaguzi
Amri hizi zinakusudiwa kujibu ikiwa workload ina mtazamo wa IPC wa kibinafsi, ikiwa shared-memory au message objects zenye maana zinaonekana, na ikiwa /dev/shm yenyewe inatoa artefakti zenye manufaa.
readlink /proc/self/ns/ipc # Namespace identifier for IPC
ipcs -a # Visible SysV IPC objects
mount | grep shm # Shared-memory mounts, especially /dev/shm
Kinachovutia hapa:
- Ikiwa
ipcs -ainaonyesha vitu vinavyomilikiwa na watumiaji au huduma zisizotarajiwa, namespace inaweza isiwe imejitenga kama inavyotarajiwa. - Segimenti kubwa au zisizo za kawaida za shared memory mara nyingi zinastahili kufuatiliwa.
- Mount pana ya
/dev/shmsi hitilafu moja kwa moja, lakini katika mazingira fulani it leaks majina ya faili, artifacts, na siri za muda.
IPC mara chache hupata umakini kama aina kubwa za namespace, lakini katika mazingira yanayotumia sana, kushirikiana nayo na host ni uamuzi muhimu wa usalama.
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.


