Ingeniería inversa

Ingeniería inversa

Curso práctico

  • Author: Cayetano De Juan Úbeda
  • Publisher: Rama Editorial
  • ISBN: 9788419444363
  • eISBN Pdf: 9788419444370
  • Place of publication:  Madrid , Spain
  • Year of publication: 2022
  • Pages: 272
La Ingeniería Inversa, se refiere al estudio detallado de las funciones de cualquier archivo binario, paso a paso, con el fin de descubrir cuál es el código responsable por su funcionamiento. Es una de las disciplinas más gratificantes dentro de la seguridad informática. Esta obra te explica de forma secuencial como poner en práctica esta materia a través de explicaciones claras y didácticas, acompañados de ejemplos y ejercicios de autoevaluación. En la primera parte aprenderás el lenguaje de más bajo nivel legible que existe, el lenguaje Ensamblador, y lo harás comenzando desde cero con este orden: • A moverte por el mundo de las API de Windows. • A enlazar Ensamblador con lenguajes de alto nivel como Python y VB.Net. • A crear su propia Shell Inversa en Ensamblador y conectarla con Python. • A crear sus propias DLL. En la segunda parte asimilarás a interpretar los programas compilados y aprenderás: • A interpretar ficheros Binarios PE. • A poner puntos de ruptura. • A crear sus propios parches o cambios en un binario. • A cifrar texto por XOR. • A reconstruir código intermedio. • A analizar un binario contaminado por Malware real. Además, con esta obra tendrás acceso a 40 videos y supuestos prácticos descargables desde la web del libro que complementan al contenido y que están indicados en el libro.
  • ACERCA DEL AUTOR
  • PRÓLOGO
  • INTRODUCCIÓN
  • PARTE 1. LENGUAJE ENSAMBLADOR
  • CAPÍTULO 1. CONCEPTOS BÁSICOS Y EXPECTATIVAS DEL CURSO
    • Funcionamiento de Windows, mensajes y eventos
    • ¿Para qué podemos usar el lenguaje ensamblador?
    • Numeración y cálculo aritmético
      • Números hexadecimales
      • Conversiones decimal – hexadecimal
      • Números negativos
      • Bits, bytes, palabras y sistema binario
      • Registros como variables
    • Resumen autoevaluación
    • Ejercicios
      • Resultados
  • CAPÍTULO 2. LENGUAJE ENSAMBLADOR
    • Ejercicio
      • Resultados
    • Descarga e instalación de Masm32 / Easy code
      • Descarga Masm32
      • Descarga Easy Code
      • Configuración Easy Code
    • Registros del sistema 32bits
    • Directivas del lenguaje, estructura del programa
      • Ejercicio guiado hola mundo. de Debug a Microsoft Windows 32bits
      • Ejercicio
    • Tipos de datos
      • DB
      • DW/Word
      • DD/DWord
      • DQ/QWord
      • DT
    • Introducción a las Api’s de Windows
      • Donde buscar información sobre API
      • Como Agregar API (DLL) a su proyecto
    • Mover datos a registros y viceversa
      • Instrucción Mov
    • Operaciones matemáticas simples
    • Operaciones de pila
  • CAPÍTULO 3. LENGUAJE ENSAMBLADOR: PROCEDIMIENTOS, DEFINICIÓN Y USO
  • CAPÍTULO 4. LENGUAJE ENSAMBLADOR: OPERADORES Y DIRECTIVAS RELACIONADAS CON LOS DATOS
    • Offset
    • Addr
    • PTR
    • Type
    • SizeOf
  • CAPÍTULO 5. LENGUAJE ENSAMBLADOR: OPERACIONES CON BANDERAS
  • CAPÍTULO 6. LENGUAJE ENSAMBLADOR: INSTRUCCIONES DE DESPLAZAMIENTO
    • Multiplicar por desplazamiento
      • SHL, desplazamiento lógico a la izquierda
      • SHR, desplazamiento lógico a la derecha
  • CAPÍTULO 7. LENGUAJE ENSAMBLADOR: INSTRUCCIONES DE TRANSFERENCIA DE CONTROL
    • Incondicionales
      • JMP
      • Invoke
      • RET
    • Condicionales tradicionales
    • Condicionales Masm32
    • Iterativas tradicionales
    • Iterativa MASM32
  • CAPÍTULO 8. LENGUAJE ENSAMBLADOR: INSTRUCCIONES MANEJO DE CADENAS
    • Prefijos de repetición
    • Mover cadenas
      • LEA, cargar dirección efectiva
    • Comparar cadenas
    • Buscar en cadenas
    • Transferencias entre cadenas y registros
      • Incrementar Y Decrementar en Uno
  • CAPÍTULO 9. MODOS DE DIRECCIONAMIENTO
  • CAPÍTULO 10. RESUMEN Y FASE DE VIDEO TALLERES
    • Ejercicios varios para masm32
      • Resultados
    • Proyecto final Masm32
      • Resultado
  • CAPÍTULO 11. ANEXO I. INTEGRACIÓN CON LEGUAJES DE ALTO NIVEL
    • Como realizar DLL en ensamblador
      • Creación de DLL en ensamblador
      • Creación De DLL En Ensamblador Función para VB.NET
      • Creación de DLL en ensamblador función para Python
      • Creación de DLL en ensamblador funciones a exportar
    • Python integración
    • La comunidad de Python
      • Creando su propia biblioteca – Shell inversa para Windows desde Python
    • VB.NET integración
  • PARTE 2. INGENIERÍA INVERSA
  • CAPÍTULO 12. INTRODUCCIÓN
    • ¿Qué es el reversing o ingeniería inversa?
    • ¿Qué es un compilador?
      • Código fuente
      • Código intermedio
      • Código objeto
    • Limitaciones
    • ¿Qué dice la ley, respecto al Reversing?
    • Ejercicios
    • Resultados
  • CAPÍTULO 13. INTRODUCCIÓN A OLLYDBG
    • Desensamblador/Código
    • Registros
      • Registros Del Procesador
      • Flag O Banderas
      • Registros de punto flotante
    • Dump
    • Pila/Stack
    • Relación de teclas y botones más usados
  • CAPÍTULO 14. RECONSTRUCCIÓN DE CÓDIGO NATIVO
    • Código nativo, variables y estructuras
      • Variables
    • Ejecutando código nativo, con Ollydbg
      • Ejecución completa
      • Ejecución Línea a Línea
      • Pasar por encima, ejecutar funciones sin entrar dentro de ellas
    • Código nativo, variables y estructuras II
      • Variables II, sumando
      • Puntos de ruptura
      • Estructuras
      • Buscando en la memoria, sección del Dump
    • Procedimientos y variables locales
    • Estructuras de control condicionales
      • Instrucciones De Transferencia De Control Según los Flag
    • Estructuras de control iterativas
    • Estructuras De Control Repetitivas
    • Formularios
    • Ficheros binarios PE
      • Diseño
      • Tabla de secciones
      • Tabla IMPORT
      • Relocalizaciones
  • CAPÍTULO 15. API’S SIGNIFICATIVAS
  • CAPÍTULO 16. PRACTICAS CON SUPUESTOS EN CÓDIGO NATIVO
    • Buscando cadena en código nativo
    • Poniendo Parches (“Patches”)
    • Ejercicio
    • Cifrado de texto por XOR
      • Cifrado mediante XOR
    • Anular objetivo por API (Intermodular Calls)
    • Ejercicios
    • Analizando Shellter, un malware real
      • Analizando la calculadora de Windows sin infectar, mapa memoria
      • Analizando la calculadora de Windows infectada, mapa memoria
      • Analizando la calculadora de Windows sin infectar, hilos
      • Analizando la calculadora de Windows infectada, hilos
      • Analizando La Calculadora De Windows Infectada, Hilo Principal Shellter
  • CAPÍTULO 17. RECONSTRUCCIÓN DE CÓDIGO INTERMEDIO
    • Microsoft Intermediate Language
    • Analizando binario de código intermedio VB.NET
      • Analizando binarios VB.NET, con OllyDBG
      • Ejercicio
    • ExeInfoPe
    • Introducción a .Net reflector
  • CAPÍTULO 18. PRÁCTICA CON SUPUESTO EN CÓDIGO INTERMEDIO
  • MATERIAL ADICIONAL

SUBSCRIBE TO OUR NEWSLETTER

By subscribing, you accept our Privacy Policy