Atacantes explotan antiguas vulnerabilidades para comprometer equipos

Muchas veces recibimos correos electrónicos de contactos conocidos que nos parecen sospechosos. En esta ocasión, compartiremos uno de estos casos, en el que un mensaje proveniente de un contacto conocido, como lo es American Institute of CPA’s se presentaba con a el asunto: “Termination of your CPA license”.

 
El correo muestra dos ligas, las cuales apuntan hacia sitios diferentes. La primera, donde aparece el mensaje View it in your browser, dirige hacia el sitio http://xxxxxx.com/QiapA9Fv/index.html, la segunda Complaint.pdf, envía a http://xxxxxxx.com/rFmqWJFK/index.html. A pesar de tratarse de dominios diferentes, el código fuente era exactamente el mismo, y trataba de descargar códigos en JavaScript de otros 6 dominios diferentes.
 
 
Al descargar el código de cada uno de los dominios, el archivo en JavaScript js.js, contenía la misma instrucción: redireccionar hacia un nuevo sitio. 
 
 
 
Una vez más descargamos el código de esa nueva liga, y finalmente encontramos un código sospechoso, el cual a simple vista, parecía  se encontraba ofuscado.
 
 
En la parte inferior del código se encuentra la línea e(c), que es la responsable de realizar una evaluación final de la variable ‘c’, y es precisamente, donde se desofusca el código. 
 
Por lo tanto, agregamos la línea  document.write en vez de la letra e (que en líneas arriba estaba sustituyendo a la función eval de JavaScript), así en vez de ejecutar el contenido del código, lo ecribirá en un área de texto.
 
El resultado encontrado fue un nuevo código, más legible pero más extenso. 
 
 
 
 
En dicho código encontramos algunas validaciones realizadas por el autor, tales como: el tipo y versión de explorador web que estaba ejecutando el cliente, la versión de Flash Player, la versión de Adobe Reader y, en caso de utilizar Internet Explorer, la posible ejecución de  un componente ActiveX.
 
Además, encontramos una función llamada getShellCode, donde estaba un código que por el formato que tenía pareciera encontrarse en Unicode.
 
 
Tratamos de interpretar el Unicode por medio de un script en Perl, por lo que tomamos la cadena completa, y la copiamos en un archivo que llamamos text: posteriormente enviamos el contenido del archivo text a Perl para sustituir los caracteres encontrados por caracteres legibles. El resultado final no parecía ser algún archivo ejecutable, ni alguna descarga, tampoco una pista que nos diera un indicio del verdadero propósito del presunto ShellCode. 
 
 
Generamos de nuevo la salida, pero ahora obteniendo directamente valores hexadecimales por medio del comando hexdump de Linux. 
 
 
Al investigar el patrón encontrado,  notamos  que precisamente esta cadena explota una vulnerabilidad conocida como Help Center URL Validation Vulnerability CVE-2010-1885, cuya función MPC::HexToNum  de helpctr.exe en Microsoft Windows Help and Support Center para Windows XP y Windows Server 2003, no maneja debidamente las secuencias de cadenas. Con esto un atacante remoto podría ejecutar comandos arbitrariamente. Esta vulnerabilidad fue corregida el 5 de junio del 2010 por Microsoft. 
 
Una vez que realizamos la investigación sobre el contenido de las páginas maliciosas, nos dispusimos a visitarlas con un equipo del laboratorio de malware para infectarlo.
 
En primera instancia abrió la liga y mostró el siguiente mensaje, “WAIT PLEASE Loading…”, el cual habíamos visto anteriormente en el código fuente.
 
 
En el tráfico capturado, vimos los direccionamientos hacia los sitios que comentamos al inicio de esta publicación para finalmente llegar al sitio malicioso,  el cual descarga y ejecuta en el cliente el código ofuscado. Sin embargo, el código ofuscado se ejecuta por un applet, llamado Photo.class, del JAR jav.jar, dicho código lo pasa como parámetro a la clase.
 
 
 
Por esta razón, vemos que la máquina virtual ejecutada por el cliente muestra el siguiente mensaje. 
 
 
Por medio del applet realiza una nueva petición, con la finalidad de explotar la vulnerabilidad. 
 
 
Investigando sobre la vulnerabilidad, leímos que para verificar si el sistema operativo es susceptible a sufrirla, es necesario ejecutar la siguiente línea en una consola de comandos.
 
C:\> c:\windows\pchealth\helpctr\binaries\helpctr.exe -url 
"hcp://system/sysinfo/sysinfomain.htm? svr=
<script defer>eval(unescape('Run%28%22calc.exe%22%29'))</script>
 
La línea del ejemplo es muy parecida a la que capturamos. Para el ejemplo, el payload ejecuta una calculadora; por lo tanto, en la petición maliciosa,  no sabemos lo que el payload haga, pues nuevamente se encuentra ofuscado.
 
Desofuscamos el payload, y mostró el siguiente código, en donde claramente se ve que manda llamar un archivo en VBS alojado en el mismo servidor donde descargó el shellcode, lo ejecuta y guarda en el temporal de Windows, todo esto explotando la vulnerabilidad CVE-2010-1885  del archivo helpctr.exe
 
 
 
 Con lo anterior, descarga un archivo ejecutable llamado about.exe, cuyas firmas son:
md5 365972d6d914644e80784db8dc07441e y 
SHA256 7c02bf06187332716371de75dff73052b1ab9cda8b1bedd07b7c25d1838961e4
 
 
 
VirusTotal muestra que 13 soluciones antivirus lo consideran malicioso. 
 
  
Este archivo se renombra con 0.695696899307620167f76.exe, y crea un ejecutable llamado 318500.exe; además se agrega en la siguiente llave de registro: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal
 
 
Posteriormente, ese ejecutable es renombrado de diferentes maneras; 318500.exe, 331453.exe, 358015.exe, 363203.exe, pero siempre se trata del mismo. Sus firmas son las siguientes:
Md5 972a2fbce623dda9c9424fd5b55e4a53
SHA256 ea328fcf6b0b2eeeb2ac9fed2fa38d01b6b213c1093404e76c874e184d14c23e
En VirusTotal, sólo fue identificado por 6 motores antivirus. 
 
 
 
El proceso 363203.exe crea un nuevo archivo llamado ibycy.exe, y además lo agrega a la llave de registro HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData, así como a la modificación de las zonas de confianza del explorador de Windows. 
 
Finalizado lo anterior, crea dos archivos de lotes (.bat), con los cuales se borran el ejecutable 318599.exe y los archivos de lotes recientemente creados.
 
 
 
En conclusión, deja el explorador troyanizado con los puertos 25859 y 12308 abiertos. 
 
Finalmente abre una nueva ventana del explorador apuntando hacia el buscador Bing de Microsoft, para no levantar sospechas con respecto a la nueva infección en el equipo.
 
Seguramente al quedar troyanizado el explorer, el malware se concentrará en obtener información confidencial del usuario. 
 
Es importante, no hacer caso a correos sospechosos o extraños, no importa si proviene de contactos conocidos, a veces el simple hecho de hacer clic en ellos, puede infectar nuestro equipo, dejando expuesta nuestra información confidencial como cuentas bancarias, credenciales de correo electrónico, redes sociales, etcétera. 
 
Además, es sumamente importante tener nuestro equipo al día con los últimos parches de actualización, pues como revisamos en esta publicación, los atacantes no dejarán de intentar  seguir explotando vulnerabilidades antiguas.