Análisis de un malware de infección automática, caso @Hack_x_Crack – Parte I

Hace unos días me encontraba revisando mi TimeLine en twitter cuando un anuncio de los amigos @hack_x_crack donde promocionaban un nuevo cuadernos sobre algoritmos y estructuras de datos llamó mi atención, al entrar en el enlace que proporcionaban, el NoScript me advirtió de la ejecución de un posible código JAVA, al investigar un poco el caso y revisar el código fuente de la pagina, me encontré con un iframe bastante sospechoso.

Sitio web de Hack X Crack con el iframe malicioso

El iframe malicioso cargaba tan pronto entrabamos a la web de Hack X Crack e inmediatamente avisé a los administradores de la comunidad HackxCrack para que solucionaran el problema, ya que muy seguramente se trataba de un ataque automatizado que explotaba algún fallo en alguno de sus servicios o aplicaciones web para poder añadir este iframe e infectar el mayor numero de personas silenciosamente (me niego a creer que fuera puesto intencionalmente)..<>

Detalle del sitio web de Hack X Crack afectado(click para agrandar)

Afortunadamente la rapida y eficiente reacción de overload, puso fin a esta amenaza en menos de media hora para luego pasar a recomendar a sus usuarios revisar a fondo sus equipos por si fueron infectados por el malware. Después de este susto nuestro amigo @seifreed me propuso que analizaremos este malware y al ver que era poco detectado decidimos hacerlo, comenzamos con el con el applet malicioso en Java que se ejecutaba tan pronto ingresábamos a la web de HackXCrack, sin saber hasta donde llegaríamos con este tema… (aún no lo sabemos jejeje)

Así que para iniciar analizando el Java pasamos a descargarlo y descompilarlo para ver que es lo que hacia el archivo Alakazam.jar.

Código descompilado del archivo Alakazam.jar

Después de una rápida revisión del código llegamos a la conclusión que se trata de un downloader (bastante silencioso por cierto), cuya tarea principal era descargaba de un servidor un ejecutable malicioso y ejecutarlo en el sistema.

Código Java del applet malicioso(Click par ver código)

El applet malicioso tiene muy poca detección como nos muestra el reporte de VirusTotal

Reporte de VirusTotal del applet malicioso de Java(click para ver reporte de virustotal)

Al entrar directamente a la web donde estaba hospedado el applet de Java, te ofrecía para la descarga directa un archivo llamado Updater.exe, cambiaba de nombre con cada petición directa a la pagina, pero el hash del archivo era el mismo en las pruebas hecha lo que posiblemente sea indicios de una posible prueba del delincuente para infectar con variantes diferentes a cada visitante en un futuro y dificultar las tareas de las casa antivirus.

Seifreed se encargó del análisis dinámico de este ejecutable y para esto decidió bajarlo con curl, descubriendo que estaba alojado en smallfiles, un servicio de alojamiento de ficheros gratuito tipo megaupload.com, no es la primera vez que los creadores de malware utilizan servicios de alojamiento para hospedar malware estos han sido utilizados ampliamente por las mafias de malware por el anonimato ofrecido (no es necesario crear una cuenta en hosting gratuito, o comprarlo con una CC robada, ni de vulnerar un servidor ajeno para alojar el malware en el).

Una vez Seifreed consigue una copia del binario, también lo subimos a VirusTotal para ver cuantos antivirus lo detectaban.

Informe de VirusTotal del binario malicioso
(click para ver informe de virustotal)

Aunque la detección era mas alta que la del applet java, este no era detectado ni por la mitad de motores antivirus que soporta virustotal, esto puede ser debido a que hayan implementado algún tipo de protección en el binario y pasamos a revisarla.

Análisis del binario con PEiD para detectar el packer

Con peid podemos comprobar si el malware contiene un packer y como suponíamos en este caso se contaba con uno, posible causa de la pobre detección por parte de los motores antivirus.

Al ejecutar el archivo malicioso en un entorno controlado, nos dimos cuenta que realizaba varias conexiones a un dominio intentando descargar algo de el..

Puertos abiertos del servidor contactado por el malware

Si echamos un vistazo a los puertos del servidor al que realiza las peticiones, encontramos que cuenta con muchos servicios arriba y varios fallos de seguridad, posiblemente sea un servidor con un uso legitimo que los delincuentes han vulnerado para hacer uso de el ..

Reporte de Nessus con los fallos de seguridad del servidor

Y revisando un poco mas el server al que hacia la petición, incluso podríamos acceder por Terminal Server (si quieres probar los ataques de fuerza bruta, o explotar el fallo de seguridad detectado en nessus puedes intentarlo bajo tu responsabilidad)

Acceso al servidor mediante Terminal Server (RDP)

Volviendo a la parte del binario, y a las peticiones DNS hacia el dominio que realiza una vez que es ejecutado

Copias del binario en carpetas del equipo tras su ejecución

Notamos el siguiente comportamiento del binario tan pronto realiza las conexiones remotas, primero hace una copia de si mismo en varias carpetas del equipo y asegura su ejecución futura en el sistema.

Archivos msdcsc.exe y Updater.exe generados por el malware Registro de Windows con la persistencia del malware

Comprobamos con VirusTotal (msdcsc.exe y Updater.exe)que los archivos generados eran los mismos y que no tratamos con un malware polimórfico, arrojando como resultado que efectivamente tienen el mismo hash MD5 y se trata del mismo binario.

Informes de VirusTotal de msdcsc.exe y Updater.exe con el mismo hash MD5
Ver informes de virustotal (msdcsc.exe y Updater.exe)

Este a su vez descarga otro ejecutable de internet que analizaremos mas adelante, pero en esta primera parte solo veremos un fragmento del primer análisis realizado, en la segunda entrega realizaremos el unpack del ejecutable y analizaremos tanto la copia descargada inicialmente por el apple de java, como la que el ejecutable baja después de estar en el sistema.