Ingeniería Reversa

  • Posted on: 27 November 2020
  • By: ReYDeS

La ingeniería reversa es una habilidad la cual proporciona beneficios extremos cuando se realiza análisis y caza de fallas contra aplicaciones comerciales o propietarias. Existen dos tipos primarios de sintaxis para código ensamblador sobre procesadores x86: Intel y AT&T. Ambos estilos funcionan bien, y muchos investigadores terminan prefiriendo uno al otro. Es importante dominar las bases del análisis de código desensamblado, además de mejorar la habilidad de rápidamente identificar funciones interesantes.

Las llamadas de funciones internas son objetivos interesantes, pues el código es completamente desarrollado por el programador, opuesto a utilizar llamadas de funciones externas para compartir librerías. Existen llamadas de funciones externas obvias con vulnerabilidades conocidas, las cuales también deben ser identificadas. Frecuentemente un profesional tiene una cantidad de tiempo limitado para invertir en la ingeniería reversa, de tal manera el tiempo debe ser optimizado para enfocarse sobre aquello más interesante y lucrativo.

Muchos proveedores no ofrecen símbolos para depuración; sin embargo Microsoft los ofrece, y están disponibles para ser utilizados. Un mapa para símbolos de depuración, define los nombres de todas las funciones internas utilizadas por un programa o librería. Esto hace mucho más eficiente un análisis. Los profesionales frecuentemente invierten una gran cantidad de tiempo trabajando con desensambladores como IDA Pro y objdump, como también depuradores de software. Estas herramientas ayudan a convertir una falla o condición de negación de servicio, dentro de un exploit funcional con ejecución de código.

Fuentes:

https://en.wikipedia.org/wiki/X86_assembly_language
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/micro...
https://www.hex-rays.com/products/ida/
https://linux.die.net/man/1/objdump

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: https://www.reydes.com/d/?q=node/1