Misbruik van Docker Socket vir Privilege Escalation
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Daar is ’n paar geleenthede waar jy net toegang tot die docker socket het en jy dit wil gebruik om privileges te eskaleer. Sommige aksies mag baie verdag wees en jy mag dit wil vermy, so hier kan jy verskillende vlae vind wat nuttig kan wees om privileges te eskaleer:
Via mount
Jy kan mount verskillende dele van die filesystem in ’n container wat as root loop en dit toegang gee.
Jy kan ook ’n mount misbruik om privileges te eskaleer binne die container.
-v /:/host-> Mount die host filesystem in die container sodat jy die host filesystem kan lees.- As jy wil voel soos jy in die host is maar in die container is, kan jy ander verdedigingsmeganismes deaktiveer met vlae soos:
--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-> Dit is soortgelyk aan die vorige metode, maar hier mount ons die toestel skyf. Dan, binne die container, hardloopmount /dev/sda1 /mnten jy kan die host filesystem in/mnttoegang.- Hardloop
fdisk -lin die host om die</dev/sda1>toestel te vind om te mount. -v /tmp:/host-> As jy om een of ander rede net ’n gids kan mount van die host en jy het toegang binne die host. Mount dit en skep ’n/bin/bashmet suid in die gemounte gids sodat jy dit kan uitvoer van die host en na root eskaleer.
Note
Let daarop dat jy dalk nie die gids
/tmpkan mount nie, maar jy kan ’n ander skryfbare gids mount. Jy kan skryfbare gidse vind met:find / -writable -type d 2>/dev/nullLet daarop dat nie al die gidse in ’n linux masjien die suid bit sal ondersteun nie! Om te kyk watter gidse die suid bit ondersteun, hardloop
mount | grep -v "nosuid"Byvoorbeeld, gewoonlik ondersteun/dev/shm,/run,/proc,/sys/fs/cgroupen/var/lib/lxcfsnie die suid bit nie.Let ook daarop dat as jy
/etcof enige ander gids wat konfigurasie lêers bevat, kan mount, jy dit mag verander vanuit die docker container as root om dit te misbruik in die host en privileges te eskaleer (miskien deur/etc/shadowte wysig).
Ontsnapping uit die container
--privileged-> Met hierdie vlag verwyder jy al die isolasie van die container. Kyk tegnieke om uit priviligeerde containers as root te ontsnap.--cap-add=<CAPABILITY/ALL> [--security-opt apparmor=unconfined] [--security-opt seccomp=unconfined] [-security-opt label:disable]-> Om te eskaleer deur capabilities te misbruik, gee daardie vermoë aan die container en deaktiveer ander beskermingsmetodes wat die eksploit kan verhinder om te werk.
Curl
Op hierdie bladsy het ons maniere bespreek om privileges te eskaleer met behulp van docker vlae, jy kan maniere vind om hierdie metodes te misbruik met die curl opdrag op die bladsy:
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

