La siguiente publicación es una adaptación del post  “Win32/Napolar – A new bot on the block” escrito por Pierre-Marc Bureau y publicado en We Live Security.

Un nuevo código malicioso tipo botnet detectado como Win32/Napolar, y denominado por su autor como solarbot,  está diseñado entre otras cosas para llevar a cabo ataques de denegación de servicio (DoS), para robar información de los sistemas infectados y además se puede asociar con varios navegadores para robar información de formularios web.

De este código malicioso que entró en actividad a finales de julio, se ha tenido informe de miles de infecciones, muchas de las cuales están ubicadas en Latinoamérica siendo Perú, Ecuador y Colombia los más afectados.

Propagación de Win32/Napolar

Con respecto a la propagación de Win32/Napolar es probable que lo haga a través de Facebook. Dado que este código malicioso puede robar las credenciales de Facebook, el atacante puede utilizar las credenciales robadas para enviar mensajes desde las cuentas comprometidas y tratar de infectar a los amigos de la víctima. Algunos nombres de archivos utilizados por esta familia de códigos maliciosos son:

Photo_032.JPG_www.facebook.com.exe
Photo_012 - WWW.FACEBOOK.COM.exe
Photo_014 - WWW.FACEBOOK.COM.exe

En este post, se presentan algunas de las técnicas de anti-debugging utilizadas por este código malicioso para evadir la detección antivirus y dificultar la ingeniería de reversa sobre el código. Además se explicará el protocolo utilizado por el C&C y algunas capturas del sitio web donde se vendía el código malicioso antes de que fuera dado de baja.

Técnicas anti-debugging

Después de analizar los binarios asociados con Win32/Napolar, se puede notar que no hay ningún punto de acceso válido en la cabecera PE, tal como se muestra a continuación.

Original entrypoint to  0

Las primeras instrucciones que se ejecutan cuando se inicia el binario se guardan en las funciones TLS. La primera función TLS no hace nada pero la segunda función descifra más código utilizando el algoritmo RC4 y la llave 0xDEADBEEF. El código de descifrado se registra en una tercera función TLS antes de ser regresado a la segunda función, tal como se muestra la siguiente captura de código.

Insertar nueva TLS

Esta tercera función TLS descifra el resto del código antes de llamar las funciones principales del malware. Además utiliza algunos otros trucos que dificultan su análisis:

  • Todas las importaciones se resuelven en tiempo de ejecución utilizando hashes en lugar de los nombres de las importaciones.
  • Las interacciones con el sistema operativo se hacen llamando directamente a funciones no documentadas de la biblioteca NTDLL en lugar de utilizar las API estándar.
  • Todo el código es independiente de la posición.

Una de las principales características de Win32/Napolar es su capacidad para robar información cuando un usuario completa un formulario web a través de un navegador. Si un navegador cuenta con la protección de Trusteer probablemente se puede bloquear la captura de esta información. Por eso, es que el código malicioso recorre todos los procesos en ejecución y termina cualquier proceso que tenga la cadena "Trusteer".

Análisis de red

Cuando se comunica con el C&C, Win32/Napolar utiliza el protocolo HTTP. La primera consulta enviada por el bot al servidor de comando y control contiene la siguiente información:

  • Versión del bot
  • Nombre de usuario de Windows
  • Nombre de equipo
  • Un identificador único bot
  • Versión del sistema operativo
  • Tipo de sistema, que puede ser de 32 ó 64 bits, ya que este malware soporta ambos tipos de arquitectura.

El servidor responde con los comandos que el bot tiene que ejecutar, los cuales son encriptados usando RC4 y el identificador único del bot es la llave utilizada como clave de cifrado. Los comandos que pueden ser utilizados van desde el robo de información y SOCKS proxy, hasta comandos para ataques DoS. Cada comando tiene un identificador único almacenado como un solo byte. La siguiente figura muestra una captura de tráfico de la comunicación entre un host infectado por Win32/Napolar y su C&C.

Captura de red de Napolar

Por lo menos se han visto siete C&C diferentes utilizados por Win32/Napolar, la mayoría de los cuales solo estuvo en línea un par de días antes de ser trasladados a una nueva red. Este comportamiento puede ser una muestra de que este malware está siendo utilizando activamente. También se encuentran algunas referencias a TOR dentro del código de este malware. Como parte de este análisis parace que aún no lo utiliza, pero podría ser una característica latente aún no activada en las versiones analizadas.

Sitio web promocional

El autor de Win32/Napolar se ha preocupado por vender este malware, a través de un sitio web en el cual resalta algunas de sus particularidades. Además proporciona información como el código para el C&C y scripts PHP para una base de datos SQL.

Sitio web donde se ofrecía Napolar

También presenta múltiples ejemplos de plugins que deben ser escritos en Delphi y utilizados para mostrar mensajes en sistemas infectados, encontrar la versión del antivirus instalado en el sistema víctima e incluso la forma de robar Bitcoins.

Además el sitio contiene un registro de los cambios realizados en el código fuente del bot, incluyendo información sobre las nuevas características y corrección de errores. El primer registro de cambios corresponde al 14 de julio, lo cual encaja con las primeras detecciones en el mes de agosto.

Historial de modificaciones de Napolar

Aunque este malware tiene funcionalidades similares a otras familias como Zeus o SpyEye, podría ganar en popularidad , ya que su autor está manteniendo activamente, y debido a su facilidad de uso y la sencillez con la que se pueden crear plugins. Por lo cual es muy importante que los usuarios tomen las medidas de protección adecuadas.

Traducido y adaptado por H. Camilo Gutiérrez Amaya.