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.
You are not allowed to view links.
Register or
LoginBalbuzard 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.
You are not allowed to view links.
Register or
Loginde4dot 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.
You are not allowed to view links.
Register or
LoginFireEye 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.
You are not allowed to view links.
Register or
Loginiheartxor 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.
You are not allowed to view links.
Register or
LoginNoMoreXOR ayuda a obtener una clave XOR de 256 bytes mediante el uso de análisis de frecuencia.
You are not allowed to view links.
Register or
LoginPacker 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.
You are not allowed to view links.
Register or
LoginUnpacker es un unpacker (valga la redundancia) de malware automático en Windows basado en WinAppDbg.
You are not allowed to view links.
Register or
Loginunxor 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.
You are not allowed to view links.
Register or
LoginVirtualDeobfuscator 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.
You are not allowed to view links.
Register or
LoginXORBruteForcer 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.
You are not allowed to view links.
Register or
LoginXORSearch 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.
You are not allowed to view links.
Register or
LoginXORStrings 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.
You are not allowed to view links.
Register or
Loginxortool 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: Vicente Motos / hackplayers.com / hackerlists.com