Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-70330 — Bug de análisis de archivos de Easy Grade Pro 4.1 usado como ejemplo educativo para mostrar cómo los principiantes pueden iniciarse en la investigación de vulnerabilidades mediante ingeniería inversa. | Kitploit
Herramientas/GitHubGitHub/themalwareguardian/cve-2025-70330
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoExplotaciónIngeniería InversaDepuradoresFuzzingAnálisis de BinariosAprendizaje y Educación
Explotación de Binarios
GitHubthemalwareguardian/cve-2025-70330

CVE-2025-70330

Bug de análisis de archivos de Easy Grade Pro 4.1 usado como ejemplo educativo para mostrar cómo los principiantes pueden iniciarse en la investigación de vulnerabilidades mediante ingeniería inversa.

Ver Repositorio
214hace 6 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

🧩 CVE-2025-70330: Vulnerabilidad de análisis de archivos en Easy Grade Pro 4.1

Un ejemplo educativo creado para mostrar a principiantes que la investigación de vulnerabilidades mediante ingeniería inversa es posible desde el principio.




📑 Índice de contenidos

  • Por qué existe este repositorio
  • Relación con "El camino que lleva a tu primer CVE"
  • Por qué el software antiguo es perfecto para aprender
  • Por qué este ejemplo es importante
  • Acerca de la vulnerabilidad
  • Análisis técnico
  • 📂
    • Por qué solo archivos malformados específicos bloquean la aplicación
    • Prueba de concepto
    • Comportamiento del fallo
    • Notas



🎓 Por qué existe este repositorio

Este repositorio surge de la necesidad de contar con un ejemplo sencillo que pueda usarse al enseñar a principiantes que comienzan en la investigación de vulnerabilidades, especialmente aquellos interesados en la ingeniería inversa.

Después de completar un curso, una capacitación o un programa de maestría relacionado con la explotación binaria o el análisis binario, muchos estudiantes sienten que la investigación real de vulnerabilidades está muy por encima de su nivel. Suelen asociar la ingeniería inversa con temas muy avanzados como vulnerabilidades del kernel, explotación de navegadores, investigación de firmware o objetivos modernos complejos, y por eso creen que aún no están preparados. En la práctica, el problema no es la falta de conocimiento, sino la falta de un punto de partida realista.

Quería un ejemplo que pudiera mostrar que con las habilidades aprendidas durante un curso básico, ya es posible tomar un programa real, entender cómo funciona, provocar un fallo e identificar un error real.

Este repositorio es exactamente ese tipo de ejemplo. No se trata de encontrar una vulnerabilidad compleja. Se trata de mostrar que los principiantes pueden comenzar con algo pequeño, reproducible y comprensible, y aún así estar haciendo investigación real de vulnerabilidades.




🧭 Relación con "El camino que lleva a tu primer CVE"

Este repositorio está directamente relacionado con mi charla "El camino que lleva a tu primer CVE", donde explico que hay múltiples formas de entrar en el mundo de la investigación de vulnerabilidades, y que cada persona suele seguir un camino diferente según sus intereses.

Algunas personas comienzan con la auditoría de código fuente, otras con la ingeniería inversa, otras con la seguridad web y otras con la investigación de tecnología. Todos estos caminos son válidos, pero lo importante es entender que cada área también tiene puntos de entrada amigables para principiantes.

Ejemplos de caminos para principiantes incluyen:

  • En auditoría de código fuente, revisar proyectos pequeños de código abierto.
  • En ingeniería inversa, trabajar con aplicaciones heredadas de lógica simple.
  • En seguridad de aplicaciones web, analizar aplicaciones web simples o plugins antiguos de CMS.
  • En investigación de tecnología, estudiar protocolos o software que no fueron diseñados teniendo en cuenta la seguridad.
  • Y muchos otros puntos de partida similares.

Este tipo de objetivos pueden parecer básicos, pero enseñan las mismas habilidades fundamentales que se necesitan más adelante al trabajar en sistemas complejos.

Este repositorio representa uno de esos caminos para principiantes en el campo de la ingeniería inversa.

La vulnerabilidad documentada aquí se encontró analizando una aplicación antigua, entendiendo cómo se analiza su formato de archivo e identificando un error de programación que provoca un fallo. El impacto en sí no es complejo, pero el proceso es real, reproducible y útil para aprender cómo funciona realmente la investigación de vulnerabilidades.

Este es el tipo de ejemplo que uso al explicar "El camino que lleva a tu primer CVE", para mostrar que la ingeniería inversa es un camino válido desde el principio, y que comenzar con objetivos simples no solo es aceptable, sino que a menudo es la mejor manera de aprender.




🧱 Por qué el software antiguo es perfecto para aprender

Cuando estás empezando, las aplicaciones modernas suelen ser demasiado complejas. Utilizan protecciones, mitigaciones y bases de código que son difíciles de entender sin mucha experiencia. El software antiguo es diferente.

Las aplicaciones heredadas no fueron escritas teniendo en cuenta las prácticas modernas de seguridad. A menudo contienen errores simples de análisis, operaciones de memoria inseguras y errores lógicos que pueden entenderse con habilidades básicas de ingeniería inversa. Eso las hace perfectas para aprender.

Con un programa antiguo puedes: realizar ingeniería inversa del binario, entender el formato de archivo, provocar un fallo, analizar el fallo, localizar el error, documentar el problema e informar la vulnerabilidad. En otras palabras, aprendes las habilidades fundamentales que todo investigador de vulnerabilidades necesita.

De eso trata exactamente este ejemplo.




🧪 Por qué este ejemplo es importante

Este ejemplo es importante porque muestra algo muy simple:

  • No necesitas ser un experto para empezar.
  • No necesitas explotar el kernel del sistema operativo ni un navegador.
  • Puedes empezar con algo pequeño, entenderlo, documentarlo y aún así producir resultados reales.

Si te gusta la ingeniería inversa, puedes seguir ese camino desde el principio. Puede que lleve años dominarlo, pero no necesitas esperar años para empezar a hacer trabajo real.




⚠️ Acerca de la vulnerabilidad

La vulnerabilidad (CVE-2025-70330)) afecta la lógica de análisis de archivos de Easy Grade Pro 4.1 al cargar archivos de libro de calificaciones en formato .EGP propietario.

La aplicación reconstruye las estructuras internas del libro de calificaciones leyendo campos de posición fija del archivo y utilizando esos valores como desplazamientos dentro del búfer del archivo cargado. Estos desplazamientos se usan posteriormente para calcular tamaños de memoria y copiar datos en búferes asignados dinámicamente.

En condiciones normales, el archivo pasa varias comprobaciones estructurales antes de que continúe el análisis. Sin embargo, una vez que estas comprobaciones tienen éxito, el analizador confía en los valores de desplazamiento almacenados dentro del archivo sin validar que permanezcan dentro de los límites del búfer cargado.

Al modificar bytes específicos dentro de un archivo .EGP que por lo demás es válido, es posible corromper estos cálculos internos de desplazamiento. Cuando el analizador utiliza posteriormente estos valores, intenta leer memoria fuera de la región válida del archivo, lo que resulta en una violación de acceso y un bloqueo de la aplicación.

Esta condición corresponde a una lectura fuera de los límites (CWE-125), lo que provoca una denegación de servicio local cuando se abre el archivo manipulado.




🔬 Análisis técnico

Descargar herramienta