6.7 KiB
Abusando do Socket do Docker para Escalonamento de Privilégios
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
Você trabalha em uma empresa de segurança cibernética? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
-
Descubra A Família PEASS, nossa coleção exclusiva de NFTs
-
Adquira o swag oficial do PEASS & HackTricks
-
Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
-
Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e hacktricks-cloud repo.
Há algumas ocasiões em que você tem acesso ao socket do Docker e deseja usá-lo para escalar privilégios. Algumas ações podem ser muito suspeitas e você pode querer evitá-las, então aqui você pode encontrar diferentes flags que podem ser úteis para escalar privilégios:
Através de mount
Você pode montar diferentes partes do sistema de arquivos em um contêiner em execução como root e acessá-las.
Você também pode abusar de um mount para escalar privilégios dentro do contêiner.
-v /:/host
-> Monta o sistema de arquivos do host no contêiner para que você possa ler o sistema de arquivos do host.- Se você quiser sentir como se estivesse no host mas estiver no contêiner, você pode desabilitar outros mecanismos de defesa usando flags como:
--privileged
--cap-add=ALL
--security-opt apparmor=unconfined
--security-opt seccomp=unconfined
-security-opt label:disable
--pid=host
--userns=host
--uts=host
--cgroupns=host
- Se você quiser sentir como se estivesse no host mas estiver no contêiner, você pode desabilitar outros mecanismos de defesa usando flags como:
- **
--device=/dev/sda1 --cap-add=SYS_ADMIN --security-opt apparmor=unconfined
** -> Isso é semelhante ao método anterior, mas aqui estamos montando o disco do dispositivo. Em seguida, dentro do contêiner, executemount /dev/sda1 /mnt
e você pode acessar o sistema de arquivos do host em/mnt
- Execute
fdisk -l
no host para encontrar o dispositivo</dev/sda1>
para montar
- Execute
-v /tmp:/host
-> Se por algum motivo você puder apenas montar algum diretório do host e tiver acesso dentro do host. Monte-o e crie um/bin/bash
com suid no diretório montado para que você possa executá-lo no host e escalar para root.
{% hint style="info" %}
Observe que talvez você não possa montar a pasta /tmp
, mas pode montar uma pasta gravável diferente. Você pode encontrar diretórios graváveis usando: find / -writable -type d 2>/dev/null
Observe que nem todos os diretórios em uma máquina Linux suportarão o bit suid! Para verificar quais diretórios suportam o bit suid, execute mount | grep -v "nosuid"
. Por exemplo, geralmente /dev/shm
, /run
, /proc
, /sys/fs/cgroup
e /var/lib/lxcfs
não suportam o bit suid.
Observe também que se você puder montar /etc
ou qualquer outra pasta que contenha arquivos de configuração, poderá alterá-los do contêiner Docker como root para abusá-los no host e escalar privilégios (talvez modificando /etc/shadow
)
{% endhint %}
Escapando do contêiner
--privileged
-> Com essa flag, você remove todo o isolamento do contêiner. Verifique as técnicas para escapar de contêineres privilegiados como root.--cap-add=<CAPABILITY/ALL> [--security-opt apparmor=unconfined] [--security-opt seccomp=unconfined] [-security-opt label:disable]
-> Para escalar abusando de capacidades, conceda essa capacidade ao contêiner e desative outros métodos de proteção que possam impedir que o exploit funcione.
Curl
Nesta página, discutimos maneiras de escalar privilégios usando flags do Docker, você pode encontrar maneiras de abusar desses métodos usando o comando curl na página:
{% content-ref url="authz-and-authn-docker-access-authorization-plugin.md" %} authz-and-authn-docker-access-authorization-plugin.md {% endcontent-ref %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
Você trabalha em uma empresa de segurança cibernética? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
-
Descubra A Família PEASS, nossa coleção exclusiva de NFTs
-
Adquira o swag oficial do PEASS & HackTricks
-
Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
-
**Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks