Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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-2025-70330 — Bug de parsing de arquivos do Easy Grade Pro 4.1 usado como exemplo educacional para mostrar como iniciantes podem começar a pesquisa de vulnerabilidades através de engenharia reversa. | Kitploit
Ferramentas/GitHubGitHub/themalwareguardian/cve-2025-70330
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoExploraçãoEngenharia ReversaDepuradoresFuzzingAnálise de BináriosAprendizado e Educação
Exploração de Binários
GitHubthemalwareguardian/cve-2025-70330

CVE-2025-70330

Bug de parsing de arquivos do Easy Grade Pro 4.1 usado como exemplo educacional para mostrar como iniciantes podem começar a pesquisa de vulnerabilidades através de engenharia reversa.

Ver Repositório
213há 6 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-2025-70330: Vulnerabilidade de Análise de Arquivo do Easy Grade Pro 4.1

Um exemplo educacional criado para mostrar aos iniciantes que a pesquisa de vulnerabilidades através de engenharia reversa é possível desde o início.




📑 Índice

  • Por que este repositório existe
  • Relação com "O Caminho que Leva ao Seu Primeiro CVE"
  • Por que software antigo é perfeito para aprender
  • Por que este exemplo é importante
  • Sobre a vulnerabilidade
  • Análise técnica
  • 📂
    • Por que apenas arquivos malformados específicos crasham o aplicativo
    • Prova de Conceito
    • Comportamento do crash
    • Notas



🎓 Por que este repositório existe

Este repositório surge da necessidade de ter um exemplo simples que possa ser usado ao ensinar iniciantes que estão começando na pesquisa de vulnerabilidades, especialmente aqueles interessados em engenharia reversa.

Após concluir um curso, um treinamento ou um programa de mestrado relacionado a exploração binária ou análise binária, muitos alunos sentem que a pesquisa real de vulnerabilidades é algo muito além do seu nível. Eles geralmente associam engenharia reversa a tópicos muito avançados, como vulnerabilidades de kernel, exploração de navegadores, pesquisa de firmware ou alvos modernos complexos e, por causa disso, pensam que ainda não estão prontos. Na prática, o problema não é a falta de conhecimento, mas a falta de um ponto de partida realista.

Eu queria um exemplo que pudesse mostrar que com as habilidades aprendidas durante um curso básico, já é possível pegar um programa real, entender como ele funciona, provocar uma falha e identificar um bug real.

Este repositório é exatamente esse tipo de exemplo. Não se trata de encontrar uma vulnerabilidade complexa. Trata-se de mostrar que iniciantes podem começar com algo pequeno, reproduzível e compreensível, e ainda assim estar fazendo pesquisa real de vulnerabilidades.




🧭 Relação com "O Caminho que Leva ao Seu Primeiro CVE"

Este repositório está diretamente relacionado à minha palestra "O Caminho que Leva ao Seu Primeiro CVE", onde explico que existem múltiplas formas de entrar no mundo da pesquisa de vulnerabilidades e que cada pessoa geralmente acaba seguindo um caminho diferente dependendo de seus interesses.

Algumas pessoas começam com auditoria de código-fonte, outras com engenharia reversa, outras com segurança web e outras com pesquisa de tecnologia. Todos esses caminhos são válidos, mas o importante é entender que cada área também possui pontos de entrada amigáveis para iniciantes.

Exemplos de caminhos para iniciantes incluem:

  • Na auditoria de código-fonte, revisando pequenos projetos de código aberto.
  • Em engenharia reversa, trabalhando com aplicações legadas de lógica simples.
  • Em segurança de aplicações web, analisando aplicações web simples ou plugins antigos de CMS.
  • Em pesquisa de tecnologia, estudando protocolos ou software que não foram projetados com segurança em mente.
  • E muitos outros pontos de partida semelhantes.

Esse tipo de alvo pode parecer básico, mas ensina as mesmas habilidades fundamentais que são necessárias mais tarde ao trabalhar em sistemas complexos.

Este repositório representa um desses caminhos para iniciantes na área de engenharia reversa.

A vulnerabilidade documentada aqui foi encontrada analisando um aplicativo antigo, entendendo como seu formato de arquivo é analisado e identificando um erro de programação que leva a uma falha. O impacto em si não é complexo, mas o processo é real, reproduzível e útil para aprender como a pesquisa de vulnerabilidades realmente funciona.

Este é o tipo de exemplo que uso ao explicar "O Caminho que Leva ao Seu Primeiro CVE", para mostrar que a engenharia reversa é um caminho válido desde o início e que começar com alvos simples não é apenas aceitável, mas muitas vezes a melhor forma de aprender.




🧱 Por que software antigo é perfeito para aprender

Quando você está começando, aplicativos modernos são frequentemente complexos demais. Eles usam proteções, mitigações e bases de código que são difíceis de entender sem muita experiência. Software antigo é diferente.

Aplicações legadas não foram escritas com práticas modernas de segurança em mente. Frequentemente contêm bugs simples de análise, operações de memória inseguras e erros de lógica que podem ser compreendidos com habilidades básicas de reversão. Isso os torna perfeitos para aprender.

Com um programa antigo, você pode: reverter o binário, entender o formato do arquivo, provocar uma falha, analisar a falha, localizar o bug, documentar o problema e reportar a vulnerabilidade. Em outras palavras, você aprende as habilidades fundamentais que todo pesquisador de vulnerabilidades precisa.

É exatamente isso que este exemplo demonstra.




🧪 Por que este exemplo é importante

Este exemplo é importante porque mostra algo muito simples:

  • Você não precisa ser um especialista para começar.
  • Você não precisa explorar o kernel do sistema operacional ou um navegador.
  • Você pode começar com algo pequeno, entendê-lo, documentá-lo e ainda assim produzir resultados reais.

Se você gosta de engenharia reversa, pode seguir esse caminho desde o início. Pode levar anos para dominá-lo, mas você não precisa esperar anos para começar a fazer trabalho real.




⚠️ Sobre a vulnerabilidade

A vulnerabilidade (CVE-2025-70330) afeta a lógica de análise de arquivos do Easy Grade Pro 4.1 ao carregar arquivos de boletim .EGP proprietários.

O aplicativo reconstrói estruturas internas de boletim lendo campos de posição fixa do arquivo e usando esses valores como deslocamentos dentro do buffer do arquivo carregado. Esses deslocamentos são posteriormente usados para calcular tamanhos de memória e copiar dados para buffers alocados dinamicamente.

Em condições normais, o arquivo passa por várias verificações estruturais antes que a análise continue. No entanto, uma vez que essas verificações são bem-sucedidas, o analisador confia nos valores de deslocamento armazenados no arquivo sem validar se eles permanecem dentro dos limites do buffer carregado.

Ao modificar bytes específicos dentro de um arquivo .EGP que de outra forma seria válido, é possível corromper esses cálculos internos de deslocamento. Quando o analisador usa esses valores posteriormente, ele tenta ler memória fora da região válida do arquivo, resultando em uma violação de acesso e falha do aplicativo.

Esta condição corresponde a uma leitura fora dos limites (CWE-125), levando a uma negação de serviço local quando o arquivo manipulado é aberto.




🔬 Análise técnica

O formato de arquivo .EGP é analisado usando uma abordagem baseada em deslocamentos. Em vez de processar o arquivo sequencialmente, o analisador lê estruturas internas que contêm deslocamentos de início e fim descrevendo onde blocos de dados específicos devem estar localizados dentro do arquivo.

Baixar ferramenta