Abusing Docker Socket for Privilege Escalation
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Postoje neki slučajevi kada imate pristup docker socket-u i želite da ga iskoristite za eskalaciju privilegija. Neke akcije mogu biti veoma sumnjive i možda ćete želeti da ih izbegnete, pa ovde možete pronaći različite zastavice koje mogu biti korisne za eskalaciju privilegija:
Via mount
Možete montirati različite delove fajl sistema u kontejneru koji radi kao root i pristupiti im.
Takođe možete zloupotrebiti montiranje za eskalaciju privilegija unutar kontejnera.
-v /:/host-> Montirajte fajl sistem hosta u kontejneru kako biste mogli da pročitate fajl sistem hosta.- Ako želite da imajte osećaj da ste na hostu dok ste u kontejneru, možete onemogućiti druge mehanizme zaštite koristeći zastavice kao što su:
--privileged--cap-add=ALL--security-opt apparmor=unconfined--security-opt seccomp=unconfined-security-opt label:disable--pid=host--userns=host--uts=host--cgroupns=host--device=/dev/sda1 --cap-add=SYS_ADMIN --security-opt apparmor=unconfined-> Ovo je slično prethodnoj metodi, ali ovde montiramo uređaj disk. Zatim, unutar kontejnera pokrenitemount /dev/sda1 /mnti možete pristupiti fajl sistemu hosta u/mnt- Pokrenite
fdisk -lna hostu da pronađete</dev/sda1>uređaj za montiranje -v /tmp:/host-> Ako iz nekog razloga možete samo montirati neki direktorijum sa hosta i imate pristup unutar hosta. Montirajte ga i kreirajte/bin/bashsa suid u montiranom direktorijumu kako biste mogli izvršiti ga sa hosta i eskalirati na root.
Note
Imajte na umu da možda ne možete montirati folder
/tmp, ali možete montirati drugi zapisivi folder. Možete pronaći zapisive direktorijume koristeći:find / -writable -type d 2>/dev/nullImajte na umu da ne podržavaju svi direktorijumi na linux mašini suid bit! Da biste proverili koji direktorijumi podržavaju suid bit, pokrenite
mount | grep -v "nosuid"Na primer, obično/dev/shm,/run,/proc,/sys/fs/cgroupi/var/lib/lxcfsne podržavaju suid bit.Takođe imajte na umu da ako možete montirati
/etcili bilo koji drugi folder koji sadrži konfiguracione fajlove, možete ih menjati iz docker kontejnera kao root kako biste zloupotrebili ih na hostu i eskalirali privilegije (možda menjajući/etc/shadow)
Escaping from the container
--privileged-> Sa ovom zastavicom uklanjate svu izolaciju iz kontejnera. Proverite tehnike za izlazak iz privilegovanih kontejnera kao root.--cap-add=<CAPABILITY/ALL> [--security-opt apparmor=unconfined] [--security-opt seccomp=unconfined] [-security-opt label:disable]-> Da biste eskalirali zloupotrebom sposobnosti, dodelite tu sposobnost kontejneru i onemogućite druge metode zaštite koje mogu sprečiti da eksploatacija funkcioniše.
Curl
Na ovoj stranici smo razgovarali o načinima za eskalaciju privilegija koristeći docker zastavice, možete pronaći načine da zloupotrebite ove metode koristeći curl komandu na stranici:
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks

