13 herramientas para desofuscar código para reversers

Todo buen reverser guarda en su maletín un buen número de instrumentos para diseccionar malware. A continuación os mostramos una lista de 13 herramientas para desofuscar código (alguna ni las conocía) que recopilamos de Hacker List para todos los amantes y profesionales de la ingeniería inversa. Como siempre no dudéis en comentar si echáis en falta/conocéis más herramientas.

1. Balbuzard

Balbuzard es un paquete de herramientas de análisis de malware en Python para extraer patrones de interés a partir de archivos sospechosos (direcciones IP, nombres de dominio, encabezados de archivos conocidos, secuencias interesantes, etc). También puede romper la ofuscación de malware, como XOR, LOD, etc por fuerza bruta y comprobando esos patrones.

2. de4dot

de4dot es un desofuscador de .NET de código abierto (GPLv3) escrito en C#. Hace todo lo posible para restaurar el código empaquetado y ofuscado lo más parecido al original. La mayor parte de la ofuscación puede restaurarse completamente (por ejemplo las strings cifradas), pero no los símbolos ya que los nombres originales no son parte (por lo general) del conjunto ofuscado. Requiere dnlib para leer y escribir ensamblados.

3. FLOSS

FireEye Labs Obfuscated String Solver (FLOSS) utiliza técnicas avanzadas de análisis estático para desofuscar automáticamente las strings de los binarios de malware.

4. iheartxor

iheartxor se puede utilizar para ataques de fuerza bruta contra cadenas codificadas con xor con un patrón de expresión regular definido por el usuario (-r). El patrón de búsqueda por defecto es una expresión regular que busca datos entre bytes nulos ('\x00'). La herramienta también se puede utilizar para hacer un XOR plano en un archivo con -f (nombre de fichero) y -k (valor). El valor debe estar entre 0x0-0x255.

5. NoMoreXOR

NoMoreXOR ayuda a obtener una clave XOR de 256 bytes mediante el uso de análisis de frecuencia.

6. PackerAttacker

Packer Attacker es un extractor de código oculto en malware en Windows. Soporta los siguientes tipos de pacers: ejecución desde el heap, reemplazo de la cabecera PE e inyección en un proceso.

7. unpacker

Unpacker es un unpacker (valga la redundancia) de malware automático en Windows basado en WinAppDbg.

8. unxor

unxor busca a través de un archivo XOR-codificado (binario, archivo de texto, lo que sea) y usa ataques de texto plano conocido para deducir el keystream original. Funciona con claves la mitad de largas que el texto plano conocido, por complejidad lineal.

9. VirtualDeobfuscator

VirtualDeobfuscator es una herramienta de ingeniería inversa para los wrappers de virtualización. Su objetivo es analizar un runtrace y filtrar las instrucciones de procesamiento de la máquina virtual.

10. XORBruteForcer

XORBruteForcer es un script en Python que implementa ataques de fuerza bruta XOR de un archivo determinado, aunque también puede utilizar una clave específica. Es posible buscar una palabra en el resultado, reduciendo al mínimo la salida.

11. XORSearch

XORSearch es un programa para buscar una cadena determinada en un archivo binario codificado con XOR, LOD, ROT o SHIFT. XORSearch prueba todas las claves XOR (0 a 255), claves del EDD (1 a 7), claves ROT (1 a 25) y teclas SHIFT (1 a 7) cuando busca.

12. XORStrings

XORStrings busca cadenas en el archivo (binario) facilitado, utilizando las mismas codificaciones que XORSearch (XOR, LOD, ROT y SHIFT). Por cada codificación/clave, XORStrings busca e informa del número de cadenas encontrado, la longitud media de la cadena y la longitud máxima de la cadena.

13. xortool

xortool es un script en Python que intenta obtener la longitud de la clave XOR (basándose en el recuento de la igualdad de caracteres), así como de la propia clave (basado en el conocimiento del carácter más frecuente).

Fuente: 13 Awesome Deobfuscation Tools For Reverse Engineers

Comentarios

Publicar un comentario