 é uma vulnerabilidade de escalonamento de privilégio local no kernel Linux que pode potencialmente permitir que um usuário não privilegiado faça o seguinte:
- Modificar/sobrescrever arquivos arbitrários somente leitura como /etc/passwd.
- Obter um shell elevado.
Versões afetadas
Verificador de Vulnerabilidade DirtyPipe
Compilando o exploit
- Um script bash compilador automatizado foi fornecido para automatizar a compilação de ambos os exploits.
- Para compilar o exploit com sucesso, você precisará ter o GCC instalado.
- Após instalar o GCC, você pode executar o script 'compile.sh' da seguinte forma:
Exploit-1 - Modificando/sobrescrevendo arquivos somente leitura
- Este repositório contém 2 exploits, o exploit 'exploit-1.c' pode ser usado para modificar ou sobrescrever arquivos arbitrários somente leitura.
- Este exploit é uma prova de conceito desenvolvida por Max Kellermann e foi modificada para alterar a senha root no arquivo /etc/passwd, consequentemente fornecendo acesso a um shell elevado.
Executando o binário do exploit
- O código do exploit já foi configurado para substituir a senha root pela senha "piped" e fará um backup do arquivo /etc/passwd em /tmp/passwd.bak. Além disso, o exploit também fornecerá um shell root elevado e restaurará o arquivo passwd original quando terminar.
Exploit-2 - Sequestrando binários SUID
- Este exploit pode ser usado para injetar e sobrescrever dados na memória de processos SUID somente leitura que são executados como root.
Encontrando binários SUID
find / -perm -4000 2>/dev/null
Executando o binário do exploit
./exploit-2 /usr/bin/sudo
Nota Importante
- Não reivindico crédito/propriedade/revelação da vulnerabilidade e de todos os exploits correspondentes hospedados neste repositório GitHub.
- Todo o crédito vai para o incrível Max Kellerman, você pode ver a revelação oficial aqui: https://dirtypipe.cm4all.com/
Créditos