Documentación del taller realizado junto a Longinos para la Navaja Negra 12ª edición.
¿Alguna vez has soñado con desentrañar los secretos ocultos del software? En «Del Revés: Ingeniería Inversa para Nuevos Hackers», te llevaremos a un apasionante viaje, donde todo se ve y se entiende… ¡del revés!
Prepárate para convertirte en un verdadero detective del código, explorando las entrañas de los programas y descubriendo cómo funcionan realmente. Este taller está diseñado para aquellos que recién empiezan y tienen ganas de aprender y descubrir lo que nos susurran los programas.
¡No te pierdas esta oportunidad de adentrarte en el mundo de la ingeniería inversa de la manera más práctica y divertida posible! ¡Nos vemos en Albacete, listos para darle la vuelta al código!
-
Objetivos del taller
-
Historia de la computación y del software
-
Proceso de Ingeniería del software
-
Proceso de Ingería inversa del software
-
Requisitos y Motivaciones
-
Aprendizaje con ejemplos de binarios no nativos (Ej1, Ej2 y Ej3)
-
Ejecutar y comprender qué hay que hacer
- CTF
-
Analizar archivo e identificar el tipo programa
- DiE (Ej1=Text, Ej2=JVM y Ej3=.NET)
-
Analizar el programa en estático
-
Notepad++ (Ej1)
-
Bytecode Viewer (Ej2)
-
dnSpy (Ej3)
-
-
Modificar el programa (crack)
-
Notepad++ (Ej1)
-
Bytecode Viewer (Ej2)
-
dnSpy (Ej3)
-
-
Analizar el programa en dinámico
- dnSpy (Ej3)
-
-
Aprendizaje con teoría de binarios nativos
-
Registros CPU
-
Memoria Virtual
-
Anillos de privilegio
-
Juego de instrucciones
-
Modos de direccionamiento
-
Pila
-
PE COFF
-
Convenciones de llamada
-
Puntos de interrupción
-
-
Aprendizaje con ejemplos de binarios nativos (Ej4)
-
Ejecutar y comprender qué hay que hacer
- CTF
-
Analizar archivo e identificar el tipo programa
-
DiE (C/C++)
-
CFF Explorer
-
-
Analizar el programa en estático
- x64dbg
-
Modificar el programa (crack)
- x64dbg (je por jne)
-
Analizar el programa en dinámico
- x64dbg
-
-
Aprendizaje con ejemplos. Reto final Naja Negra (Ej5)
-
Bypass de la activación (crack)
-
Obtener tu serial válido
-
Obtener cualquier serial válido por fuerza bruta (keygen)
-
Obtener cualquier serial válido comprendiendo el código (keygen)
-
-
-
Conclusiones
-
Agradecimientos
El taller combinará sesiones teóricas con prácticas intensivas, donde cada participante podrá aplicar los conceptos aprendidos en ejemplos reales y ejercicios cuidadosamente diseñados para consolidar los conocimientos adquiridos. Se fomentará un ambiente de colaboración activa, en el que los asistentes puedan intercambiar ideas, compartir experiencias y aprender unos de otros. El objetivo es no solo entender los fundamentos, sino también experimentar de primera mano el proceso de Ingeniería Inversa.
Este taller está diseñado para profesionales de la ciberseguridad, desarrolladores de software y cualquier persona sin experiencia previa que quiera iniciarse en el fascinante mundo de la ingeniería inversa de software en sistemas Windows bajo arquitecturas x86 y x64. El enfoque no será cubrir una gran cantidad de temas, sino profundizar en los conceptos clave y esenciales, asegurando que cada participante adquiera una base sólida que le inspire a seguir explorando y aprendiendo por su cuenta. Con puntos bien comprendidos, sentaremos las bases para que cada uno continúe su propio camino en este apasionante campo.
-
Conocimientos básicos de Programación y Sistemas Operativos
-
Familiaridad con conceptos básicos de Seguridad Informática
Dejamos todo el material original disponible bajo licencia MIT.