
Escalonamento de privilégio Linux com script para a vulnerabilidade CVE-2022-0847 "Dirty Pipe"

Script Bash para verificar e explorar a vulnerabilidade CVE-2022-0847 "Dirty Pipe" no Linux
Este script permite que um usuário sem privilégios em um sistema vulnerável faça o seguinte:
Este repositório contém 2 exploits:
Substitui a senha do root pela senha "piped" e faz backup do arquivo original /etc/passwd em /tmp/passwd.bak. Em seguida, o exploit fornece acesso a um shell root elevado e restaura o arquivo passwd original quando você sai do shell.

Injeta e sobrescreve dados na memória de processo SUID somente leitura que é executada como root.

Clone este repositório e mude para o diretório de trabalho
git clone https://github.com/rexpository/linux-privilege-escalation.git
cd linux-privilege-escalation
Verifique se o sistema alvo atual é vulnerável
./check.sh
Instale o GCC para compilar o exploit
sudo apt-get install gcc
Compile e execute o script bash para automatizar a compilação de ambos os exploits
chmod +x compile.sh
./compile.sh
Execute o binário do exploit desejado
./exploit-1
ou
./exploit-2 /usr/bin/sudo
Esta vulnerabilidade reside na ferramenta pipe usada para comunicação unidirecional entre processos, daí o nome "Dirty Pipe".
Um usuário local sem privilégios poderia explorar esta vulnerabilidade para sobrescrever arquivos supostamente somente leitura no kernel Linux e, assim, escalar seus privilégios no sistema.
Esta vulnerabilidade ocorre devido ao uso de memória parcialmente não inicializada da estrutura do buffer pipe durante sua construção. A falta de inicialização zero do novo membro da estrutura resulta em um valor obsoleto de flags, que pode ser abusado por um atacante para obter acesso de escrita a páginas no cache, mesmo que originalmente estivessem marcadas com atributo somente leitura.
Para garantir que sua infraestrutura esteja protegida contra esta e ameaças semelhantes: