Willm Posted July 8, 2019 at 11:39 PM Share Posted July 8, 2019 at 11:39 PM Eu tô aqui porque não consegui fazer bypass do NX na arquitetura de 64 bits. Como é mostrado na imagem eu consegui colocar os gadgets , /bin/sh e o endereço da system nas stack, mas o programa fica retornando Segmentation Fault e fica parado na instrução que é mostrada na imagem seguinte. O eu posso fazer? Obs: Eu desabilitei o ASLR e todas as proteções do binário e também consegui fazer o bypass do NX em arquitetura de 32 bits Link to comment Share on other sites More sharing options...
Willm Posted July 9, 2019 at 12:00 AM Author Share Posted July 9, 2019 at 12:00 AM import struct buf = '' buf += 'A' * 88 #junk buf += struct.pack('<Q', 0x0000000000400583) #gadget buf += struct.pack('<Q', 0x7ffff7b97e9a) #bin_sh buf += struct.pack('<Q', 0x7ffff7a33440) #system print buf Exploit usado Link to comment Share on other sites More sharing options...
masterek Posted July 11, 2019 at 01:49 PM Share Posted July 11, 2019 at 01:49 PM Opa amigo, tudo bem? Vamos lá aos passos iniciais desta analise. 1 - Como vc compilou esse binário? 2 - Realmente setou o ASLR para 0 ? Rode ldd ./binario e veja se o endereço da libc esta sendo randomizado 3 - O que usou para chegar no endereço da system() ? 4 - Testou fora do GDB? Após validarmos isso, vamos para os próximos passos. Abraços Link to comment Share on other sites More sharing options...
Willm Posted July 11, 2019 at 05:01 PM Author Share Posted July 11, 2019 at 05:01 PM 3 horas atrás, masterek disse: Opa amigo, tudo bem? Vamos lá aos passos iniciais desta analise. 1 - Como vc compilou esse binário? 2 - Realmente setou o ASLR para 0 ? Rode ldd ./binario e veja se o endereço da libc esta sendo randomizado 3 - O que usou para chegar no endereço da system() ? 4 - Testou fora do GDB? Após validarmos isso, vamos para os próximos passos. Abraços 1 - Compilei assim gcc prog.c -o prog -fno-stack-protector -no-pie -w 2 - O endereço da system não parece ser randômico, porque o gdb sempre identifica o endereço quando é reiniciado. E o comando que eu uso para desabilitar o ASLR é esse aí: 3 - Eu dei um break na main e rodei o binário para a libc ser carregada nele e depois executei o comando "p system" e achei o endereço da função system 4 - Sim, deu Segmentation Fault Link to comment Share on other sites More sharing options...
Willm Posted July 12, 2019 at 09:18 AM Author Share Posted July 12, 2019 at 09:18 AM Lembrando que eu estou na versão mais recente do ubuntu e do gcc, poderia ser isso? Link to comment Share on other sites More sharing options...
masterek Posted July 30, 2019 at 01:11 PM Share Posted July 30, 2019 at 01:11 PM Acho que não. Teria que rodar. Pode me procurar no discord do mente binária? Ou no Telegram @m4st3r3k Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.