Objetivo
O objetivo desse desafio é explorar o programa vulnerável para executar algum comando no computador
Execução
Analisando o código da aplicação, podemos ver que o programa tem um código bem simples
Como já sabemos que o programa está vulnerável a Buffer Overflow, vou direto descobrir quantos bytes são necessários para sobreescrever o endereço de retorno
Para isso, vou utilizar o Buffer Overflow Pattern Generation para criar um Pattern contendo 600 caracteres que serão enviados para a aplicação
Enviando esse conteúdo para o programa, ele retorna um erro e é possível ver o valor presente em EIP no momento em que isso acontece
Com o valor presente em EIP, foi possível descobrir que é necessário enviar 512 bytes para atingir o endereço de retorno
Agora que já é possível controlar o endereço de retorno da aplicação, é preciso criar o payload contendo o comando que será executado no sistema
Para isso, vou utilizar o msfvenom e criar um shellcode que, ao ser executado, abra a calculadora do windows
Com o shellcode pronto, juntei todas as informações descobertas até agora e criei um “exploit” usando o python para explorar a aplicação
Por fim, executando o exploit e enviando a saída dele para o programa vulnerável, o sistema abre a calculadora