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-2018-18912 — Buffer overflow baseado em SEH no Easy File Sharing Web Server 7.2 demonstrando como um parâmetro HTTP POST autenticado pode corromper a cadeia do manipulador de exceções. | Kitploit
Ferramentas/GitHubGitHub/themalwareguardian/cve-2018-18912
Análise de VulnerabilidadesExploraçãoEngenharia ReversaShellcodeExploração de Aplicações WebDepuradoresAprendizado e EducaçãoDesenvolvimento de PayloadsExploração de Binários
GitHubthemalwareguardian/cve-2018-18912

CVE-2018-18912

Buffer overflow baseado em SEH no Easy File Sharing Web Server 7.2 demonstrando como um parâmetro HTTP POST autenticado pode corromper a cadeia do manipulador de exceções.

Ver Repositório
12há 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-2018-18912: Easy File Sharing Web Server 7.2 - Estouro de Buffer Baseado em Pilha (SEH)

Estouro de buffer baseado em SEH no Easy File Sharing Web Server 7.2 demonstrando como um parâmetro autenticado de HTTP POST pode corromper a cadeia do manipulador de exceção.




📑 Índice

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



🎓 Por que este repositório existe

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

CVE-2018-18912 é o caso que uso para fazer a transição de sobrescritas de EIP convencionais para exploração baseada em SEH. Uma vez que os alunos entendem como funciona uma sobrescrita direta do endereço de retorno, o próximo passo é entender o que acontece quando a pilha está tão corrompida que o programa dispara uma exceção antes de retornar, e como essa cadeia de manipuladores de exceção se torna a superfície de ataque. Este CVE demonstra essa transição de forma limpa: o estouro é profundo o suficiente para alcançar a cadeia SEH, e o caminho de exploração segue a clássica técnica POP POP RETN que todo desenvolvedor de exploits precisa entender. O bypass opcional de DEP via ROP fica como uma extensão para alunos que quiserem ir além — o mesmo estouro, uma estratégia diferente de gadgets, um problema muito mais difícil.




💡 Por que esta vulnerabilidade é interessante

Esta vulnerabilidade afeta o Easy File Sharing Web Server 7.2, um aplicativo de servidor web leve para Windows amplamente utilizado para compartilhamento simples de arquivos. O software foi escrito sem considerar mitigações modernas de segurança. O que torna este caso particularmente interessante do ponto de vista didático é a combinação de fatores envolvidos:

  • A autenticação é necessária, mas apenas em um nível básico. Isso modela um cenário em que um atacante obteve credenciais, algo comum em pós-exploração no mundo real.
  • O estouro é baseado em SEH. A falha não sobrescreve o endereço de retorno diretamente. Em vez disso, ela corrompe a cadeia do Structured Exception Handler (manipulador estruturado de exceções) na pilha, exigindo uma técnica de exploração diferente.
  • O endpoint vulnerável é uma requisição POST. Fácil de reproduzir com ferramentas HTTP padrão e familiar para qualquer pessoa que já trabalhou com aplicações web.
  • O bypass de DEP é opcional. O exploit funciona com uma abordagem direta de SEH + salto curto + shellcode em sistemas onde a DEP está desabilitada. Se a DEP estiver habilitada, o mesmo estouro pode ser estendido com uma cadeia ROP usando gadgets da ImageLoad.dll para chamar VirtualProtect antes de transferir o controle para o shellcode.

Essa combinação torna o CVE-2018-18912 um excelente caso para ensinar técnicas de desenvolvimento de exploits além do básico.




🔍 Contexto e software afetado

O Easy File Sharing Web Server 7.2 é um aplicativo Windows que permite aos usuários compartilhar arquivos via HTTP. Ele inclui funcionalidades como navegação de arquivos, autenticação de usuários e um sistema de fórum integrado.

A funcionalidade de fórum aceita requisições POST para criar novos tópicos. Um dos campos de formulário manipulados por esse endpoint é o parâmetro author. Internamente, o aplicativo copia esse valor controlado pelo usuário para um buffer de pilha de tamanho fixo sem validar o comprimento.

A vulnerabilidade foi descoberta e reportada em 2018. O PoC original foi publicado logo em seguida, demonstrando tanto a falha quanto uma cadeia de exploração funcional, incluindo gadgets ROP do módulo ImageLoad.dll incluso.

Principais detalhes técnicos:

  • Tipo de vulnerabilidade: Estouro de buffer baseado em pilha (SEH)
  • Versão afetada: Easy File Sharing Web Server 7.2
  • Endpoint afetado: POST /forum.ghp
  • Parâmetro vulnerável: author
  • Impacto: Execução remota de código



⚠️ Sobre a vulnerabilidade

O Easy File Sharing Web Server processa requisições HTTP POST direcionadas a /forum.ghp quando um usuário cria um novo tópico no fórum. Um dos parâmetros aceitos é o author, que é copiado para um buffer de pilha local sem nenhuma verificação de comprimento.

Ao reverter o binário, pode-se observar que o manipulador desse campo de formulário usa um buffer de tamanho fixo e uma operação de cópia insegura. Uma versão simplificada da lógica vulnerável é assim:

root@kitploit:~
char author_buffer[64];

strcpy(author_buffer, user_input);

Como o buffer de destino tem tamanho fixo e o comprimento da entrada não é validado, enviar uma string suficientemente longa no campo author faz com que a cópia escreva além do final do buffer.

Conforme mais dados são escritos, o layout da pilha é corrompido. Diferente de uma simples sobrescrita de endereço de retorno, o estouro alcança a cadeia do Structured Exception Handler (SEH) armazenada na pilha. Quando uma exceção é disparada como resultado da pilha corrompida, o SO percorre a cadeia SEH e transfere o controle para o endereço do manipulador controlado pelo atacante.

O fluxo de exploração, portanto, segue a técnica de sobrescrita de SEH:

  1. Uma entrada longa sobrescreve a pilha, incluindo os ponteiros nSEH e do manipulador SEH.
  2. Uma exceção é disparada devido à corrupção de memória.
  3. O SO invoca o endereço do manipulador sobrescrito.
  4. Um gadget POP POP RETN é usado para transferir a execução para a área nSEH.
  5. Um salto curto para frente pula sobre o registro SEH e redireciona a execução para a área do shellcode.
  6. O shellcode é executado.

Isso torna a vulnerabilidade mais complexa de explorar do que uma sobrescrita básica de EIP, mas também mais representativa de cenários do mundo real.




Baixar ferramenta
💥 Disparando a falha

A falha pode ser reproduzida enviando uma string longa no parâmetro author de uma requisição POST para /forum.ghp após autenticar com credenciais válidas. Exemplo usando Python:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 80

payload = b"A" * 500

request = (
	b"POST /forum.ghp?forumid=1 HTTP/1.1\r\n"
	b"Host: 127.0.0.1\r\n"
	b"Content-Type: application/x-www-form-urlencoded\r\n"
	b"Cookie: UserID=test; PassWD=test; SESSIONID=1234\r\n"
	b"Connection: close\r\n"
	b"\r\n"
	b"author=" + payload + b"&passwd=test&title=test&content=test&Submit=Submit\r\n"
)

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

Quando executada sob um depurador, a falha mostra uma cadeia SEH corrompida e uma violação de acesso, confirmando que dados controlados pelo usuário sobrescreveram o ponteiro do manipulador de exceção.




💣 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 no desenvolvimento de exploits reais baseados em SEH.

Para manter o README principal limpo, as notas detalhadas de exploração, scripts e etapas de depuração estão localizadas na pasta Vulnerability 📂 deste repositório.

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

  • Fuzzing do parâmetro author para identificar a falha.
  • Descoberta do offset para localizar a posição exata de nSEH e SEH na pilha.
  • Análise de bad characters para identificar bytes que corrompem o payload.
  • Sobrescrita da cadeia SEH usando um gadget POP POP RETN de um módulo carregado.
  • Posicionamento e execução do shellcode.