El malware es uno de los mayores problemas de Internet actuales. SPAM, phising, redes sociales, malware... son las palabras de moda. Por malware se entiende cualquier programa malintencionado que tiene como objetivo dañar un ordenador sin el consentimiento y, casi siempre, sin el conocimiento de su propietario. La palabra proviene del inglés MALicious softWARE y se utiliza para englobar a todo tipo de virus informáticos, troyanos, gusanos (worms), spyware, adware y demás.
Cada vez se hace más necesario controlar qué es lo que se descarga de Internet, o cualquier adjunto que se recibe por correo electrónico, aunque sea de un contacto conocido y, a priori, confiable. Según fuentes de Panda, Symantec y el resto de empresas de seguridad conocidas, la programación y desarrollo de programas malintencionados ya supera de largo al de las aplicaciones legítimas.
Una forma de reducir el riesgo de un sistema consiste en analizar contra malware cualquier fichero que pasa por el equipo en cuestión antes de ser ejecutado libremente. Para ello, cada vez surgen más herramientas que ayudan enormemente a limitar el peligro de infección tanto en un entorno doméstico como corporativo y empresarial. Una de esas herramientas es MalwareAnalyzer que acaba de publicar su versión 2.9 y que permite revisar cualquier binario que se le pase en busca de aplicaciones maliciosas.
MalwareAnalyzer (http://sourceforge.net/projects/malwareanalyser) es una potente herramienta de código abierto que está escrita en lenguaje Python y funciona desde la línea de comandos de windows (CMD). Entre sus múltiples opciones destaca la posibilidad de buscar cadenas específicas dentro del archivo, llamadas a APIs de otras aplicaciones, análisis de código fuente (desemsamblando el fichero en las instrucciones en código ensamblador), comprobar online el archivo contra la base de datos de VirusTotal, verificación CRC y timestamp, volcado de memoria, etc.
Para demostrar su simplicidad y su potencia, se va a analizar el malware presente en un archivo binario (.exe) del troyano ZEUS descargado de una página web camuflado en un fichero que simula ser un conocido reproductor de ficheros mp3. Se ha lanzado con todas las opciones predeterminadas para que se realice un análisis completo del fichero y poder comprobar qué es lo que la herramienta descubre. La información porporcionada tras analizar el fichero es de lo más completa y detallada:
c:\malware_analyzer 2.9> run.exe winamp.exe
|---------------------------------------------------------------|
| beenudel1986[@]gmail[dot]com |
| Malware Analyzer(Static & Dynamic) 2.9 |
| 06/2009 analyse_malware.py |
| Do Visit www.BeenuArora.com |
| Last Updated : 22-02-2011 |
|---------------------------------------------------------------|
Analysing if PE file...
[+] Valid PE file.
[+] Malware File Size : 183 KB
[+] Verifying CRC from file
Claimed CRC and Actual CRC are different: Suspicious
Claimed: 0
Actual: 202981
[+] Verifying timestamp from file
[-] Seems fine
Checking for Packer Signature....
Identified packer :UPX -> www.upx.sourceforge.net
[+] Computing Checksum for malware :winamp.exe
[-]Checksum of malware :3e20c6db4d2e1cf1a344da7b0c89c32c
-------- Identifying Strings in the malware---------------
!This program cannot be run in DOS mode.
-----------Performing signatures based scan---------------
[+]Displaying Interesting System Calls Made.
[-]Signatures not found.....
[+]Displaying Registry Hives Edited.
[-]Signatures not found.....
[+]Displaying A Little Online Behaviour.
[-]Signatures not found.....
[+]Displaying the Loaded DLLs.
[-]Signatures not found.....
[+]Commands Inside the Malware.
[-]Signatures not found.....
[+]Sys Calls Made.
[-]Signatures not found.....
[+]Searching if malware is VM aware
[-]Signatures not found.....
---------------------------------------------------------
!This program cannot be run in DOS mode.
Malware loads following DLLs
KERNEL32.DLL
[-] Disaassembling the first block
[0x44b120L] mov esi 0x41f000
[0x44b121L] lea edi [si-0x1e000L]
[0x44b126L] push r15d
...
The file is potentially suspected. Is it packed??
Identifying Suspicious section. Processing....
[!] SUSPICIOUS
Section Name: IMAGE_SECTION_HEADER Entropy 0.0
[IMAGE_SECTION_HEADER]
Name: UPX0
Misc: 0x1E000
Misc_PhysicalAddress: 0x1E000
Misc_VirtualSize: 0x1E000
VirtualAddress: 0x1000
SizeOfRawData: 0x0
PointerToRawData: 0x400
PointerToRelocations: 0x0
PointerToLinenumbers: 0x0
NumberOfRelocations: 0x0
NumberOfLinenumbers: 0x0
Characteristics: 0xE0000080
[!] SUSPICIOUS
Section Name: IMAGE_SECTION_HEADER Entropy 7.9759010457
[IMAGE_SECTION_HEADER]
Name: UPX1
Misc: 0x2D000
Misc_PhysicalAddress: 0x2D000
Misc_VirtualSize: 0x2D000
VirtualAddress: 0x1F000
SizeOfRawData: 0x2C600
PointerToRawData: 0x400
PointerToRelocations: 0x0
PointerToLinenumbers: 0x0
NumberOfRelocations: 0x0
NumberOfLinenumbers: 0x0
Characteristics: 0xE0000040
**This Test shall be performed when you are confirm that suspect is a malware**
Anti Debugging traces identification
[!] Found a call at: 0x44c0d8 LoadLibraryA
[!] Found a call at: 0x44c0dc GetProcAddress
Malware File System Activity Traces
No Filesystem traces :( . Try manually
Malware System Hook Calls
No System Hook Call traces found :( . Try manually
Malware Keyboard Hook Calls
No Keyboard Hook Call traces found :( . Try manually
Malware Rootkit traces
No Rootkit Hook traces found :( . Try manually
DEP Setting Change trace
[!] Found a DEP setting change trace: 0x44c0e0 VirtualProtect
[!] Found a DEP setting change trace: 0x44c0e4 VirtualAlloc
DLL Injection trace
No DLL Injection trace found :( . Try manually
Network Connection Traces
No Potential Network trace found :( . Try manually
Privilage Escalation Potential Traces
No Privilage Escalation trace found :( . Try manually
Hardware Breakpoint Potential Traces
No Hardware Breakpoint trace found :( . Try manually
[+] Computing Checksum for malware :winamp.exe
[-]Checksum of malware :3e20c6db4d2e1cf1a344da7b0c89c32c
[+] Malware detected! [37/41] (90.2%)
[*] Malware names:
etc
Falla la comprobación CRC, hay discrepancias entre el CRC actual y el supuesto, se ha detectado la presencia de un compresor de ejecutables (UPX) lo que indica que el programa es mayor de lo que aparenta y que debajo del archivo winamp.exe hay bastantes más cosas, además, modifica la librería KERNEL32.DLL encargada principalmente de gestionar la memoria en un sistema Windows, al desensamblar el código se encuentra también actividad sospechosa, se detectan trazas antidebug en el programa, etc. Es decir, el archivo tiene todas las probabilidades de ser un malware.
También se ha pasado el archivo por el análisis de VirusTotal y este ha sido el resultado: 37 de los 41 motores antivirus que gestiona lo han detectado como malware, en concreto como un troyano tal y como había reportado anteriormente la herramienta:

Fig 1. Análisis del archivo desde la Web de VirusTotal
Para estar completamente seguros se analiza el fichero con la aplicación antimalware Malwarebytes y el resultado es el mismo:

Fig 2. Detección del malware con el programa MalwareBytes

Fig 3. Reporte del malware encontrado
Existen otras herramientas similares a MalWareAnalyzer y muy útiles como:
- Zero Wine Malware Analysis Tool (http://sourceforge.net/projects/zerowine): herramienta del compañero Joxean Koret que incluye una imagen de una máquina virtual QEMU con el sistema operativo Debian y todo el software necesario para analizar malware como el emulador WINE en un sandbox virtual seguro (un entorno aislado) que recolectará la información sobre las llamadas a la API que realiza el programa malicioso analizado. Los reports e informes resultantes son de lo más completos y detallados.
- YARA (http://code.google.com/p/yara-project): aplicación multiplataforma para Windows, Linux y Mac OS X que permite detectar y clasificar malware.
- CUCKOO (http://www.cuckoobox.org/index.php): herramienta open source bajo licencia GPL que permite analizar cualquier fichero binario en forma también de sandbox o máquina virtual aislada.
Para analizar cualquier sistema Windows y eliminar el diferente malware detectado destacan:
- Malwarebytes (http://www.malwarebytes.org): Malwarebytes Anti-Malware es un excelente Antimalware gratuito que busca, detecta y elimina todo tipo de Malware.
- Hitman Pro 3 (http://www.surfright.nl/en/hitmanpro>): otro programa para limpiar cualquier sistema de malware entre cuyas funcionalidades más importantes destaca la posibilidad de que si se encuentra un fichero sospechoso, se envía a través de internet a su “nube de confirmación” formada por partners tan conocidos como ESET (Antivirus NOD32), Avira (AntiVir), Prevx (Herd Intelligence) y Emsi Software (Anti-Spyware A-squared y Anti-Virus Ikarus) para determinar si realmente es un fichero seguro o no.
- Lavasoft Ad-Aware (http://www.lavasoft.com/products/ad_aware_free.php): programa de Lavasoft para Windows que detecta y elimina spyware, dialers, troyanos, minería de datos, software agresivo, parásitos, scumware, secuestradores de navegador, y cookies de seguimiento.


Comentarios
Nueva versión de la herramienta (Malware Analyser v3.0). Algunos errores corregidos y poco más, como novedades más destacables. Descargar desde http://www.malwareanalyser.com/home/
@vespadict: you are the man. Confiamos en tu próxima contribución.
Tal y como está etiquetado: "Muy educativo". Además veo que no hay muchos posts relacionados con este tema. Siempre está bien leer cosas de este estilo, ¿Alguien se anima con algo de reversing, debuggin..etc?.
Añadir comentario