
Exploit educacional para CVE-2019-1663 visando um buffer overflow baseado em pilha em roteadores Cisco RV. Inclui um script de exploit em Python, listener de reverse shell e metodologia de análise de firmware para sistemas embarcados baseados em ARM.
Este repositório documenta a exploração do CVE-2019-1663, uma vulnerabilidade crítica de execução remota de código (RCE) que afeta os roteadores VPN Wireless-N Cisco RV110W, RV130W e RV215W.
Devido à validação insuficiente de entrada na interface de gerenciamento web, um atacante não autenticado pode executar comandos arbitrários com privilégios elevados no dispositivo.
Este projeto foi conduzido como parte de um programa de aprendizado em cibersegurança para fortalecer habilidades práticas de segurança ofensiva em sistemas embarcados.
Compreender a causa raiz subjacente da vulnerabilidade.
Desenvolver um exploit funcional que alcance execução de código de forma confiável.
Realizar depuração e análise de sistemas ARM embarcados.
Destacar os riscos reais de design inseguro de firmware.
Tipo de vulnerabilidade: Estouro de buffer baseado em pilha (stack-based buffer overflow).
Gatilho: Requisições HTTP POST manipuladas para a interface web do roteador.
Tamanho do estouro: Execução de código alcançada após 446 bytes (descoberto com fuzzing).
Arquitetura: ARM → exploração realizada usando gadgets ROP.
Impacto: Comprometimento total do sistema sem autenticação.
A depuração e o desenvolvimento do exploit foram realizados em um ambiente emulado usando emux, fornecendo acesso completo ao firmware e processos do roteador:
Inicializando o firmware em um ambiente virtualizado.
Anexando o processo httpd vulnerável ao gdb para depuração ao vivo.
Enviando payloads controlados e observando a corrupção de memória em tempo real.
Identificando offsets e gadgets ROP por meio de extração e análise de firmware.
Esta abordagem permitiu testes seguros, flexíveis e repetíveis — sem necessidade de hardware físico.
Caminho : : Propósito
exploit-cve-2019-1663.py : : Scripts Python para acionar o estouro e obter execução de comandos
rev_shell.py : : Listener de shell reverso que lida com fluxos de entrada/saída
📌 Documentação e melhorias estão ativamente em andamento — sugestões são bem-vindas!
Se quiser discutir pesquisa de segurança ou melhorias neste projeto, sinta-se à vontade para entrar em contato ou abrir uma issue. Boas hackeatas! 😄