Ainda com o script e o Immunity em execulção.
Vamos ver o que foi para no local apontado por ESP.
Indo no painel Registers do Immunity, clique com o botão esquerdo no valor à direita do ESP, por isso está destacado em azul, como mostrado abaixo.
Em seguida, clique com no valor realçado do menu de contexto, e clique em "Follow in Dump"
Procure no painel inferior esquerdo do Immunity lá em HEX DUMP e olhando para o ASCII. Está cheio de caracteres 'F' que colocamos no final do texto do exploit. Isso vai ser muito importante para nois mais tarde, Nós vamos coloca o nosso código de exploração aqui. como mostra abaixo na imgem:
Reiciando o servidor no Immunity
No menu do Immunity Debugger, no canto superior, clique no botão Debug, no menu contexto vá até restart, como mostrado abaixo. e em seguida na janela que aparecerá clique em sim. Isso reiciará o servidor vulnerável dentro do depurador, para que possamos atacar novamente.
E depois rode o servidor clicando em RUN
O problema de maus caracteres
Este exploit depende de enganar o programa através da inserção deo código em uma estrutura de dados que não tinha a intenção de manter o código - que é outra coisa, como um nome de diretório.
Apenas a partir do senso comum, pode-se esperar que esses caracteres causa problemas:
Hex Dec Description
--- --- ---------------------------------------------
0x00 0 Byte nulo , termina uma string C
0x0A 10 Nova Linha , pode encerrar uma linha de comando
0x0D 13 Procedimento de Retorno, pode encerrar uma linha de comando
0x20 32 Spaço, pode encerrar um argumento de linha de comando
Nem todos esses caracteres são sempre ruim, e pode ter também outros caracteres ruins. Portanto, a próxima tarefa é tentar injetá-los e ver o que acontece.
Testando os maus caracteres
Na máquina Kali Linux, no terminal, execute o comando:
Na janelado nano , digite ou cole este código. não esqueça de trocar pelo seu IP
Para salva o código digite: Ctrl + X, em seguida digite Y, e aperte ENTER.
Este script irá enviar um ataque de 3000 bytes para o servidor, que consiste de 2006 caracteres 'A' seguido por 'BCDE ", eles devem acabar no EIP, e em seguida, todos os possíveis 256 caracteres e, finalmente, eos caracteres ' F ' para fazer do total 3000 bytes de comprimento.
Em seguida, você precisa executável o script . Para isso, no Kali Linux, no terminal, execute o comando: python bad-char
Olhando para a máquina windows, no canto esquerdo inferior da janela do Immunity novamente diz "Violação de acesso ao executar [45444342]".
No painel direito superior da Immunity, cliquecom o botão esquerdo no valor à direita de ESP, por isso é destacada em azul, como mostrado abaixo.
Em seguida, clique no valor realçado e clique em: "Follow in Dump".
Procure no painel esquerdo inferior do Immunity. O primeiro byte é 00, mas nenhum dos outros caracteres fez isso na memória, e os outros 255 bytes ou caracteres 'F'. Isso aconteceu porque o byte 00 finalizou a string. '\ X00' e é um caractere ruim.
Reiciando o servidor no Immunity
No menu do Immunity Debugger, no canto superior, clique no botão Debug, no menu contexto vá até restart, como mostrado abaixo. e em seguida na janela que aparecerá clique em sim. Isso reiciará o servidor vulnerável dentro do depurador, para que possamos atacar novamente.
E depois rode o servidor clicando em RUN
Testando novamente os maus Cracteres
Na máquina Kali Linux, no terminal, execute o comando:
Na janelado nano , digite ou cole este código. não esqueça de trocar pelo seu IP
Para salva o código digite: Ctrl + X, em seguida digite Y, e aperte ENTER.
Este script ignora o byte nulo, e inclui todas as outras 255 bytes na seqüência de ataque, antes do caractere do 'F'.
Em seguida, você precisa executável o script . Para isso, no Kali Linux, no terminal, execute o comando: python bad-char2
Olhando para a máquina windows, no painel direito superior da Immunity, clique com o botão esquerdo no valor à direita do ESP, por isso está destacada em azul. Em seguida, clique com o valor realçado e clique em "Follow in Dump".
Procure no painel inferior esquerdo do Immunity.
Todos os bytes de 01 a FF aparecem em ordem, seguido por caracteres 'F' (46 em hexadecimal). Não há outros bytes ruins, apenas '\ x00'.
Reiciando o servidor no Immunity
No menu do Immunity Debugger, no canto superior, clique no botão Debug, no menu contexto vá até restart, como mostrado abaixo. e em seguida na janela que aparecerá clique em sim. Isso reiciará o servidor vulnerável dentro do depurador, para que possamos atacar novamente.
E depois rode o servidor clicando em RUN
Encontrar Código Útil em Assembly
Nós temos o controle sobre o EIP, para que possamos apontar para qualquer código que desejamos.executável. O que precisamos fazer é encontrar uma maneira de executar os bytes no local de ESP.Há duas instruções simples que irá execultar: "JMP ESP" e a sequência de duas instrução "PUSH ESP; RET".
Para encontrar essas instruções, precisamos analizar os módulos carregados quando servidor vulnerável está em execução
0 comentários:
Postar um comentário