Especialistas escapam dos Contêineres e executam comandos no PWD. Contêineres privilegiados com segurança inadequada na plataforma de testes Play With Docker (PWD) ofereciam aos pesquisadores de segurança uma maneira de escapar de contêineres do Linux e executar código arbitrário no sistema host.
Um invasor que explore com sucesso a falha teria acesso de alto nível ao Play with Docker (PWD). Eles também poderiam acessar todos os contêineres em execução.
A exploração parte do fato de que todos os contêineres usam o mesmo código do kernel, algo que torna a tecnologia tão leve e atraente. Por outro lado, as máquinas virtuais carregam um novo kernel para cada instância.
A partir disso, os pesquisadores da CyberArk começaram a hackear o PWD, uma plataforma de suporte para quem quer executar comandos rápidos do Docker, familiarizar-se com o contêiner do Docker construindo e executando contêineres do Docker ou criando clusters.
Play-with-Docker (PWD), o site de playground do Docker, permite que os iniciantes executem os comandos do Docker em questão de segundos. Com base em diversos hosts, cada um executando vários contêineres de estudantes, é um ótimo lugar para aprender o Docker. O PWD fornece a experiência de ter uma máquina virtual Alpine Linux gratuita em um navegador da Web, onde os alunos podem criar e executar contêineres do Docker e experimentar o Docker em primeira mão sem precisar instalá-lo e configurá-lo primeiro.
Esta oferta única foi muito bem recebida pelos profissionais de DevOps com mais de 100.000 visitas mensais ao site, onde também estão disponíveis tutoriais, workshops e treinamento do Docker. A iniciativa foi um esforço originado por Marcos Nils e Jonathan Leibiusky, auxiliado pela comunidade Docker e patrocinado pela Docker.
A CyberArk Labs decidiu tentar escapar do contêiner de simulação em um esforço para executar o código no host do Docker.
O impacto da fuga do contêiner é semelhante ao escape de uma máquina virtual, pois ambos permitem o acesso ao servidor subjacente. A execução de código no servidor PWD permitiria que um atacante tivesse acesso integral integral à infraestrutura PWD, por um lado, e a todos os contêineres dos alunos, por outro.
“Escapar de um contêiner pode ser considerado como o primeiro passo em um ataque contra uma infraestrutura corporativa, uma vez que muitas empresas estão executando contêineres voltados para o público hoje em dia, o que pode levar os invasores à rede da empresa.” afirma o relatório da CyberArk
As descobertas da CyberArk foram relatadas aos mantenedores do Docker e do PWD, que posteriormente corrigiram a PWD.
Os especialistas começaram aprendendo informações sobre o sistema host executando o comando ‘uname’, que mostra a versão do kernel, a arquitetura, o nome, o UUID raiz (identificador universal exclusivo) e a data de construção.
Eles tentaram montar a unidade raiz do host dentro do contêiner, mas a proteção no local impediu essa ação. Mais pesquisas deram mais informações aos pesquisadores, como o hardware do host.
Usando o depurador de sistema de arquivos ‘debugfs’, eles podem acessar o diretório raiz do host e rodar o sistema de arquivos em busca de um módulo do kernel usando a ‘função de kernel printk’ que se ajusta à sua abordagem de ataque.
O que os especialistas em CyberArk foram capazes de pegar um módulo do kernel Linux que foi compilado em seu laboratório e injetá-lo no kernel Linux do PWD, disse Nimrod Stoler, um dos pesquisadores que trabalha no projeto, segundo a BleepingComputer.
O módulo usado foi o ceph.ko, carregado pelo kernel para a plataforma de armazenamento de software Ceph. Este não era um alvo específico, pois qualquer outro módulo usando a função ‘printk’ teria bastado. Isso foi usado para preparar um módulo que enganou o kernel de destino para carregá-lo.
“O objetivo final é executar um shell reverso. Isso pode ser feito usando uma função especial do kernel, call_usermodehelper (), que é usada para preparar e iniciar um aplicativo em modo usuário a partir do kernel“, explicaram os pesquisadores no relatório técnico.
Vários passos depois, os especialistas da CyberArk conseguiram configurar um shell reverso e executar código arbitrário no host. Os detalhes sobre isso estão disponíveis em um vídeo dos pesquisadores abaixo:
A ideia de invadir a PWD veio de Eviatar Gerzi. Em 6 de novembro de 2018, os pesquisadores relataram a falha no Docker, que reconheceu o bug no dia seguinte, informando que uma correção seria feita em breve. Em 7 de janeiro de 2019, a CyberArk confirmou que a vulnerabilidade não estava mais presente.
Conclusão
Obter acesso ao host de um contêiner do Linux deve ser uma tarefa muito difícil, se não impossível. Neste exemplo de PWD, esse não é o caso.
O motivo é bastante simples: o PWD usa um contêiner privilegiado e, antes da correção, não conseguiu protegê-lo corretamente.
Isso faz com que uma fuga do contêiner PWD para o host seja difícil, mas não impossível, como a CyberArk mostra na postagem. Injetar módulos do kernel Linux é apenas um dos caminhos abertos para um invasor persistente. Outros caminhos de ataque existem e devem ser tratados com segurança ao usar contêineres privilegiados.
Fique atento para pesquisas adicionais sobre como definir e proteger contêineres privilegiados.
A CyberArk Labs alertou o Play-with-Docker para a vulnerabilidade em 06 de novembro, os mantenedores da PWD responderam no dia seguinte e em 07 de janeiro a CyberArk confirmou que a vulnerabilidade já estava corrigida.
Fonte: CyberArk & BleepingComputer
Veja também:
- A primeira grande falha em Kurbenets possibilita hacking remoto
- Container Security: Os Sete Maiores Erros
- Brecha no Amazon Cloud Service Bucket Expõe Dados de 4Mi de clientes do Dow Jones
- Decreto nº 9.637/2018 – Política Nacional de Segurança da Informação
Os celulares da mira da Anatel - CERTISIGN divulga nota sobre vazamento de dados
- PASTEBIN – Certisign Pwned by sup3rm4n – fatal error crew
- Por que você deve ocultar seu endereço IP?
- POSICIONAMENTO da TIVIT sobre novo vazamento de dados
- Novo Vazamento de Dados na TIVIT
- Censura Chinesa treina jovens a buscar conteúdo proibido online
- +2,4 milhões de dados de usuários do gerenciador de senhas do Blur foram expostos on-line
- A arquitetura de proteção de Endpoint da CrowdStrike
Deixe sua opinião!