El 9 de Octubre nuestros clientes empezaron a notificar el mismo tipo de incidente en un periodo de pocas horas. La actividad identificada parecía estar relacionada con el Troyano bancario Ursnif, un malware largamente activo, cuyas raíces nos llevan hasta 2007 junto con Zeus y SpyEye, pero aún con importantes capacidades de infección en cada una de sus campañas. El vector de ataque era un email malicioso con un documento de Word adjunto.
Tras las notificaciones iniciales, nuestro equipo de Inteligencia de Amenazas inició una investigación en profundidad para entender la relación con campañas previas que ya habíamos estado monitorizando durante el segundo semestre del año.
Primera Evaluación
Aunque no podemos confirmar que la campaña esté centrada en un área geográfica concreta, nos dimos cuenta de que la mayor parte de los archivos analizados estaban dirigidos a italoparlantes, una señal que sugiere que Italia está bajo el radar de los atacantes. Además de Italia, ReaQta ha identificado también localizaciones de descarga de malware en Rusia, Ucrania, Países Bajos y Estados Unidos. El análisis se centrará en las amenazas recibidas por nuestro cliente italiano al comienzo del ataque.
Estrategia de infección de Ursnif
El archivo DOC que forma parte de esta campaña Ursnif pide al usuario habilitar las macros porque ”el documento fue creado con una versión previa de Microsoft Office Word”. La macro se ejecuta cuando se abre el documento si estas están habilitadas, en caso contrario el código malicioso se ejecutará al pulsar el botón de “habilitar contenido”.
La macro de MS Word ejecuta una línea de comando invocando powershell con el parámetro -ec, usado para decodificar las instrucciones para iniciar la descarga del payload ( wync6.xap). La siguiente imagen muestra claramente la cadena de procesos que sigue a la ejecución de la macro del documento de MS Word:
En esta campaña específica de Ursnif, el payload se genera usando una secuencia de números incrementales de 1 a 7 (p.e.: wync1; wync5; wync7) con la extensión “.xap”.
Después de que Ursnif ejecute cmd.exe, podemos ver su actividad en el árbol de comportamiento que muestra ReaQta-Hive:
Cmd.exe lanza powershell.exe (análisis en ventana #1), que deposita y ejecuta un ejectuable (análisis en ventanas #2 y #3), que es el payload final: Ursnif. Lo más interesante del comportamiento empieza una vez que se ejecuta el payload final, cuando crea una clave de registro donde se almacenan los siguientes pasos de la infección.
Tras crear la clave de registro, Ursnif inicia un proceso mediante el comando almacenado en el valor “dhcpport”:
`C:\\Windows\\system32\\wbem\\wmic.exe /output:clipboard process call create \»powershell -w hidden iex([System.Text.Encoding]::ASCII.GetString((get-itemproperty ‘HKCU:\\Software\\AppDataLow\\Software\\Microsoft\\B53CC69F-9026-AF48-42B9-C45396FD3837’).bthppast))`
Podemos reconstruir la secuencia completa en la siguiente copia de pantalla:
El comando ejecuta un powershell que lee y ejecuta, mediante invoke-expression, el contenido del valor “bthppast” (análisis en ventana #1):
Los datos corresponden a un script PowerShell ejecutado directamente en memoria. Sin ir más allá, el ataque sin archisos inyecta código en Explorer (análisis en ventana #2) tras sleccionar un archivo .dll apto para la arquitectura del sistema, cuyos valores pueden ser “Client32” o ”Client64”.
Tras la inyección, el código malicioso en explorar.exe intenta conectarse con el C2 (análisis en ventana #7).
Infraestructura C2
En todos los servidores analizados hemos detectado los mismos patrones y estructuras de archivos. La base de directorios parece ser común a toda la campaña. También hay 3 subdirectorios empleados para recolectar información estadística como:
- Malware descargado por víctimas potenciales
- Dirección IP de las víctimas
- Países de las víctimas
- Direcciones IP bloqueadas
- Bots HID
- Versión de Bot
- Tiempo de actividad
El directorio raíz es personalizable a nivel de crimeware y en el pasado hemos encontrado campañas de Ursnif con la misma estructura de archivos bajo distintos nombres de directorio, por ejemplo: “TOL”, “TYJ”, “YUY”, “MXE”, etc. Parece que el nombre del directorio raíz no se reutiliza en diferentes campañas y mantienen su uso por periodos limitados de tiempo.
Los nombres asignados al direcorio raíz de los servidores de distribución parece estar íntimamente relacionado con cada campaña de ataques. La siguiente lista, recopilada desde Agosto de 2018 hasta hoy, muestra las múltiples campañas monitorizadas con sus respectivos nombres.
- “WES” del 5 de Noviembre hasta hoy.
- “TJY” del 29 de Octubre al 5 de Noviembre.
- “RUI” del 16 al 28 de Octubre.
- “TNT” del 22 de Agosto al 11 de Octubre.
- “TOL” del 1 al 6 de Octubre.
- “MXE” del 24 de Septiembre al 1 de Octubre.
- “VRE” del 20 al 21 de Septiembre.
- “DAB” del 17 al 21 de Septiembre.
- “XOE” del 13 al 14 de Septiembre.
- “RTT” del 6 al 12 de Septiembre.
- “YUY” del 24 de Agosto al 6 de Septiembre.
- “TST” del 20 al 22 de Agosto.
- “FLUX” del 13 al 15 de Agosto.
La configuración del ejecutable de Ursnif, en la siguiente imagen, muestra información como: versión del bot, ID del grupo de la botnet, datos del DGA (Domain Generation Algorithm), C2, etc.
El payload se descarga y ejecuta automáticamente para, justo después, establecer conexión con uno de las direcciones embebidas (hardcoded) del C&C. Como parte del proceso de exfiltración de datos, se descargan archivos .avi (con nombres de archivo aleatorios) de una dirección embebida en el código de forma que la URL contiene información codificada relacionada con el objetivo.
La gestión de este C&C corresponde al conocido crimeware empleado por la banda original de Ursnif, cuyo login puede encontrarse en “wifilhonle.com/auth/login”:
Ursnif monitoriza los objetivos infectados con éxito desde la sección “clientes” de su panel. La pagina muestra información estadística relacionada con la computadora de la víctima, entre la que podemos encontrar: la dirección IP y el país donde se encuentra el equipo infectado, información y versión del troyano.
Distribución de Ursnif
Tal y como mencionamos al principio, los C2 se concentran en Ucrania, Rusia, Países Bajos, Estados Unidos e Italia.
Los siguientes gráficos muestran estadísticas sobre la tasa de descargas de muestras únicas por hora desde los servidores de hosting en base a los análisis realizados entre el 7 y el 12 de Noviembre de 2018 y se basa en un total de 162.493 muestras distribuidas desde los servidores maliciosos. También es interesante destacar el hecho de que cada muestra individual descargada se auto-parchea antes del envío, de esta forma el binario siempre tiene un hash único: posiblemente se trate de una técnica de evasión para esquivar los sistemas basados en IOCs que sólo cuenten con indicadores de hash.
Conclusiones
Sin ninguna duda, el troyano Ursnif continúa siendo una de las amenazas más activas hoy en día. La combinación de lolbins y ataques sin-fichero (file-less attacks) lo hace difícil de detectar y ayuda a Ursnif a pasar bajo el radar de los Antivirus más fácilmente.
Ursnif es un buen ejemplo de por qué el análisis de comportamiento conducido por Inteligencia Artificial juega un papel fundamental en la detección proactiva de este tipo de amenazas, donde una respuesta tardía implica la pérdida de información importante para una organización.
Con ReaQta-Hive ayudamos a nuestros clientes a detectar nuevas amenazas e incluso sus variantes, reconstruyendo información sobre sus comportamientos y los factores de riesgo asociados, capacitándoles para detectar, alertar y detener rápidamente cualquier potencial amenaza antes de que el daño esté hecho.
IOCS
SHA1 DOC:
8d9c9a8d24ff4e41c19c8583e3c5c48db52f147e > Logisticaservicesrl.doc
963CD36B2FBDC70F9B3AF4ED401A28BEB6F969F9 > GRobotica.doc
EDF48AC80E2505241BB4A0378363A3C79FD864B8 > Indalgo.doc
F31155687987ACE4D9F547E069789645680D7272 > Network_Connections.doc
ae4e6c49d120fa07c1112e5b70cd078654a1b009 > Logisticaservicesrl.doc
b902ccbb81c300da92c7428fc30cdc252233249e > Conform.doc
cc42e4b4a0d1a851367eb5265b4408c64aa56dab > Ligoratti.doc
e6934b62bab58efcd64db4c9774b0f9d908715a1 > MetroBlu.doc
SHA1 EXE:
05450C90E23CFBDFC5122D0004A6CA1A51E769C5 > praf3.xap
2600D8F9301DB916949E0D46872768022F808A7C > ledo5.xap
28B78C0B4C52222D3F6BDB9583D7EEF82EBFCEC4 > crypt_2_3105.exe
3AB9EE0B9B8E3098E1252293FC7D03E43CC69590 > hereye.exe
4E36269327981F417D59AFDED3DDE2D11BA99149 > ledo6.xap
6119095DFC0B80C6948B50E13EACAFF8929B56E3 > ledo2.xap
6502563541E8830D418A3877324F42DF0B510CE5 > ledo3.xap
7F704D1CC07575854E98783AF059371E2FCCC4E8 > ledo1.xap
99405F84372E8CBDF8B85D6C5F749FF3FFEA2764 > praf1.xap
A1C13D9922C58C38E713D3EAFCA70A2A2589C7CC > ledo4.xap
A1DEC1D4523E2E6670F6E45A3924DC4C0121CFFE > ledo7.xap
AC4B5DD954EFCC11FB2AFAB0FDE27476CB0615CF > praf5.xap
AEB75D73E802A7AF08400CED4252CA4455C0DA82 > praf6.xap
C9D09E8767344EC32FD6732173D9557F9C74A802 > praf7.xap
CBD009F09109B38C4BEC3C55E827C8FCED057D2E > praf2.xap
DEE85E063B55D8CF829950E61285078E1BD35164 > crypt_3100.exe
E5C48455F03C18F04D581AE1F95C41C81F653EF2 > praf4.xap
EB3100700F3D95B21892B045A5FF32EBAD38A831 > wync1.xap
PAYLOAD SERVER & C2:
hxxp://46.17.47.99/
hxxp://cythromatt.com
hxxp://djecalciar.com
hxxp://hutedredea.com
hxxp://mnesenesse.com
hxxp://nosenessel.com
hxxp://ocsp.digicert.com
hxxp://ostrolista.com
hxxp://pilewitene.com
hxxp://podylostol.com
hxxp://roidlandev.com
hxxp://scopoledod.com
hxxp://shumbildac.com
hxxp://suggenesse.com
hxxp://tifyiskeri.com
hxxp://uvurinestl.com
hxxp://wifilhonle.com
IPs:
185.159.128[.]78 (Rusia)
185.180.198[.]222 (Países Bajos)
185.180.198[.]228 (Países Bajos)
185.180.198[.]229 (Países Bajos)
185.180.198[.]230 (Países Bajos)
192.162.244[.]12 (Rusia)
192.162.244[.]169 (Rusia)
192.162.244[.]171 (Rusia)
204.79.197[.]200 (Estados Unidos)
204.79.197[.]200 (Estados Unidos)
217.147.170[.]91 (Ucrania)
217.147.170[.]94 (Ucrania)
46.17.47[.]4 (Rusia)
46.17.47[.]99 (Rusia)
46.29.160[.]132 (Rusia)
62.149.140[.]59 (Italia)
92.242.63[.]202 (Rusia)
93.184.220[.]29 (Estados Unidos)
94.103.81[.]168 (Rusia)
94.103.82[.]216 (Rusia)
95.181.198[.]115 (Rusia)
95.181.198[.]116 (Rusia)
95.181.198[.]72 (Rusia)