Propagación de malware desde emails gubernamentales de Colombia


Uno de los vectores de ataque más comunes para propagar malware (virus, troyanos, ransomware…) son los correos electrónicos, ya que muchos usan la ingeniería social para que más fácilmente exploten la vulnerabilidad del kernel humano, que es el eslabón más débil en seguridad de la información.

En este post, se muestra una nueva propagación que se está realizando por medio de cuentas de correo comprometidas de municipios de Colombia, usando el servicio de correo de Google – Gmail.

– carreta & + acción!

Este es el correo malicioso o vector de ataque: como pueden ver el correo llega aparentemente desde una cuenta oficial de un municipio de Caldas y al parecer ya tienen identificado personas que hacen este proceso con el Ministerio de Hacienda, ya que de los correos que se han analizado, solo le llegan a personas que trabajan o apoyan el pago de impuestos.

Vector

Al descomprimir el archivo adjunto, se evidencia que efectivamente tiene un binario (.exe) el cual al momento del análisis, solo era detectado por cuatro fabricantes de antivirus, como se va mostrar más adelante.

Muestra

Análisis del encabezado del correo

Usando este script elaborado en Python para extraer la información más trascendental de los encabezados del correo, se evidencia que efectivamente se envió desde servidores de correo de Google y que la cuenta de correo es la oficial del municipio.

Script

PD: El código completo del script lo publique en pastebin, por si lo quieren probar y complementar.

Ejecución del script y prueba de que se envio desde el servidor de correo de Gmail.ExecScriptComo pueden ver en el Return-Path, el buzón de correo es el oficial de un municipio de Viterbo Caldas  – Colombia y se verifico que la cuenta existiera desde el login de Gmail.

VerificacionCuenta

Análisis dinámico del malware

Verificación integridad del archivo binario

El pase de diapositivas requiere JavaScript.

Nivel de detección a la fecha (solo 4 de 54)NivelDeteccion

Detección en Virus Total

Según el análisis realizado en la maquina infectada y en un sandbox, se pudo evidenciar que inyecta el proceso “explorer.exe”, lee y establece valores en las siguientes claves de registro:

  • “Explorer.EXE” (Access type: “SETVAL”, Path: “HKCU\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN”,

  • Key: “HKCU”, Value: “%VariableEntorno%\Pago_De_Impuesto_Empresarial_Ministerio_De_Hacienda.exe”) “Explorer.EXE” (Access type: “SETVAL”, Path: “HKLM\SOFTWARE\MICROSOFT\ACTIVE SETUP\INSTALLED COMPONENTS\{XR047075-RM0W-RY08-NN57-N332G1U801U4}”,

Crea un archivo en la ruta>

%TEMP%\iJanuary15.exe

String de mutuaciones:

  • “_x_X_UPDATE_X_x_” “_x_X_PASSWORDLIST_X_x_” “_x_X_BLOCKMOUSE_X_x_” “***MUTEX2” “***MUTEX2_PERSIST” “***MUTEX2_SAIR” “{C20CD437-BA6D-4ebb-B190-70B43DE3B0F3}” “_SHuassist.mtx” “Local\ZonesCounterMutex” “Local\ZoneAttributeCacheCounterMutex” “Local\ZonesCacheCounterMutex” “Local\ZonesLockedCacheCounterMutex”

Intenta ejecutar el proceso del navegador “Firefox.exe” y usa las siguientes DLL

“USER32.DLL” at base 76C20000
“%WINDIR%\SYSTEM32\OLE32.DLL” at base 764C0000
“OLEAUT32.DLL” at base 77170000
“%WINDIR%\SYSTEM32\APPHELP.DLL” at base 75470000

%WINDIR%\system32\MSVBVM60.DLL (usada por apps en Visual Basic)

Usa el comando:

cscript.exe” “%TEMP%\teste.vbs””

Intenta obtener nombres de usuarios del equipo

  • GetUserNameA@ADVAPI32.DLL

  • LookupAccountNameA@ADVAPI32.DLL

Metadatos de la muestra

MetaMuestra

Certificados digitales

CertsDigitales

Acciones de Red

  • ·        Se conecta al dominio: paovallos1.no-ip.info
  • ·         Se conecta a la IP 201.211.17.122 por el puerto TCP 9015.

La IP del C&C esta ubicada en Venezuela y ya esta listada en Blacklist.

Finalmente, se prueba la conexión por dicho puerto y aun esta habilitado.

TestConnect

Conclusiones y recomendaciones:

  • Con este análisis se comprueba que efectivamente el correo contiene un malware que busca conectarse a una IP de Venezuela donde está el C&C para extraer información confidencial y tener el equipo en una Botnet.
  • Al revisar los encabezados del correo se comprueba que se están enviando desde los servidores de Google y no desde un Servidor Falso, lo da un indicio de que estos buzones están comprometidos o tuvieron un acceso no autorizado.
  • Con el análisis dinámico de malware puedes entender mejor como funciona y que está intentando hacer, con el fin de implementar otras medidas preventivas y no solamente las reactivas que se pueden tomar con la muestra.
  •  Se recomienda revisar el filtro de correo de tus servidores, ya que muchos por defecto dejan pasar archivos comprimidos con contraseña y crear reglas con patrones para detectarlos, ya sea por el asunto, contendido del correo, entre otros…
  • Se recomienda usar contraseñas fuertes y diferentes para los buzones de correo, incluso aprovechar las características que estos brindan como autenticación de doble factor.
  • Si te llega un malware, no te quedes tranquilo con solo enviar la muestra a los laboratorios para que genere la firma que lo detecta y elimina, es más interesante hacerle un análisis manual o usar servicios Sandbox free o pagos, para ver cómo funciona y tomar otras medidas en la infraestructura de T.I. (Ej. Bloqueo de IPs, puertos TCP/UDP en los Firewalls, Bloqueo de URLs en el Proxy, Habilitación de filtros en los IPS/IDS, mitigación de vulnerabilidades entre otros…) ademas de entender el codigo malicioso.
  • Se recomienda afinar mejor las reglas de correlacion del SIEM para detectar tempranamente estas amenazas.
  • Finalmente, se recomienda dar a todos sus empleados un entrenamiento de concienciación en seguridad de la información  (Security Awareness Training) para que aprendan a identificar estas amenazas informáticas y las reporten adecuadamente al personal del Service Desk, al equipo de respuesta a incidentes de seguridad o en este caso, al equipo de seguridad de Google, el cual puedes hacer diligenciando el formulario para reportarlo desde aquí, anexando las cabeceras segun tu proveedor de correo.

Una de las cosas interesantes en la gestión de incidentes de seguridad de T.I. o de la información, es que “cuando aprendes de cómo te atacan, aprendes a defenderte y atacar mejor.”

Salu010,

@JOGAcrack.

 

 

Anuncios

Apuntes de contramedidas para RANSOMWARE


El siguiente resumen fue realizado a partir del informe publicado en el mes de febrero del presente año, por el CERT de España, asociado al Centro Criptológico Nacional – CNN y al final agregue otras contramedidas que se han probado con más de 15 muestras de ransomware, en las que he tenido la oportunidad de apoyar en su erradicación y/o recuperación.

¿Qué es un Ransomware? Técnicamente hablando, es un tipo de malware (como los virus informáticos) que cifra archivos con extensiones conocidas (ej. Excel – xls, Word – docx, etc…) usando algoritmos criptográficos (ej. RSA), en su mayoría del método asimétricos, lo que indica que tienen dos claves (una publica y otra privada) y posteriormente crea unos archivos (imágenes, archivos de texto, entre otros), con la información que solicita el pago para decifrar, por medio de plataformas anónimas, como TOR y monedas electronicas como Bitcoins. En otras palabras de usuario final, “daña la información y solicita pagar para recuperarla.”  Sus primeras apariciones publicas o masivas se dieron desde el 2013, con el archi reconocido CryptoLocker. (SophosLabs, 2015).

VECTORES COMUNES DE ATAQUE:

  1. Correo Spam o Phishing.
  2. Web Exploit Kits (ej. Blackhole, PEK…)
  3. Código malicioso (ej. RAT)
  4. Servicio RDP (Escritorio Remoto de Windows)
  5. Anuncios publicitarios (ej. Banners pornográficos).

MEDIDAS DE SEGURIDAD PREVENTIVAS

  1. Copias de Seguridad: No en unidades de red mapeadas o discos duros externos, se recomienda mejor usar un software automatizado o directamente desde el sistema operativo, ej. “Copias de Seguridad y Restauración” (Panel de Control -> Sistema y Seguridad -> Hacer una copia de seguridad del equipo).
  2. Usar VPN como método de acceso remoto. De nada sirve si tenemos todos los “fierros de seguridad perimetral” FW/ Proxy /IPS/IDS/ y cuando el usuario se lleva el endpoint para la casa no los usan.
  3. Usar sistemas anti-Spam y mail scanners a nivel de correo electrónico, para minimizar la posibilidad de infección por el vector de ataque de correo que es uno de los más comunes.
  4. Mantener actualizado el sistema operativo, los programas instalados (en especial el Anti-malware), plugins de los navegadores (especialmente Java, Flash, Adobe Acrobat).
  5. Usar herramientas o utilidades extras de seguridad que ayuden a mitigar la explotación de vulnerabilidades, por ejemplo con la herramienta EMET (activando DEP, EAF, ASLR, SEHOP, NPA…).
  6. Uso de software para control de aplicaciones o de lista blanca: Estos protegen contra programas no autorizados en la lista. AppLocker en Windows, McAfee Application Control, Bit9 Parity Suite, entre otras.
  7. Establecer políticas o mecanismos para impedir la ejecución de archivos en carpetas comúnmente usadas por este malware (App Data, Local App Data…), ej. Herramientas como CryptoPrevent, o CryptoLocker Prevention Kit, permiten crear fácilmente dichas políticas.
  8. Usar bloqueadores de JavaScript para el navegador, ej. Privacy Manager.
  9. Bloquear el tráfico relacionado con dominios y servidores C2 mediante los IPS/IDS de perímetro.
  10. Mantener listas de control de acceso – ACL para unidades de red mapeadas: esto reduce la propagación del malware a nivel de toda la red.
  11. Mostrar extensiones de archivos conocidos, con el fin de identificar archivos ejecutables o con extensiones aleatorias que no corresponden al tipo de archivo.
  12. Usar la herramienta Anti Ramsom, para monitorear e internar bloquear el proceso de cifrado monitoreando archivos de prueba “honey files” que crea en el PC, además de que hace un volcado de memoria del proceso para buscar la clave de cifrado y mata el proceso.
  13. Usar máquinas virtuales para evitar técnicas anti-debugin y anti-virtualización.
  14. Evitar el uso masivo de cuentas con permisos de administrador local o de dominio.
  15. Restringir ejecución de .exe en rutas conocidas por medio de directivas de seguridad o GPO o reglas del IPS de host. Se recomienda rutas como %AppData%, %UserProfile%\ %Temp%
  16. Prevenir aprobar o usar con permisos de administrador local o del dominio.
  17. Usar programas de concienciación en seguridad de la información (ej. Securing The Human of SANS), con el fin de que los usuarios aprendan a identificar técnicas básicas de ingeniería social entre otras amenazas y vulnerabilidades informáticas.

MEDIDAS DE SEGURIDAD REACTIVAS

Luego de que se detecta una infección por causa de un Ransomware, se recomienda seguir los siguientes pasos:

  1. Desconectar cable de red, dispositivos de almacenamiento externos (ej. memorias USB) y unidades de red mapeadas.
  2. Verificar si el proceso o ejecutable sigue en ejecución o esta inyectado como un hilo de un proceso valido del sistema operativo.
  3. Realizar un volcado de memoria del proceso.
  4. Si no se ha identificado el proceso, se recomienda apagar manualmente el PC y arrancarlo en “Modo Seguro” (tecla F8 al inicio).
  5. Realizar copia de seguridad del equipo afectado.
  6. Comunicar el incidente de seguridad (de tipo código malicioso) al Equipo de Seguridad de la Información o de respuesta a incidentes de la organización o del país (ej. ColCERT).
  7. Valorar el escenario para ver si es posible recuperar los archivos cifrados.
    1. Existe un backup completo de la información en el host afectado.
    2. Existe una herramienta o la clave privada para descifrar los archivos.
    3. Existe un Shadow Volume Copy para restaurar el sistema operativo
    4. Existe forma de recuperar los archivos usando técnicas o software forense
    5. Conservar los archivos cifrados para ver si en un futuro se pueden descifrar.

Se podría hacer un procedimiento o checklist con los anteriores pasos.

Finalmente, no se recomienda por ningún motivo hacer el pago, en primer lugar porque esto motiva a que los atacantes sigan distribuyendo este malware y en segundo porque no se garantiza que los archivos sean descifrados.

ANEXO: Tabla de variante Ransomware conocidas y posible recuperación.

TablaRansomware

CONTRAMEDIDAS ADICIONALES (Con base a la experiencia):

  • Crear o mejorar las políticas de seguridad o lineamientos con base al Backup, ya que es la que permite cumplir en cascada las metas y recuperarse más fácilmente ante una infección.
  • Crear procedimientos o canales claros y simples para que los clientes, usuarios finales o mesa de servicio, reporten incidentes de este tipo (Código Malicioso, tipo Ransomware) de manera eficaz.
  • Crear nuevas reglas en el Antivirus o IPS de Host, para que detecte cuando se estén cambiando extensiones comunes a estos archivos de forma masiva, por ejemplo para el Ransomware que convierte a formato MP3., incluir en la regla archivos con extensiones comunes, (*.docx.mp3, *.xls.mp3,  *.html.mp3, entre otras) o detectar creación de archivos “Help_*”
  • Ejecutar en un Sandbox el malware para analizar su comportamiento y crear nuevas reglas de correlación en el SIEM u otras medidas adicionales en la infraestructura (Firewalls, WAF, IPS/IDS…), según los patrones identificados.
  • Compartir muestras de las variantes y/o análisis del malware, con colegas de otras organizaciones  afectadas, para aprender de su experiencia y evitar un impacto mayor.
  • Recuerden que este tipo de malware también aplica para otros sistemas operativos o activos de información, como es el caso de KeRanger para MAC OSX o los que Atacan Sitios Web, principalmente CMS populares (ej. Joomla, WordPress, Magento, o librerías (ej. JQUERY), coming soon in Smartphones and others (LoT?)… por lo que la copia de seguridad o Backup en un lugar seguro (ej. Centro Alterno de Datos, o  desconectado de la red en una jaula de faraday, jejeje), sigue siendo la mejor contramedida para recuperarse a un incidente de este tipo.

¿Que otras contramedidas conocen o han tenido la oportunidad de implementar?

Saludos,

@JOGAcrack

Análisis de malware: Reversing a una variante de Houdini Worm


  • Nombre de la muestra encontrada: sev.vbs
  • HASH SHA256: a9f8dbdb9c116a5d47fabfa950477a96463f8d13ff102405e4ab0590c94faade
  • Ruta en donde se detectó: Se encontró en la ruta correspondiente al valor de la variable de entorno %APPDATA%, es decir por ejemplo, “C:\Users\%username%\AppData\Roaming”
  • Vector de ataque o infección: Dispositivos de almacenamiento USB.
  • Método de propogación: Internet y la Red LAN.

muestra

Preview de la muestra:

Se observa que cierta parte del código está codificada.

preview1Se observa que la codificación está en base64.

decode1

En esta variante se observa que la codificación la realiza en dos veces con el fin de quedar más ofuscado.

decode2

Para decodificar el texto en Base64, existen múltiples formas, se puede usar un servicio online (la más fácil), usar una herramienta existente a nivel de sistema operativo, modificar el código fuente para imprimir la variable resultante (como en el anterior post) o crear su propio código para Codificar y Decodificar en Base64. Ver un ejemplo que cree en Java.

 Codificar y Decodificar base64 en JAVA

Codificar y Decodificar base64 en JAVA

En esta ocasión, por simplicidad, opte por usar un comando con una utilidad en Kali Linux, luego de extraer el codigo codificado.

Texto codificado en Base64, como se encontró en la muestra.

Extract_Code_Base64

En la primera decodificación el texto se ve de la siguiente manera:

Decode1-VIM

En la segunda decodificación ya el texto se ve así:

Decode2-VIM

Comando utilizado para decodificar doblemente.

Command-base64

Comando decodificar en base64

Resultado del comando:

Decode OK

Decode OK

 

Luego, se observa que el código esta codificado en ASCII, por tanto, se puede modificar el código fuente para que imprima la variable decodificada o escriba el resultado en un archivo guardado en el disco duro.

Para este caso, se elimina en donde ejecuta el archivo y se remplaza por las últimas tres líneas para guardar el resultado en otro archivo.

Decodificar en ASCII

Decodificar en ASCII

Archivo resultado de ejecutar el script.

DecodeMalware

Revisando el código se obtiene el script del malware en su texto claro; por ejemplo, en la primera línea vemos el nombre del malware con copyright y el usuario de Skype del creador por si desean contactarlo, jejeje…

Codigo de Houdini

Codigo de Houdini

En la imagen anterior, también se observa el dominio del C&C y el puerto por donde se está conectando así como la declaración de variables públicas y privadas.

Luego encontramos los comandos que usa y los strings de conexión:

Comandos y String de Connexiones

Uso de los comandos:

  • execute :ejecuta un comando especifico en el host afectado

  • update : actualiza la configuración del malware.

  • uninstall : desinstala o elimina evidencias del malware..

  • send : copia un archivo desde el C&C hasta el host afectado

  • site-send : copia un archivo almacenado en un sitio Web al host afectado

  • recv : descarga un archivo desde Internet

  • enum-driver : enumera o lista los discos

  • enum-faf : lista archivos y carpetas

  • enum-process : lista los procesos en ejecución

  • cmd-shell : abre una ventana de comandos

  • delete : borra archivos o carpetas

  • exit-process : termina procesos específicos

  • sleep : espera cinco segundos, según el valor asignado a la variable.

Sleep

Tener en cuenta que algunos comandos están asociados a una función que es la que realmente realiza la opción, por ejemplo, el comando “recv” usa la función upload y recibe como parámetro la URL del archivo.

funcionUpload

Una de las funciones más interesantes es la de seguridad, la cual permite a partir del sistema operativo y la versión consultar los productos de antivirus que están instalados o informar si no tiene antivirus, posiblemente con la finalidad de usar técnicas de evasión según el antivirus que detecte.

Función de Seguridad

Función de Seguridad

Finalmente, al subir la muestra a Virus Total, se evidencia que ya es detectada por el 70% de los antivirus.

¿Cómo Erradicarlo?

La primera opción es verificar que su antivirus o solución antimalware lo detecte y elimine, en caso de que no lo haga, se debe escalar el caso con el fabricante para que envie la firma o sea detectado por euristica.

Por otro lado, se pueden  borrar manualmente los registros del malware, siguiendo los pasos de la función “uninstall”, que basicamente son:

  • Identificar el PID de la conexión y terminar el proceso en ejecución “wscript.exe” (Comando netstat -abo y luego Taskkill /PID #PID /F) o desde el administrador de tareas.
Conexión WScript.exe

Conexión WScript.exe

Terminación de Proceso

Terminación de Proceso

  • Desactivar la ejecución del malware al inicio de la sesión,  desde la configuración del sistema (Comando MSCONFIG), Pestaña Inicio de Windows.
MSConfig

MSConfig

  • Eliminar las claves de registros creadas en la ruta,normlamente contiene el nombre del proceso “WSCRIPT.EXE” seguidodelparrametro //B y luego la ruta en donde se encuentra.
    • HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\
    • HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\

regedit

  • Borrar el archivos malicioso de la carpeta %APPDATA%  y del inicio del sistema. (Recuerde que antes debe mostrar los archivos ocultos del sistema para poder visualizarlo).

MenuInicio

  • Vacunar los ultimos medios extraibles o dispositivos USB que se hayan ingresado.
Borrado Malware en USB

Detección y Borrado del malware en la USB

Otras Contramedidas:

  • Se recomienda crear o modificar las reglas Correlación delSIEM y/o en elProxy, para detectar losString de Conexión en las peticionesHTTP (normalmente esPOST), es decir, por ejemplo, no solo elstring “is-ready”, sino también los siguientes que se detectaron en el código fuente:
    • “is-recving”
    • “is-sending”
    • “is-enum-driver”
    • “is-enum-faf”
    • “is-enum-process”
    • “is-cmd-shell”
  • Se recomienda activar los filtros en los IPS/IDS que tengan que ver con el malware llamado Houdini Worm.
  • Se recomienda monitorear y controlar la escritura de claves en la ruta RUN del sistema y del usuario, principalmente cuando el valor inicie por WSCRIPT.EXE.
  • Se recomienda seguir monitoreando e inventariando los archivos en Visual Basic Script, para identificar otras variantes de malware escritos en este lenguaje scripting.

Conclusión:

Luego de realizar el reversing al archivo encontrado, se identificó que es un codigo malicioso que corresponde al malware llamado “Houdini”, escrito en Visual Basic Script y el cual estaba ofuscado con la codificación en base64 usándolo interactivamente dos veces, luego usa la técnica ASCII. El malware tiene la capacidad de obtener información confidencial y ejecutar varios comandos desde el Command and Control en el equipo infectado, por ejemplo, enumerar procesos o terminar uno específico a partir del PID, además de saber que antivirus tiene instalado para realizar técnicas de evasión.

Segun informes de fabricantes de Antivirus (ej. ESET), en los ultimos meses este tipo de malware en VBS, tiene una tendencia alcista en Colombia y Venezuela, por ende, se deben tomar medidas para evitar incidentes de seguridad de la información, con alto impacto.

Estadísticas de detección variantes de malware VBS, en Colombia y Venezuela

Estadísticas de detección variantes de malware VBS, en Colombia y Venezuela

La muestra del malware analizado, se puede descargar desde la siguiente URL:

http://bit.ly/1dvtqAy

By @JOGAcrack

Detección y análisis de un codigo malicioso (malware en visual basic script)


Luego de negarme tanto a escribir post técnicos sobre seguridad informática (que es uno de los temas que me apasiona), creo que llego el momento de empezar a compartir con la comunidad, puesto que muchos se podrían ver beneficiados o aprender pildoritas sobre el asunto y complementar su conocimiento+experiencia.

Este post, resume los pasos realizados para la detección de un malware escrito y codificado en visual Basic Script y su respectivo análisis utilizando la técnica debugging, finalmente, se dan algunas recomendaciones de contención y erradicación para evitar su propagación.

Cabe aclarar que no se utilizaron servicios de sanbox de análisis comportamentales automáticos (muchos solo aceptan binarios) o desensambladores porque el malware usa una técnica de evasión sencilla (Conversión a ASCII) y no justifica realizar ingeniería inversa usando uno de estos, además por qué es más divertido entender manualmente lo que el malware están intentando hacer en nuestro host o la red.

Detección del malware:

El primer indicio fue que se detectó una conexión de red sospechosa desde un host interno, pasando por el proxy y hacia la IP publica con reputación alta maliciosa detectada en el Security information and event management (SIEM).

 

siem

Por lo anterior, se procede a revisar remotamente las conexiones de red (ej. con el comando netstat -abo) del host interno y efectivamente se evidencia que el proceso WScript.exe tiene establecida una conexión hacia el proxy con el Process ID 5744.

conexion

Posteriormente se puede validar los procesos que tiene en ejecución la maquina y verificar que usuario este ejecutando este proceso en especifico, para este caso en concreto, se valido que se estaba realizando con la cuenta de red del usuario afectado.

procesos

 

Consultando en Internet se evidencia que el proceso “wscript.exe” es un intérprete para scripts escritos en Microsoft Visual Basic Scripting Edition (VBScript) o JavaScript. Véase el articulo sobre WHS para más información.

Por lo que por “sentido común” y malicia indígena, procedemos a realizar búsqueda de archivos con esta extensión, encontrándonos con una en la siguiente ruta del perfil del usuario:

DeteccionScript

Se toma la muestra de este script sospechoso y se evidencia que varias soluciones de antivirus lo detectan como malware, por tanto, para el caso en que no lo esté detectando el antivirus personal o corporativo, puedes enviar la muestra comprimida con la contraseña estándar para que los laboratorios generen la firma y se despliegue la “vacuna” en todos los equipos a nivel mundial.

Hasta aquí se tiene la detección de un malware que posiblemente esta relacionado con la conexión inicial sospechosa, sin embargo, en el siguiente análisis de su código es donde se evidencia la relación y que estaba tratando de hacer exactamente.

Análisis del malware

Nombre Archivo Analizado: “SysDrivers.vbs”

HASH SHA256: 1390a053996a54af3b4f36450ac2928deb97eb7ed57eb2c7de5af5f09b87cfaf

Preview del script:

ScriptCodificado

Se evidencia que el código esta codificado en ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estándar Estadounidense para el Intercambio de Información y separado con un “SALT” de tres caracteres “§?§”, los cuales se almacenan en una variable acumuladora de tipo String.

Por lo que el siguiente paso es decodificar este código para extraer las variables, los valores y las funciones que usa.

Usando la misma lógica del “atacante” y agregando una línea de código para imprimir la variable que almacena el texto decodificado, puedes obtener el código fuente en texto claro.

FuncionDecodificar

Variables y valores asignados:

Variables-Valores

Esta pequeña función tiene una URL de Google Site codificada, llamando un archivo XML

FuncionAliveData

Valor Codificado>

(“104|116|116|112|115|58|47|47|115|105|116|101|115|46|103|111|111|103|108|101|46|99|111|109|47|115|105|116|101|47|98|97|114|103|99|109|47|99|111|110|102|105|103|47|112|97|103|101|116|101|109|112|108|97|116|101|115|47|116|100|105|45|49|47|85|115|101|114|83|101|116|116|105|110|103|46|120|109|108”)

Valor decodificado>

https://sites.google.com/site/bargcm/config/pagetemplates/tdi-1/UserSetting.xml

Este es el contenido del archivo “UserSetting.xml”

XML

Convirtiendo estos códigos ASCII, corresponde a una dirección IP

DecodeXML

Esta dirección IP tiene reputación alta de correo y es de Marruecos.

UbicacionIP

Esta IP es la que se detectó como maliciosa al inicio de este post.

Ahora vemos el comportamiento del script según las funciones que tiene:

Esta función obtiene información del disco duro en el equipo local, exactamente el número serial de cada volumen.

fHDD

¿Que contiene la variable “win” la cual recibe como parámetro?

vWin

Contiene esta instrucción:

decodeWIN

Este código sirve para establecer el nivel de autenticación y crear un objeto WMI el cual podría utilizar por ejemplo el método “ExecQuery” para hacer consultas al sistema operativo y obtener información del mismo, ejemplo, obtener los discos físicos del equipo:

La siguiente función obtiene información del disco duro, equipo, usuario, sistema operativo y la concatena con la constante VICnAME que tiene asignado el valor “SKY ESP PC “

fInfo

La siguiente función se encarga de enviar la petición POST con la dirección IP (para este caso la 41.249.107.143) que toma del sitio de google Site, por el puerto TCP 2223 y con el string “is-ready”, como se evidencia en el SIEM.

fPost

La siguiente función se encarga de escribir en las siguientes rutas del registro:

  • “HKCU\Software\Microsoft\Windows\CurrentVersion\Run\”,
  • ‘”HKLM\Software\Microsoft\Windows\CurrentVersion\Run\”
  • “HKEY_LOCAL_MACHINE\software\classes\folder\defaulticon\”,
  • Crea el acceso directo y crea el archivo malicioso “SysDrivers.vbs”

SubParseFile

Ejemplo de argumentos que envía “/c start ” “SysDrivers.vbs” ” ” “&start explorer ” “&exit”

cicloParseFile

Esta función es para salir del script

fUnParseFile

Las siguientes líneas inician el script y crean objetos para conectarse por XML a la dirección que toma desde Internet.

start

Finamlemente, este código se encarga de manejar el timeout de la conexión y los parámetros que se envían luego a la función post.

timeout

Conclusión:

Se evidencia que el script tiene el siguiente comportamiento:

Busca obtener la siguiente información confidencial utilizando la técnica de evasión tipo ASCII; El script se crea al inicio del perfil del usuario y del Sistema, con el fin de obtener el serial del disco duro, el nombre del equipo, el nombre del usuario de red y el sistema operativo, y lo concatena con el texto “SKY ESP PC”; esta información se envía por medio de un método POST a una dirección IP publica (con reputación alta y que es donde normalmente esta el Command and Control), que toma desde un archivo XML publicado en Google Site.

CONTRAMEDIDAS

Acciones recomendadas (después del análisis):

  • Bloquear en el proxy la siguiente URL, que es desde donde esta tomando la IP a la cual se conecta luego: https://sites.google.com/site/bargcm/config/pagetemplates/tdi-1/UserSetting.xml
  • Crear la configuración por la herramienta de inventario que tengan, para inventariar archivos con extensión *.VBS, , con el fin de detectar proactivamente posibles scripts de Visual Basic Script maliciosos como el analizado en este informe.
  • Validar si es posible bloquear el puerto TCP 2223 desde el Firewall Perimetral, es decir, que no lo este usando antes otro servicio de red o aplicación valida.

Acciones de contención (antes del análisis):

  • Bloqueo de las direcciones IPs a la cual se está conectando por medio del script.
  • Bloqueo de URLs de la IP con Puerto TCP en el proxy.
  • Detección y toma de la muestra del script malicioso para la generación de la firma en el Antivirus.
  • Crear o Activar filtros en los IPS/IDS que puedan detectar este tipo de comportamiento sospechoso.

Acciones de erradicación:

  • Despliegue del extraDAT o Vacuna en todos los endpoints y servidores de la red.

 Retos:

  • Identificar los vectores de ataque del malware.
  • Comprobar para que se usa el comando “SKY ESP PC”. ¿Es de una Botnet?
  • Utilizar técnicas OSINT para identificar la ubicación e información relevante de los autores del malware.

Se puede descargar la muestra del malware analizado,  desde la siguiente URL:

http://bit.ly/1GySUe2

Password: “infected”

“Lo interesante de la seguridad informática o de la información, es que como dicen por ahí, no todo es siguiente>siguiente>finalizar…”

By @JOGAcrack…