Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Quien soy?
Un psiclogo y msico frustado Analista Programador: Java, Pascal, C#, PHP, Python, ASM Docente de Java en Cibertec IT Security Consultant en Q-Protex
Quien soy?
Nicks anteriores: AnonimoSer DiHACKblo BeeMoul Nick actual: emadicius
Antes de empezar
A estirarnos un poco!
Objetivos de la Presentacin
2 3
Despertar tu inters!
Estructura de la Presentacin
Que es la ingeniera reversa/inversa? Ingeniera Inversa de Software Casos de Uso Certificaciones Como y donde aprender? Oportunidades Laborales
Estructura de la Presentacin
Que es la ingeniera reversa/inversa? Ingeniera Inversa de Software Casos de Uso Certificaciones Como y donde aprender? Oportunidades Laborales
Las vacunas se hacen luego de hacer una ingeniera inversa a las bacterias o virus.
No video
Estructura de la Presentacin
Que es la ingeniera reversa/inversa? Ingeniera Inversa de Software Casos de Uso Certificaciones Como y donde aprender? Oportunidades Laborales
Casos de xito
Desarrollo de aplicaciones
Samba
Wine
Open Office
Permite a sistemas operativos UNIX compartir archivos con sistemas Microsoft Windows
Requerimientos
Ingeniera Inversa
Conocimiento
Se necesita conocer algunos conceptos informticos como los siguientes: Arquitectura de PCs Sistemas operativos Formatos de archivos binarios Programacin
Herramientas
Se necesita aprender el manejo de un gran nmero de herramientas que trabajan en conjunto para lograr el objetivo comun.
Herramientas
Analizadores de Archivos Detectores de Packers, Unpackers
Herramientas - Frameworks
REMnux: A Linux Distribution for Reverse-Engineering Malware REMnux is a lightweight Linux distribution for assisting malware analysts in reverse-engineering malicious software. The distribution is based on Ubuntu and is maintained by Lenny Zeltser
Opensource tools to disasm, debug, analyze and manipulate binary files. Highly scriptable Multi-architecture multi-platform Hexadecimal editor IO is wrapped Debugger support Diffing between two functions or binaries Code analysis at opcode, basicblock, function levels
Metodologa
Metodologa
1. Especificar la razn del anlisis: Estudio, Modificar o Agregar funcionalidad, Entender cierta parte del cdigo, Anlisis de Malware, etc. Anlisis de comportamiento 1. Ejecutar el binario en un ambiente de pruebas (VM) 2. Monitorear como interacta con los archivos, registro, red 3. Interactuar con el binario directamente en caso tenga GUI Usar un analizar de binario para detectar posible compilador y/o compresor/protector. En caso exista un compresor/protector, evaluar la necesidad de quitarlo: 1. Depurar hasta el OEP 2. Dumpear 3. Arreglar IAT De acuerdo con el tipo de binario detectado en el punto 3, reunir las herramientas enfocadas a este tipo. Anlisis de cdigo: 1. Refuerza lo encontrado en el anlisis de comportamiento 2. Uso de decompiladores, debuggers y otros 3. Examinar el cdigo y buscar las partes mas importantes Enfocarse en lo establecido en el punto 1
2.
3. 4.
5.
6.
7.
Metodologa
Anlisis de cdigo es la parte mas divertida / difcil:
Tcnicas Anti-debugging y anti-tracing
Deteccin de Breakpoints
Anti Virtual Machines y emuladores
Anti dump
Timers
Self-Debugging
Cdigo automodificable
Estructura de la Presentacin
Que es la ingeniera reversa/inversa? Ingeniera Inversa de Software Casos de Uso Certificaciones Como y donde aprender? Oportunidades Laborales
Casos de Uso
1
Soporte Informtico
2
Desarrollo de Sistemas
Caso Anti-Porn
Caso IpView
1
Soporte Informtico
Caso Anti-Porn
Al, soporte? Por favor ayuda!!! Instal un programa que filtra el internet y no lo he podido configurar correctamente!!!! Ahora no puedo entrar a ninguna pgina pues me pide un password para configurarlo o desinstalarlo!!!
1
Soporte Informtico
Caso Anti-Porn
No hay otra solucin mas que formatear el disco e instalar de nuevo el sistema operativo. Esto va a tomar un par de das pues debo recoger la PC y traerla a mi laboratorio. Esto le va a costar!
Caso Anti-Porn
Ok, no problem. Con mi debugger puedo modificar el programa en memoria para poder desinstalarlo. Esto va a tomar unos minutos Esto le va a costar! (Posiblemente ms)
2
Desarrollo de Sistemas
Caso IpView
El software que nos vino con el dispositivo no se ve correctamente en los monitores LCD del rea de distribucin! Por favor necesito una solucin ASAP!
2
Desarrollo de Sistemas
Caso IpView
Vamos a programar las reuniones para levantar los requerimientos y desarrollar el software a medida pues no tenemos el cdigo fuente de dicha aplicacin. Esto va a tomar algunas semanas!
Caso IpView
Vamos a modificar el programa para que pueda verse en los monitores Esto tomar un par de horas.
436X472
Ventana en tamao real. Ntese el tamao de las letras y la ausencia del botn de maximizar.
Creacin de un Loader en delphi con el componente TDbgCLS que modifica el tamao de la letra, el ancho y el alto de la ventana.
1024x750
Duracin: 2 ~ 3 horas
Estructura de la Presentacin
Que es la ingeniera reversa/inversa? Ingeniera Inversa de Software Casos de Uso Certificaciones Como y donde aprender? Oportunidades Laborales
Certificaciones
Certified Reverse Code Engineering Professional (Windows) Certified Reverse Code Engineering Expert (Windows)
Estructura de la Presentacin
Que es la ingeniera reversa/inversa? Ingeniera Inversa de Software Casos de Uso Certificaciones Como y donde aprender? Oportunidades Laborales
Reverse Engineering: Malware, Binary Analysis and Software Vulnerabilities Advanced Reverse Engineering Malware
Tecnologas de programacin y la estructura interna de los programas(Ingenieria Inversa) http://groups.google.com/group/crackslati nos Infinidad de webs y recursos de donde aprender
Estructura de la Presentacin
Que es la ingeniera reversa/inversa? Ingeniera Inversa de Software Casos de Uso Certificaciones Como y donde aprender? Oportunidades Laborales
Oportunidades Laborales
Analista de Malware. Laboratorio de Anlisis de Malware prximo a abrirse en Argentina
Desarrollador C/Reverse Engineering Desarrollador (Seguridad Informtica) SSR o SR Muchos de los miembros de CracksLatinos trabajan aqu. (Argentina)
Conclusiones
Que quieres ser de grande hijo?
m.febres@q-protex.com http://www.q-protex.com