Docker --privileged
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wanneer jy 'n houer as bevoorregte uitvoer, is dit die beskermings wat jy deaktiveer:
In 'n bevoorregte houer kan alle toestelle in /dev/
toeganklik wees. Daarom kan jy ontsnap deur die disk van die gasheer te monteer.
Kern lêerstelsels bied 'n mekanisme vir 'n proses om die gedrag van die kern te verander. egter, wanneer dit by houerprosesse kom, wil ons voorkom dat hulle enige veranderinge aan die kern aanbring. Daarom monteer ons kern lêerstelsels as lees-slegs binne die houer, wat verseker dat die houerprosesse nie die kern kan verander nie.
Die /proc lêerstelsel is selektief skryfbaar, maar vir sekuriteit is sekere dele beskerm teen skryf- en lees toegang deur dit met tmpfs te oorlaai, wat verseker dat houerprosesse nie toegang tot sensitiewe areas het nie.
tmpfs is 'n lêerstelsel wat al die lêers in virtuele geheue stoor. tmpfs skep nie enige lêers op jou hardeskyf nie. So as jy 'n tmpfs-lêerstelsel ontkoppel, gaan al die lêers wat daarin is vir altyd verlore.
Container enjinse begin die houers met 'n beperkte aantal vermoëns om te beheer wat binne die houer gebeur per standaard. Bevoorregte houers het alle die vermoëns beskikbaar. Om meer oor vermoëns te leer, lees:
Jy kan die vermoëns wat beskikbaar is vir 'n houer manipuleer sonder om in --privileged
modus te loop deur die --cap-add
en --cap-drop
vlae te gebruik.
Seccomp is nuttig om die syscalls wat 'n houer kan aanroep te beperk. 'n Standaard seccomp-profiel is standaard geaktiveer wanneer docker-houers loop, maar in privilige-modus is dit gedeaktiveer. Leer meer oor Seccomp hier:
Ook, let daarop dat wanneer Docker (of ander CRI's) in 'n Kubernetes kluster gebruik word, die seccomp-filter is standaard gedeaktiveer.
AppArmor is 'n kernverbetering om houers te beperk tot 'n beperkte stel hulpbronne met per-program profiele. Wanneer jy met die --privileged
vlag loop, is hierdie beskerming gedeaktiveer.
Die uitvoering van 'n houer met die --privileged
vlag deaktiveer SELinux etikette, wat veroorsaak dat dit die etiket van die houer enjin oorneem, tipies unconfined
, wat volle toegang toeken aan die houer enjin. In rootless-modus gebruik dit container_runtime_t
, terwyl in root-modus spc_t
toegepas word.
Namespaces word NIE beïnvloed deur die --privileged
vlag. Alhoewel hulle nie die sekuriteitsbeperkings geaktiveer het nie, sien hulle nie al die prosesse op die stelsel of die gasheer netwerk nie, byvoorbeeld. Gebruikers kan individuele namespaces deaktiveer deur die --pid=host
, --net=host
, --ipc=host
, --uts=host
houer enjin vlae te gebruik.
Standaard gebruik container enjin nie gebruiker naamruimtes nie, behalwe vir rootless houers, wat dit benodig vir lêerstelsel montering en die gebruik van verskeie UID's. Gebruiker naamruimtes, wat noodsaaklik is vir rootless houers, kan nie gedeaktiveer word nie en verbeter sekuriteit aansienlik deur voorregte te beperk.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)