Viper - Binary analysis framework

Viper es una plataforma diseñada para la organización de una biblioteca de malware.
En la web del proyecto definen Viper como:

"Viper is a binary analysis and management framework. Its fundamental objective is to provide a solution to easily organize your collection of malware and exploit samples as well as your collection of scripts you created or found over the time to facilitate your daily research."
asdd

Normalmente, cuando estamos analizando malware, ya sea por una investigación, for fun, o porque nos interesa analizar una variante en concreto, no sería raro poseer varias muestras para revisar. 
Viper nos ayudará en esa tarea de clasificación y revisión de dichas muestras.

Para poder analizarlo, descargaremos la última versión de Github:


root@ecrime:~/tools/malware# git clone https://github.com/botherder/viper
Cloning into 'viper'...
remote: Counting objects: 3054, done.
remote: Total 3054 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3054/3054), 1.28 MiB | 0 bytes/s, done.
Resolving deltas: 100% (1909/1909), done.

Checking connectivity... done.

Una vez hemos descargado viper, instalaremos las librerías necesarias:


root@ecrime:~/tools/malware/viper# pip install -r requirements.txt 
Requirement already satisfied (use --upgrade to upgrade): python-magic in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): pefile in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): PrettyTable in /usr/lib/python2.7/dist-packages (from -r requirements.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): pydeep in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): requests in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 5))
Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 6))
Requirement already satisfied (use --upgrade to upgrade): pycrypto in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 7))
Downloading/unpacking OleFileIO-PL (from -r requirements.txt (line 8))
  Downloading OleFileIO_PL-0.42.1.zip (120kB): 120kB downloaded
  Running setup.py (path:/tmp/pip_build_root/OleFileIO-PL/setup.py) egg_info for package OleFileIO-PL
    
Requirement already satisfied (use --upgrade to upgrade): olefile in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 9))
Requirement already satisfied (use --upgrade to upgrade): BeautifulSoup4 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 10))
Requirement already satisfied (use --upgrade to upgrade): bottle in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 11))
Requirement already satisfied (use --upgrade to upgrade): pylzma in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 12))
Requirement already satisfied (use --upgrade to upgrade): pyelftools in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): bitstring in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 14))
Requirement already satisfied (use --upgrade to upgrade): dnspython in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 15))
Requirement already satisfied (use --upgrade to upgrade): pyexiftool from git+https://github.com/smarnach/pyexiftool.git in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 16))
Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 17))
Requirement already satisfied (use --upgrade to upgrade): M2Crypto in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 18))
Installing collected packages: OleFileIO-PL
  Running setup.py install for OleFileIO-PL
    
Successfully installed OleFileIO-PL

Cleaning up...

Creando un proyecto con Viper

Lo primero que vamos ha hacer es crear un proyecto con Viper:



Como veis, no tenemos ninguna muestra en el proyecto, ya que acabamos de crearlo.
Ahora, lo que haremos será añadir muestras para analizarlas


Añadiendo nuestras al proyectos Viper
Si veis en la imagen, he señalado el tipo de archivo, además de los TAGS correspondientes con los que quería marcar estos samples.

Si queremos ver los ficheros correspondientes añadidos al proyecto lo podemos hacer:

Buscando los archivos en el proyecto Viper actual

Viper permite analizar cada archivo en detalle y, obtener información sobre él, vamos ha hacer un ejemplo con uno de ellos:


Detalles de archivo
Antes de trabajar con el archivo, hay que abrirlo previamente. Si introducimos el comando info, podremos obtener información sobre él. 
Trabajando con el archivo directamente podemos obtener información que obtendríamos con herramientas como pefile!


Extrayendo información de un fichero
Otra de las cosas que me han parecido interesantes es poder hacer el lookup en VirusTotal


Comprobando hash en Viper
Sin duda Viper es un framework del que podremos sacar mucho provecho, sobretodo si nos dedicamos analizar malware en nuestro día a día.

Proyecto Viper => https://github.com/botherder/viper

Equation APT

Durante la conferencia del SAS, el GreAt Team de Kasperky ha dado a conocer el ataque más sofisticado hasta la fecha.
El grupo lleva activo durante mas de dos décadas, a nivel de sofisticación este APT se asemeja a otro que habíamos visto con anterioridad, Regin.
El grupo responsable del ataque recibe este nombre por los tipos de cifrado empleados durante la campaña, el grupo utilizó RC5, RC6 y AES en sus distintas plataformas.

En la campaña se ha visto el uso de del mismo loader que se había visto anteriormente con el malware Gauss.

Módulos  de malware

La plataforma usada por el grupo Equation, se trata de una plataforma compleja y que posee varios módulos con diferentes características cada uno de ellos.
Algunos de los módulos inciden directamente en el sistema operativo y otros como plataforma de ataque. Un resumen de cada uno de ellos extraído del report de Kaspersky:


EquationDRUG

Una plataforma de ataque muy compleja usada por el grupo Equation. Tiene características como las de un plugin para ser activado o desactivado de forma dinámica.

La plataforma de ataque fue desarrollada entre 2003 y 2013, en una primera instancia, nadie podía infectarse con EquationDRUG directamente. El proceso de infección quedaría de la siguiente forma:


Estaba diseñado para infectar sistemas XP/2003. Los sistemas más “modernos” como Windows 7 eran infectados con otro módulo, Grayfish.

DoubleFANTASY

Una especie de dropper, que se encarga de validar si la víctima que ha infectado es la adecuada. Una vez se confirma, descarga una pieza de malware mucho más sofisticada. (EquationDRUG o Grayfish)
Una vez infectada la víctima, DoubleFantasy usaba en su configuración interna, direcciones de webs legítimas para comprobar el acceso a internet.
A nivel de infraestructura si se están vigilando a nivel de Whitelist los accesos a Internet, estas conexiones no serían detectadas por ningún sistema tipo proxy.

Webs para checkear la conexión a Internet
TripleFANTASY

Backdoor usado en combinación con Grayfish, al parecer es la actualización de DoubleFantasy

Equestre: 

Misma funcionalidad que EquationDRUG

Grayfish

La pieza de malware más sofisticada usada por el grupo. Reside completamente en el registro y se basa en la filosofía de un Bootkit para permanecer residente en el sistema.
Este malware es compatible con todas las versiones de sistema operativo, desde Windows NT, hasta Windows 8, tanto en arquitectura 32 como 64 Bits.

La arquitectura de Grayfish, es de la siguiente forma:

Arquitectura Grayfish
Grayfish, incluye el bootkit más sofisticado usado hasta ahora, esto da a entender la gran calidad técnica que había detrás de este desarrollo.
La infección en modo bootkit, de Grayfish, pasa por varias etapas. Cada etapa descodifica la siguiente, y así, hasta arrancar el sistema operativo.
Si ocurre algún error en ese proceso, Grayfish, se autodestruye .
En una imagen, el proceso de arranque quedaría de la siguiente forma:

Grayfish boot stages


Un sistema de arranque, muy complejo.

Para almacenar la información Grayfish usa los VFS (Virtual File System)

Fanny

Un gusano informático creado en 2008 y se utiliza para recopilar información sobre objetivos en el Medio Oriente y Asia. Algunas de las víctimas parecen haber sido actualizados primero a DoubleFantasy, y luego al sistema EquationDRUG.

Importante destacar que  Fanny usaba dos exploits 0day que más tarde fueron descubiertos en la campaña de Stuxnet. Es decir, que este grupo tenía acceso a estos dos 0day, antes que el grupo de Stuxnet.
Para recordar, usaba los dos exploits 0day (LNK y escalada de privilegios.)

Fanny se distribuía mediante USB, una vez que conseguía infectar el USB, creaba una unidad oculta en el mismo. Si se conectaba a una máquina sin conexión a internet, sólo recogía información sobre la máquina, si por el contrario, se conectaba a una máquina con conexión a Internet, este sacaba los datos del área oculta y lo enviaba a su C&C.

EquationLASER

Malware usados en el periodo 2001-2004, compatible con Windows95/Windows98 y creados entre EquationDRUG y DoubleFantasy

Una imagen de cómo están los componentes relacionados entre sí:

Relación entre módulos


Exploits utilizados por el grupo Equation

Los CVE explotados en las campañas del grupo son:

MS09-025
MS12-034
MS13-081
CVE-2010-2568
CVE-2013-3918
CVE-2012-1723
CVE-2012-4681

Varios de estos exploits son 0day usados por el grupo Equation en la campaña. 
Como dato interesante, CVE’s como CVE-2013-3918, fueron usados en la campaña Aurora.

 Vectores de entrada

Según las investigaciones, las infecciones en la campaña fueron vía:

CD-ROM
Infección por gusano
Exploits kits
USB

En el caso de la infección de los CD-ROM, el grupo interceptaba las mercancías y los substituía por CD troyanizados.

Ataque con un nivel muy alto de sofisticación

El ataque realizado por el grupo Equation, ha sido catalogado como el más sofisticado por el hecho de infectar el firmware de los discos duros.

La infección del firmware del disco duro, daba lugar a una reprogramación del mismo, lo que otorgaba una extrema supervivencia dentro del sistema, además de permanecer oculto a nivel de sistema. Grayfish, era capaz de reprogramar el firmware de los fabricantes

“Maxtor”, “Maxtor STM”
“ST”, “Maxtor STM”, <Seagate Technology>
“WDC WD”, <Western Digital Technologies, Inc>
“SAMSUNG”, <SAMSUNG ELECTRONICS CO. LTD>
“WDC WD”, <Western Digital Technologies, Inc> additional vendor specific
<Seagate Technology>

Zonas afectadas

Los países afectados por esta campaña son:

Iran, Russia, Syria, Afghanistan, Kazakhstan, Belgium, Somalia, Hong Kong, Libya, United Arab Emirates, Iraq, Nigeria, Ecuador, Mexico, Malaysia, United States, Sudan, Lebanon, Palestine, France, Germany, Singapore, Qatar, Pakistan, Yemen, Mali, Switzerland, Bangladesh, South Africa, Philippines, United Kingdom, India and Brazil.

Víctimas del ataque

Instituciones afectadas

  • Telecomunicaciones
  • Aeroespacial
  • Energía
  • Investigación Nuclear
  • Petróleo y gas
  • Militares
  • Nanotecnología
  • activistas y eruditos islámicos
  • Los medios de comunicación
  • Transporte
  • Las instituciones financieras
  • Empresas que desarrollan tecnologías criptográficas


El informe realizado por Karpersky lo podemos obtener de aquí

LogBook Targeted Cyberattacks

Cuando trabajas haciendo tareas de eCrime una de las cosas mas interesantes es hacer toda la parte de inteligencia. Dentro de esa disciplina se incluye el pode relacionar campañas entre ellas. Es una manera de ver mismos grupos detrás de diferentes amenazas o colaboración entre distintos grupos, si las hubiera.
Los cracks de Kaspersky, han sacado una web sobre información de ataques APT.

La URL para poder acceder es: https://apt.securelist.com

¿Que podemos encontrar aquí?

Vamos a echarle un vistazo:

Distintos APT visualizados como si de un barco se tratara


En la imagen podemos ver las distintas campañas de APT agrupadas por año. La grandaria del barco informa de cuanto tiempo ha estado la campaña en activo.

Información de la campaña

Si picamos en alguno de los barcos:

Información de una campaña en conceto

Al hacer click en algunos de lo barcos que están representando campañas podemos ver información relacionada con ellas. Para este caso, podemos ver información de la campaña de Mini-Duke, en la imagen vemos información como zonas geográficas afectadas, número de targets afectados etc..
También podemos encontrar la siguiente información:

Información de una campaña

Relación entre campañas

Otra de las cosas interesantes es que puedes ver con una linea si seleccionas algunos de los barcos las relaciones que hay entre cada una de ellas:

Relaciones entre campañas


En la imagen podemos ver las relaciones de la campaña Flame.

Filtros de búsquedas

Otra de las cosas que te permite hacer la web es poder filtrar y buscar información:


Aquí podemos ver los filtros que permite hacer la web. De esta manera cuando vayan rellenando la información de las distintas campañas. Podremos buscar para obtener información de lo que nos pueda interesar.
Las búsquedas pueden ser:

  • Por tipo
  • Tipo de propagación
  • Número de afectados
  • El TOP de países afectados
  • Plataformas afectadas
  • Objetivos



Espero que en un futuro añadan cosas, como poder buscar por un MD5 y obtener información de la campaña que está relacionada con esa muestra.
La verdad es que se le puede sacar mucho jugo el tener una plataforma montada de este tipo

Ahora mismo hay montado un timeline con las campañas existentes, la gente de Kaspersky irá añadiendo mas información de las campañas 

Muy útil y además muy lograda la visualización, seguiremos de cerca esta campaña. 


Regin, Malware de espionaje

Ha salido a la palestra un nuevo malware llamado Regin. Esta nueva amenaza se ha presentado como una pieza muy sofisticada y de la que todavía no se conocen todas sus características.
Para el artículo me he basado en dos empresas que han publicado información sobre ello:

Symantec
http://www.symantec.com/connect/blogs/regin-top-tier-espionage-tool-enables-stealthy-surveillance
http://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/regin-analysis.pdf

Kaspersky Great Team: 
https://securelist.com/blog/research/67741/regin-nation-state-ownage-of-gsm-networks/
https://securelist.com/files/2014/11/Kaspersky_Lab_whitepaper_Regin_platform_eng.pdf

El inicio

En las investigaciones las muestras de Regin se crearon en el año 2003, según la información analizada por Kaspersky la muestra de Regin ha afectado a:

  • Los operadores de telecomunicaciones
  • Las instituciones gubernamentales
  • Órganos políticos multinacionales
  • Las instituciones financieras
  • Instituciones de investigación
  • Las personas que participaron en investigación matemática/criptográfia avanzada
 Básicamente se han observado dos principales objetivos de los atacantes:
  • La recogida de información
  • Facilitar otros tipos de ataques
Vector de infección:

Las hipótesis de infección inicial es un misterio, al parecer se barajan posibilidades de ataques MITM, explotando fallos 0day en los navegadores. En la investigación no se han encontrado exploits de ningún tipo. Se encontraron controladores de dominio infectados, desde donde se pudieron infectar el resto de los ordenadores de la red.

Plataforma modular

La muestra de malware es modular como muchas de las muestras que operan a este nivel, el esquema se representa de la siguiente forma:

Esquema de infección
En las máquinas infectadas se podían encontrar los siguientes archivos:
  • %SYSTEMROOT%\system32\nsreg1.dat
  • %SYSTEMROOT%\system32\bssec3.dat
  • %SYSTEMROOT%\system32\msrdc64.dat
La infección era la misma para sistemas 32 y 64 bits, salvo con alguna diferencia en la fase 3, ya que en los sistemas 64 bits ya hace la pre-carga de ciertos elementos

VFSes

Después de leer el informe de Kaspersky y Symantec, una de las cosas que me han parecido mas interesantes es el uso de Virtual File Systems (VFSes). Hemos de entender los VFSes, como contenedores tipo "truecrypt", donde estará la parte interesante del código. Para obtener los archivos dentro del contenedor, había que hacer ingeniería inversa y tratar de encontrar la clave tal y como hizo el GREAT

Clave VFS de descifrado
La clave se encontraba en el módulo dispatcher (disp.dll)
Estos archivos se encontraban con nombre aleatorio en el disco duro y pudieron encontrar hasta 24 VFSes
Nombres de os VFEes encontrados

En la primera fase el malware, es almacenado como atributos extendidos NTFS o entradas del registro. Estos se unen de forma dinámica, se descifran y ejecutan en memoria.

Loader

Analizando el loader (01c2f321b6bfdb9473c079b0797567ba) del informe del Great Team de Kaspersky

Scanned on : 
2012-10-14 20:33:17

Detections:
29/44 Positives/Total

Vendor Name Result Version Last Update
Sophos Troj/Regin-B 4.81.0 20121014
Kaspersky UDS:DangerousObject.Multi.Generic 9.0.0.837 20121014
Trend Micro TROJ_GEN.R47C1JD 9.561.0.1028 20121014

Results for MD5    : 01c2f321b6bfdb9473c079b0797567ba
Results for SHA1   : 5031f07749c2639e57a6628a4361fe363d77c34e
Results for SHA256 : 392f32241cd3448c7a435935f2ff0d2cdc609dda81dd4946b1c977d25134e96e
Permanent Link : https://www.virustotal.com/file/392f32241cd3448c7a435935f2ff0d2cdc609dda81dd4946b1c977d25134e96e/analysis/1350246797/

La muestra estaba subida a VT en 2012, bastante después de cuando se crearon. En el timestamp de la muestra se puede verificar dicha fecha de compilación:

Type Data
File Name           01c2f321b6bfdb9473c079b0797567ba
File Size           72192 byte
Compile Time        25/03/2003 2:05
DLL               True
Sections            7
Hash MD5            01c2f321b6bfdb9473c079b0797567ba
Detected            Anti Debug, Anti VM
Directory           Import, Resource, Relocation

Parece que la muestra tiene algunos tricks anti-debug:

Anti Debug discovered [1]
------------------------------------------------------------
Function           ZwQueryInformationFile

Anti VM Trick discovered [1]
------------------------------------------------------------
Trick              VMCheck.dll

Suspicious API discovered [1]
------------------------------------------------------------
Function           ZwQueryInformationFile

Esto es aplicado por los desarrolladores de la muestra, para evitar ser analizada por los investigadores.
Para este caso particular Regin, estaba viendo protegido aplicando este y otros métodos de cifrado. Hacía falta tener todas las partes del bicho para poder entender su funcionamiento

Cuando he mirado la muestra he querido ver si estaba firmada:

Resultado Sigcheck
En la muestra está indicado que el Publisher es Microsoft y como Description SER8UART Port Driver (http://ser8uart-driver.sourceforge.net/)

Módulos del Malware

El malware contiene varios módulos y cada uno de ellos contiene funcionalidades específicas. Algunas de las mas interesantes:

ID Description
15 Peer encryption keys
50013  List of processes (‘snort.exe’, ‘wireshark.exe’, ‘rundll32.exe’, etc.)
50049 Log of GSM base station commands. Very rare, most interesting
50233 Process file name list (Explorer.exe, VMWareService.exe, Update.exe, Msiexec.exe, MailService.exe, etc.)

El malware contiene comprobaciones para algunas de las soluciones de seguridad como son Snort o analizadores de tráfico como Wireshark.

Strings en VFEes

Cuando hago las conferencias y hablo de evolución siempre explico que, los desarrolladores de malware cometían errores en el desarrollo de las muestras y es verdad, que al cabo de los años ya es difícil encontrar errores de desarrollo, se ha profesionalizado mas esta especialidad.

En los análisis de los VFEes, se han encontrado referencias como pueden ser:

Referencias a Starbucks
Estas y otras referencias ayudan a entender la magnitud y alcance del ataque.

Ataque a empresa GSM

Otra de las cosas espeluznantes del informe es el ataque detectado por el Great a un operador GSM. Obviamente el poder tener infraestructura GSM facilita poder realizar otros tipos de ataque.

Estructura de una red GSM
No es complicado de imaginar, que el poder atacar una estructura de este tipo requiere conocimientos a bajo nivel de como funciona una infraestructura de este tipo y conocer muy bien como funcionan este tipo de equipos.

C&C

La parte del "Command and control" también es interesante. Todas las comunicaciones de las mñaquinas infectadas, comunicaban con otras máquinas de la misma red y luego otras conexiones hacia el C&C. Las comunicaciones se llevaban a cabo de la siguiente forma:

Organización del C&C
Si recordamos como funcionaba la infección del Murofet, tenemos como súper nodos, "President's office, Research institute and the Bank". La "Educational institution" haría de proxy contra el C2 que estaría en este caso en India.
Después de los análisis estas son las IP's y funciones de la infraestructura maliciosa.

Información del C&C
Víctimas

De los usuarios infectados por Regin, tenemos hasta 14 localizaciones:

Infecciones por país
Como veis una infección a gran escala. Hay un caso curioso y es la infección de Kiribati, una isla con 100.000 habitantes.

Autoría del ataque

No han dicho que País o países estaba financiando dicho ataque, pero está claro que una sofisticación de un ataque de este tipo ha de estar organizado por un grupo financiado por alguna nación al igual que pasaba con Stuxnet.
Empresas como Fox-IT en un comunicado a SCMagazine UK, dicen que podría ser un ataque organizado por Estados Unidos y Reino Unido


La gente de F-Secure comenta que había visto infecciones de Regin en 2009 y que en este caso no provienen de China o Rusia.


Hesperbot Detection Scanner

Hesperbot es un troyano que se detectó alrededor del mes de Agosto en 2013, se trata de un troyano con funcionalidades similares a las que tiene la familia Zeus y la extinta SpyeEye. Algunas de estas funcionalidades que tiene Hesperbot son: Captura de pulsaciones de teclado, capturas de pantalla, captura de vídeo, creación de un proxy remoto e incluso la creación de un servidor de VNC.
Esta variante afecta a los usuarios de Turquía, la República Checa, Portugal y el Reino Unido. Este malware al igual que pasaba con Zeus, tiene un componente móvil que se encargará de robar el segundo factor de autenticación.

Infección del usuario

El usuario recibe un correo, instigando a que abra el documento adjunto, este es un dropper, protegido con un custom packer, que descargará Hesperbot al equipo para infectarlo.
Si miramos el análisis de la gente de ESET, con un diagrama queda muy bien explicado:

Arquitectura de infección
El ROL del dropper es inyectar dentro del proceso explorer.exe para descargar los componentes necesarios.

Módulos de Hesperbot
El componente móvil estaba disponible para las plataformas de Android, Symbian y Blackberry, con un selector, el usuario seleccionaba el tipo de smartphone que tenía:

Selección de smartphone

Una vez que se a infectado la máquina las siguientes claves del registro contendrán información cifrada:

Computer Name
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion] “InstallDate”
Windows version
Processor architecture (x86, x64 or IA64)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography] “MachineGuid”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion] “DigitalProductId”

Esta y otras cosas, las podemos encontrar en este excelente Whitepaper

[+] http://www.welivesecurity.com/wp-content/uploads/2013/09/Hesperbot_Whitepaper.pdf

En una respuesta ante incidentes, es útil poder detectar si una máquina puede llegar a esta infectada, en este caso ha salido a la luz un escáner para detectar si una máquina está infectada con una variante de Hesperbot.

La herramienta a sido desarrollada por Hack 4 Career , así que lo que vamos a hacer es infectar una máquina con una muestra de Hesperbot con una de las muestras del informe de ESET.

He encontrado la herramienta en packetstorm, así que os dejo el enlace para descargarla
Hesperbot Detection Scanner (MD5: 6e50932089aaee64f33c7521af785baa)

Vamos a preparar en una máquina virtual, una muestra de Hesperbot y la herramienta de Hack 4 Career:

Muestra de Hesperbot y escáner

Infectamos la máquina


Si analizamos la muestra, en un entorno automatizado daría el siguiente report:

 [ General information ]
   * Analysis duration: 00:00:07
   * File name: c:\users\seifreed\downloads\e-fatura_1834820091.exe
   * File executed by: C:\Users\seifreed\Downloads\e-fatura_1834820091.EXE

 [ Changes to filesystem ]
   * Creates file C:\ProgramData\Sun\wvoliwok.bkp
   * Creates file C:\ProgramData\ydadazjb\wvoliwok.dat
   * Creates file C:\Users\seifreed\AppData\Roaming\Microsoft\Crypto\RSA\S-1-5-21-555486705-3761919541-3743433370-1000\9163bc389c0e9a8bfbaec6d3ef1644e5_7bac0c5d-ce49-41de-9f84-7b151d105b57
   * Creates file C:\Users\seifreed\AppData\Roaming\Microsoft\e-fatura_1834820091.EXE

 [ Changes to registry ]
   * Creates value "NukeOnDelete=00000001" in key HKEY_LOCAL_MACHINE\software\microsoft\Windows\CurrentVersion\Explorer\BitBucket
   * Creates value "UseGlobalSettings=00000001" in key HKEY_LOCAL_MACHINE\software\microsoft\Windows\CurrentVersion\Explorer\BitBucket
   * Modifies value "NukeOnDelete=00000001" in key HKEY_CURRENT_USER\software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\Volume\{9e345930-1ca2-11e4-a892-806e6f6e6963}
          old value empty
   * Creates value "(Default)=31" in key HKEY_CURRENT_USER\software\SandboxAutoExec
   * Creates value "LangID=0A0C" in key HKEY_CURRENT_USER\software\classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
   * Creates value "SandboxieRpcSs.exe=Sandboxie COM Services (RPC)" in key HKEY_CURRENT_USER\software\classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache\C:\Program Files\Sandboxie
                           binary data=530061006E00640062006F00780069006500200043004F004D002000530065007200760069006300650073002000280052005000430029000000
   * Creates value "e-fatura_1834820091.EXE=e-fatura_1834820091.EXE" in key HKEY_CURRENT_USER\software\classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache\C:\Users\seifreed\Downloads
                                binary data=65002D006600610074007500720061005F0031003800330034003800320030003000390031002E004500580045000000
   * Creates value "e-fatura_1834820091.EXE=ConsoleApplication2" in key HKEY_CURRENT_USER\software\classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache\C:\Sandbox\BSA\user\current\AppData\Roaming\Microsoft
                                binary data=43006F006E0073006F006C0065004100700070006C00690063006100740069006F006E0032000000
   * Creates value "attrib.exe=Utilidad de atributo" in key HKEY_CURRENT_USER\software\classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache\C:\Windows\System32
                   binary data=5500740069006C006900640061006400200064006500200061007400720069006200750074006F000000

 [ Network services ]
   * No changes

 [ Process/window/string information ]
   * Gets user name information.
   * Gets computer name.
   * Encrypts data.
   * Decrypts data.
   * Checks for debuggers.
   * Checks if user is admin.
   * Creates an event named "Global\CorDBIPCSetupSyncEvent_1604".
   * Creates a mutex "CrTsmwoOKVnQMHWIs".
   * Creates a mutex "Global\lzytugltixafozuzsqaxeluliresogylufokicojeluriqpkodklecysis.mutex".
   * Creates a mutex "Global\qbywqzizebgtapewhwosjpoxixkzudjwijibfsezucujozoqjgutuhudyb.mutex".
   * Creates a mutex "Global\akacopudiwetopacesypijuluzucyrydafyfunacoxexxvihixorulpkem.mutex".
   * Creates a mutex "Global\dheryjetexzwagewfgocaxflozipaqytdpelasejukjgakeputatsciraf.mutex".
   * Creates a mutex "Global\yfasecinewymyhejilaropafuwaxajumiviwakolapatlviruwulyqvcubjquvax".
   * Creates process "null, attrib.exe, null".
   * Injects code into process "C:\Windows\System32\attrib.exe".
   * Creates process "null, explorer.exe, null".
   * Injects code into process "C:\Windows\explorer.exe".
   * Contains string Detected Anti-Malware Analyzer routine: Sandboxie detection ("SbieDll.dll")
   * Contains string Detected Anti-Malware Analyzer routine: Wireshark detection ("wireshark")
   * Contains string Traces of AutoStart registry key ("Software\Microsoft\Windows NT\CurrentVersion\Winlogon")
   * Contains string Traces of AutoStart registry key ("Software\Microsoft\Windows\CurrentVersion\Run")
   * Contains string Detected Anti-Malware Analyzer routine: Norman Sandbox detection ("CurrentUser")
   * Sleeps 56 seconds.

Hay que tener en cuenta ciertas rutinas que tiene la muestra para detectar que está siendo ejecutada en una sandbox

 * Contains string Detected Anti-Malware Analyzer routine: Sandboxie detection ("SbieDll.dll")
   * Contains string Detected Anti-Malware Analyzer routine: Wireshark detection ("wireshark")
   * Contains string Traces of AutoStart registry key ("Software\Microsoft\Windows NT\CurrentVersion\Winlogon")
   * Contains string Traces of AutoStart registry key ("Software\Microsoft\Windows\CurrentVersion\Run")
   * Contains string Detected Anti-Malware Analyzer routine: Norman Sandbox detection ("CurrentUser")

Si infectamos la muestra en un entorno donde no hay ninguna sandbox presente, podremos ver como el dropper, baja los componentes necesarios.

Dropper bajando los componentes

Lanzamos el escaner, y veremos como escanea la memoria en busca de la infección:


La herramienta a podido encontrar que mi sistema se encontraba infectado con una muestra de Hesperbot.

Desde aquí darle las gracias a @MertSARICA por la herramienta y por el sample para las pruebas.
Referencias:

[+] http://www.welivesecurity.com/2013/09/06/hesperbot-technical-analysis-part-12/
[+] https://www.mertsarica.com/hesperbot-tarayicisi/


Análisis de ZeroLocker I

Uno de los tipos de malware que mas estragos a causado entre los usuarios finales y las empresas son los ransomware. Este tipo de malware cifra los archivos de disco con una clave fuerte y pide dinero para poder recuperarlo.
Dependiendo del ransomware, cifrará de alguna manera u otra. Si recordáis la variante de Cryptolocker, este malware buscaba ciertas extensiones y las cifraba.

Extensiones que ataca Cryptolocker: .odt, .ods, .odp, .odm, .odc, .odb, .doc, .docx, .docm, .wps, .xls, .xlsx, .xlsm, .xlsb, .xlk, .ppt, .pptx, .pptm, .mdb, .accdb, .pst, .dwg, .dxf, .dxg, .wpd, .rtf, .wb2, .mdf, .dbf, .psd, .pdd, .pdf, .eps, .ai, .indd, .cdr, .jpg, .jpe, .jpg, .dng, .fr, .arw, .srf, .sr2, .bay, .crw, .cr2, .dcr, .kdc, .erf, .mef, .mrw, .nef, .nrw, .orf, .raf, .raw, .rwl, .rw2, .r3d, .ptx, .pef, .srw, .x3f, .der, .cer, .crt, .pem, .pfx, .p12, .p7b, .p7c.

Si sufristeis la infección de este malware, recordaréis esta imagen:

Cryptolocker

Para conseguir los archivos de cryptlocker había que pagar, pero gracias a las empresas de seguridad (FireEye y Fox-IT) ya existe un servicio para conseguir estos archivos.

Mensaje de servicio de descifrado de archivos

ZeroLocker, es otro tipo de ransomware y funciona de forma un poco distinta, este ransomware no cifra por extensiones sino que cifra todos los archivos del disco. Les añade una extensión .encrypt.
Cuando ha cifrado todos los archivos, el usuario podría ver el mensaje de ransomware.

Mensaje de ZeroLocker

Como veis, el pago se realizaría mediante Bitcoins, como ocurre con otros ransomware.
A continuación vamos a analizar un poco como funciona este malware.
ZeroLocker no cifra archivos mayores de 20MB y tampoco cifrará los ficheros con los nombres "Windows", "WINDOWS", "Program Files", "ZeroLocker" o "Desktop".

Lo primero que vamos a hacer es analizar el fichero binario para ver las propiedades que tiene:

Resumen del binario

Como veis la muestra se compiló hace poco y lleva un packer.

Packer detectado en el análisis
Analizando la muestra también encontramos, datos interesantes:

File name discovered [3]
------------------------------------------------------------
Executable         Task Manager.exe
Library            mscoree.dll
Database           C:\Users\George\Desktop\Projects\ZeroLocker\Testing Stuff\Testing Stuff\obj\Debug\Task Manager.pdb

El análisis del binario, nos da información sobre su creación.
Por último, de las propiedades del binario:

Translation: 0x0000 0x04b0
LegalCopyright: Copyright \xa9  2014
Assembly Version: 3.23.12.12
InternalName: Task Manager.exe
FileVersion: 3.23.12.12
ProductName: Task Manager
ProductVersion: 3.23.12.12
FileDescription: Task Manager
OriginalFilename: Task Manager.exe

Como veis, se hace pasar por el TaskManager de Windows, si miramos las propiedades.
ZeroLocker cifra los archivos usando una clave 160-bit AES.

Como enseñaba antes, el archivo está programado en .NET por lo que nos bajamos un decompilador, para echarle un vistazo

NET Reflector
Lo primero que hago es analizar el tráfico de red, para ver si comunica con al algún C&C

Tráfico de red
El servidor comunica con la IP 5.199.171.47, lo primero que hago es analizar que actividad hay relacionada con esta IP.

Datos pDNS
He podido comprobar que de la IP 5.199.171.47, hay diversa actividad maliciosa desde 2013. Por lo tanto es una infraestructura que se re-utiliza para fines maliciosos.
De la IP 5.199.171.47, tiene los siguientes puertos abiertos:

21/tcp    open  ftp     vsftpd 2.2.2

22/tcp    open  ssh     OpenSSH 5.3 (protocol 2.0)
| ssh-hostkey: 
|   1024 ec:61:51:ee:bc:c2:6e:9e:19:6b:06:8d:4f:2c:ce:1e (DSA)
| ssh-dss AAAAB3NzaC1kc3MAAACBAKTQ/wsVQ1/KAnJMgMZLs7Nho1tOvgw/6zYLlGZYm/6ot3qd/p6kl6z1lIQVEn1oBNFrdJfxBSvdgomwhDs5GUsn/f3Y6lt2o3TnZlQYPZeCPOs7E2d34e4yFx5Ps7j8bSkvI4ui18dmv+gyUoG909M6aWy3WxhxX4clQnl1MUVlAAAAFQCdenYvvmweWxuWWlSQvPgAVNhsKQAAAIAvIiGTEokCMiSa5TRvwUp4O2QAIGXhvDWCWdvkIoR/62GsMfXnYRTpDCDDlPbDwntMycXI6dUc5qB08+4AOhEkzKV2/cH6T5SbwB9yDB11E60v63tUr5sk7rW2KMNS4p+3nlE9zx/Qgcoxfth9dFRx/25OtIeYpbvud1zljAP/+wAAAIEAioZ+V/L5S0ejK+5xw4kDydpJaToaTfC5MpKDR9vt48lMGNr9vh2WOuWibtjsxzxPFxTxaMGtVzQfV6axkgNPb2P92D/pyIrKr3tdw0dfthcNNPsOLcS/3GdS1420fhBs2DBFbVvgBgB+/gM3gK41H8KiCTn27tGlxuK+Yf+CWvI=
|   2048 d7:16:da:96:76:f7:41:4a:ff:a2:a0:e6:ff:0c:0f:87 (RSA)
|_ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvc6CtJrpt0hG5QPr0grHwEJCw+vRgKRY81aNQ4iPc1FxWYD0ot+OwtTExeMJl0bdw8S1zsBt1k/mLe1KCR8zMNz13kfVD8WJ+cfU98An+HgY/SvdD42+ae8HXZTXJPmZTMQE9tkMaQAODO/DXfFpM03DqV/OQfQUUYiqiTSlVj9OzPlVIWUVJXrdsS3Cnjov5KOidVkUDsrU/n7tkISpm8Wu5BHTMFut+tlfjUzV1nYM/IxcOjAxb0RtHz0GS4RSS4x5DsQ/lSCJqqOv4P9OV0CDmS3P0KjKjzLulAGCok1KCYqIHHvj8ugv4WJZlAUtx3ZHN3kN/E9ZgKXNPs24JQ==

80/tcp    open  http    Apache httpd 2.2.15 ((CentOS))
| http-methods: GET HEAD POST OPTIONS TRACE
| Potentially risky methods: TRACE
|_See http://nmap.org/nsedoc/scripts/http-methods.html
|_http-title: Apache HTTP Server Test Page powered by CentOS

53795/tcp open  unknown
Service Info: OS: Unix

Otra de la actividad relacionada con la IP es:


date URL
12/10/14 http://5.199.171.47/zconfig/91184
17/9/14 http://5.199.171.47/patriote/sansviolence%5B%5D
9/9/14 http://5.199.171.47/patriote/sansvioence
8/9/14 http://5.199.171.47/
4/9/14 http://5.199.171.47/patriote/sansviolenc
4/9/14 http://cheatzone.ygto.com/private/updatecb7r.exe
4/9/14 http://5.199.171.47/patriote/sansviolence
31/8/14 http://5.199.171.47/zImprimer/446305781-6Anf32MoZG805MwwG2lX-17xQqSvhHu3bEmYdmo1G1hwob1h6UFq3oe
31/8/14 http://5.199.171.47/zConfig/173812
31/8/14 http://5.199.171.47/patriote/
27/8/14 http://5.199.171.47/zConfig/127053
24/8/14 http://cheatzone.ikwb.com/secure/downloads/CoC_Cheat_Tool_v2.32.exe
18/8/14 http://5.199.171.47/zConfig/3797
13/8/14 http://5.199.171.47/zConfig/120327
13/8/14 http://5.199.171.47/zImprimer/3891027120-OYRfMZNTD05KEnuSGcKw-1MvEwFHN6iMs9rNWxx75sqEVGi37gCDrJE
13/8/14 http://5.199.171.47/zConfig/173384
8/8/14 http://cheatzone.ikwb.com/private/UpdateCB9.exe
28/7/14 http://cheatzone.ikwb.com/140501.exe
17/7/14 http://cheatzone.otzo.com/private/UpdateCheck.exe
15/7/14 http://cheatzone.ygto.com/download/Clash%20of%20Clans%20Hack%20v2.1.zip
2/7/14 http://cheatzone.ikwb.com/download/Clash%2Bof%2BClans%2BHack%2Bv2.1.zip
25/6/14 http://cheatzone.ygto.com/private/updatecheckr.exe
18/6/14 http://cheatzone.ygto.com/private/UpdateCB30.exe
13/6/14 http://cheatzone.ygto.com/private/UpdateCheckR.exe
13/6/14 http://cheatzone.ygto.com/secure/downloads/Crossfire_ZP_v2.32.exe
12/6/14 http://cheatzone.ygto.com/private/updatecb28.exe
8/6/14 http://cheatzone.ygto.com/private/UpdateCB28.exe
5/6/14 http://cheatzone.ygto.com/private/UpdateCB27.exe
3/6/14 http://cheatzone.ygto.com/secure/downloads/LiveJasmin_Credits_v2.32.exe
1/6/14 http://cheatzone.ikwb.com/140404.exe
1/6/14 http://cheatzone.otzo.com/secure/downloads/dungeonhunter_tool_v3.2.exe
1/6/14 http://cheatzone.otzo.com/private/updatecheck.exe
1/6/14 http://cheatzone.otzo.com/private/updatecb6r.exe
1/6/14 http://cheatzone.otzo.com/private/updatecb24.exe
1/6/14 http://cheatzone.otzo.com/private/updatecb23.exe
1/6/14 http://cheatzone.otzo.com/private/sub1.exe
31/5/14 http://cheatzone.ygto.com/private/UpdateCB26.exe
31/5/14 http://cheatzone.ygto.com/
30/5/14 http://cheatzone.otzo.com/cmd/mArgx
30/5/14 http://cheatzone.otzo.com/private/ptdep
30/5/14 http://cheatzone.otzo.com/private/lcdep
30/5/14 http://cheatzone.otzo.com/private/core32.exe
30/5/14 http://cheatzone.otzo.com/private/UpdateCB24.exe
30/5/14 http://cheatzone.otzo.com/secure/downloads/DungeonHunter_Tool_v3.2.exe
30/5/14 http://cheatzone.otzo.com/private/UpdateCB6R.exe
30/5/14 http://cheatzone.otzo.com/private/msc01
30/5/14 http://cheatzone.ygto.com/private/UpdateCB7R.exe
29/5/14 http://cheatzone.ygto.com/private/UpdateCheckR
29/5/14 http://cheatzone.ygto.com/cmd/mArg
29/5/14 http://cheatzone.ygto.com/private/core32.exe
28/5/14 http://cheatzone.otzo.com/private/core64xstart.exe
28/5/14 http://cheatzone.ygto.com/private/UpdateCB25.exe
27/5/14 http://cheatzone.ygto.com/private/core64x.exe
26/5/14 http://cheatzone.otzo.com/private/updatecb22.exe
26/5/14 http://cheatzone.ikwb.com/secure/downloads/crossfire_zp_v2.32.exe
26/5/14 http://cheatzone.ikwb.com/private/updatecheck.exe
26/5/14 http://cheatzone.ikwb.com/private/updatecb9.exe
26/5/14 http://cheatzone.ikwb.com/private/updatecb12.vtsafe.exe
26/5/14 http://cheatzone.ikwb.com/private/updatecb10.exe
25/5/14 http://cheatzone.otzo.com/
23/5/14 http://cheatzone.otzo.com/private/UpdateCB23.exe
23/5/14 http://cheatzone.ikwb.com/secure/downloads/Crossfire_ZP_v2.32.exe
23/5/14 http://cheatzone.ikwb.com/140424.exe
23/5/14 http://cheatzone.ikwb.com/private/UpdateCB12.vtsafe.exe
23/5/14 http://cheatzone.otzo.com/private/UpdateCB22.exe
20/5/14 http://cheatzone.otzo.com/private/UpdateCB5R.exe
20/5/14 http://cheatzone.otzo.com/ccc.exe
20/5/14 http://cheatzone.otzo.com/private/core32start.exe
20/5/14 http://cheatzone.otzo.com/private/UpdateCheckR.exe
20/5/14 http://cheatzone.otzo.com/private/Sub1.exe
20/5/14 http://cheatzone.ikwb.com/private/UpdateCB4R.exe
19/5/14 http://cheatzone.otzo.com/private/core64x.exe
18/5/14 http://cheatzone.otzo.com/private/UpdateCB21.exe
14/5/14 http://cheatzone.otzo.com/private/UpdateCB20.exe
10/5/14 http://cheatzone.ikwb.com/ccc.exe
9/5/14 http://cheatzone.ikwb.com/private/Sub1.exe
6/5/14 http://cheatzone.ikwb.com/cmd/mArgx
6/5/14 http://cheatzone.ikwb.com/private/lcdep
6/5/14 http://cheatzone.ikwb.com/private/UpdateCheckR.exe
5/5/14 http://cheatzone.ikwb.com/
4/5/14 http://cheatzone.ikwb.com/private/core64x.exe
4/5/14 http://cheatzone.ikwb.com/private/core64xstart.exe
3/5/14 http://cheatzone.ikwb.com/download/Clash%20of%20Clans%20Hack%20v2.1.zip
2/5/14 http://cheatzone.ikwb.com/cmd/mArg
30/4/14 http://cheatzone.ikwb.com/private/UpdateCB14.exe
30/4/14 http://cheatzone.ikwb.com/secure/downloads/BingoBash_Cheat_v2.exe
30/4/14 http://cheatzone.ikwb.com/secure/downloads/Chaturbate_Hack_v2.32.exe
29/4/14 http://cheatzone.ikwb.com/140428.exe
28/4/14 http://cheatzone.ikwb.com/private/UpdateCB13.exe
21/4/14 http://cheatzone.ikwb.com/secure/downloads/HayDay_Cheat_v3.5.exe
9/4/14 http://cheatzone.ikwb.com/private/UpdateCB12.exe
8/4/14 http://cheatzone.ikwb.com/download/Clash%20of%20Clans%20Hack%20v2.1.zip%5BClash%20of%20Clans%2...
6/4/14 http://cheatzone.ikwb.com/private/UpdateCB11.exe
5/4/14 http://cheatzone.ikwb.com/secure/downloads/dungeonhunter_tool_v3.2.exe
5/4/14 http://cheatzone.ikwb.com/secure/downloads/CandyCrushSaga_Cheat_v4.25.exe
5/4/14 http://cheatzone.ikwb.com/private/UpdateCB10.exe
31/3/14 http://cheatzone.ikwb.com/private/core64.exe
29/3/14 http://cheatzone.ikwb.com/private/core32.exe
29/3/14 http://cheatzone.ikwb.com/private/UpdateCB8.exe
29/3/14 http://cheatzone.ikwb.com/private/core32start.exe

Estas son URL que contienen malware, y que están relacionadas con la IP, como veis, mucha actividad maliciosa relacionada con ella.

En la segunda fase, vamos a ver como son los ficheros cifrados y como conseguir descifrarlos.