Ostap Bender: 400 maneras de arrebatar dinero a la población

December 08, 2016
Proofpoint Staff
cyber security

Descripción general

A fines de octubre, los investigadores de Proofpoint identificaron y comenzaron a dar seguimiento a un grupo de actores de amenazas con motivaciones financieras y con acceso a troyanos bancarios y a otro malware, incluyendo Dridex, Ursnif, Tinba y el malware de punto de venta (POS) AbaddonPOS con su cargador TinyLoader. Lo que es más importante es que el grupo también utiliza una puerta trasera que no se había documentado anteriormente y que se llama “Ostap”, así como un instalador que llamamos “MrWhite”. MrWhite puede perfilar los sistemas de las víctimas en busca de software POS en ejecución antes de dejar caer más cargas dañinas de POS. El hecho de agregar esa capa adicional de filtro podría ayudar al grupo a enfocarse en los objetivos de interés y a evadir la detección debido al uso de malware conocido.

Hasta ahora, las campañas se han dirigido a países que incluyen Alemania, Austria y el Reino Unido. Aunque los objetivos de segmentos verticales varían, hemos observado un enfoque considerable en los servicios financieros.

Entrega y objetivos

En esta campaña se utilizan mensajes de correo electrónico con archivos adjuntos de Microsoft Word cargados de macros. Los volúmenes oscilaban entre unos cuantos mensajes relativamente selectivos hasta varios miles de mensajes de amplia distribución. Durante nuestro análisis encontramos que se enviaron varios mensajes malintencionados a germanohablantes o que los mismos estaban escritos en alemán, mientras que otros estaban escritos en inglés. Por ejemplo: el mensaje siguiente con un señuelo de factura estaba dirigido a personas que hablan alemán.

Figura 1: Ejemplo de un mensaje en alemán que se utilizó para entregar el documento cargado de macros el 24 de noviembre.

Figura 2: Ejemplo de un mensaje en inglés enviado a personas del Reino Unido el 2 de diciembre

Figura 3: Los documentos entregados por los mensajes generalmente estaban en blanco y no contenían ningún señuelo particular

Análisis de puerta trasera Ostap

La macro ofuscada en el documento deja caer y ejecuta un archivo .jse (JScript) en el escritorio y después muestra un mensaje de error falso, tal como: “Se produjo un error al abrir este documento”. El archivo JScript es una puerta trasera a la que le hemos dado el nombre de “Ostap” debido a su comunicación con el archivo PHP llamado “ostap.php” en el servidor de comando y control (C&C). Además, “Ostap” parece ser una referencia al nombre del timador “Ostap Bender” que aparece en películas y novelas populares de la Unión Soviética [5].  A continuación se encuentra una lista de la funcionalidad de una de las primeras muestras de la puerta trasera que analizamos:

  • Continuar ejecutándose y comunicándose con el C&C después de que se haya cerrado el documento
  • Escribir una copia de la puerta trasera en la carpeta de inicio del usuario actual para persistir tras el reinicio
  • Reportar el nombre de la computadora al servidor C&C
  • Recibir y ejecutar una carga dañina ejecutable procedente del C&C
  • Recibir y ejecutar un archivo de secuencia de comandos (con “certutil”) procedente del C&C

Figura 4: Copia de Ostap en la carpeta de inicio. Se ofusca la secuencia de comandos, tal como se muestra en el editor de texto.

Figura 6: Los parámetros incluidos en el código incluyen parte de la dirección de URL del C&C (secuencia de comandos sin ofuscación)

Figura 6: La secuencia de comandos analiza la respuesta del servidor para determinar si los datos devueltos son ejecutables (comienzan con “MZ”) o no

Por lo general, Ostap descarga una carga dañina ejecutable a partir del servidor C&C. Las cargas dañinas se describen con mayor detalle en las secciones siguientes. Sin embargo, hemos observado varios troyanos bancarios, al igual que el malware MrWhite.

Troyanos bancarios

El actor rotaba a diario las cargas dañinas descargadas por Ostap. Los troyanos bancarios siguientes se descargaban o se encontraban preparados y listos para su descarga en el servidor C&C.

  • Botnet Dridex ID 3302 (dirigido a organizaciones del Reino Unido y Francia)
  • Ursnif ID 1068 (dirigido a Polonia)
  • Tinba (dirigido a organizaciones de Alemania y Austria)

Análisis de cargas dañinas de POS

MrWhite (el nombre se debe al uso del agente de usuario “Mr.White”) es otra carga dañina descargada por Ostap. Se codifica con Delphi. Su único fin consiste en comparar los nombres de los procesos en ejecución en la máquina infectada con una lista incluida en el código de nombres de procesos de interés (separados por “|”). Encuentra los procesos de interés, envía la lista completa de procesos al C&C y deja caer TinyLoader [1,2]. Para completar esa tarea, MrWhite primero se duerme durante 120 segundos. A continuación, combina la lista de procesos incluida en el código (figura 7) en una sola cadena y la invierte.

Figura 7: Lista incluida en el código de nombres de procesos relacionados con POS. Las cadenas se almacenan en orden inverso.

Después, se invierte la cadena 'VSC OF/ tsilksat' a 'tasklist /FO CSV' y se ejecuta ese comando. El comando produce una lista de procesos en ejecución en formato separado por comas. A continuación, el malware busca la salida del comando en busca de procesos de interés según la lista incluida en el código. Si identifica uno o más procesos, el malware envía la salida del comando de lista de tareas a su C&C a través de HTTPS (figura 8). Hemos observado dos direcciones de C&C de MrWhite distintas que se ofuscaban de maneras diferente aunque sencillas. Una de las direcciones de C&C (217[.]28[.]218[.]231) se almacenó de forma inversa, al igual que la lista de procesos. La otra dirección de C&C se almacenó a modo de dos cadenas por separado: ‘boratorium[.]pl’ y ‘studiomarco-la’, las cuales al combinarse formaban el comando de C2: studiomarco-laboratorium[.]pl .

Figura 8: MrWhite envía una lista de tareas a su C&C. Observe la ruta de URL “/GOLD/bender.php”, la cual parece ser una referencia a “Ostap Bender”, el nombre del timador que aparece en películas y novelas populares de la Unión Soviética [5]

Tres de las muestras de MrWhite analizadas para esta investigación dejaban caer y ejecutaban un TyniLoader incorporado inmediatamente después de enviar la lista de tareas al C&C (figura 9). Todas estas muestras dejaban caer exactamente la misma instancia de TinyLoader. Sin embargo, se utilizó un nombre de archivo distinto en cada una de ellas: ‘000.exe’, ‘001.exe’ y ‘5678987654.exe’.

Figura 9: MrWhite deja caer y ejecuta TinyLoader después de enviar la lista de tareas

El TinyLoader descargado era idéntico en estos tres casos. Se comunicaba con la dirección de C&C 62[.]210[.]36[.]112:10500 (figura 10).

Figura 10: Dirección IP de C&C de TinyLoader

No hemos observado que TinyLoader reciba ningún comando para descargar otras cargas dañinas. No obstante, en el pasado TinyLoader ha descargado AbaddonPOS. Después de buscar en cargas dañinas pasadas de AbaddonPOS descubrimos una reciente que se comunica con la misma dirección IP que el TinyLoader que dejaba caer MrWhite (figura 11).

Figura 11: Dirección IP y puerto utilizados en la muestra de AbaddonPOS

El AbaddonPOS asociado con MrWhite es muy similar a muestras anteriores que hemos analizado[1][2]. Todavía busca datos de tarjetas de crédito mediante un algoritmo personalizado y luego exfiltra los datos hacia su C&C. La técnica de codificación de los datos exfiltrados aún es la misma, pero en este caso la segunda clave XOR es igual que la dirección IP (figura 12). Después de descodificar el tráfico codificado, los datos de tarjeta de crédito exfiltrados todavía se transmiten de manera similar a la de las cargas dañinas de AbaddonPOS anteriores (figura 13).

Figura 12: La segunda clave XOR es igual que la dirección IP

Figura 13: Datos exfiltrados por AbaddonPOS tras decodificarlos

Conclusión

Los actores de amenazas están constantemente explorando nuevos métodos de entrega y monetización de malware. En este caso, un nuevo grupo está empleando una puerta trasera no documentada y un nuevo cargador para entregar troyanos bancarios y malware de POS previamente conocidos. Al introducir las nuevas variantes de malware, todas las cuales dejan caer cargas dañinas que generalmente son capturadas por defensas existentes, el grupo de amenazas dificulta más la detección y facilita el intercambio de las cargas dañinas finales. Todos esos factores aumentan la necesidad de que las empresas detengan los mensajes malintencionados antes de que lleguen a los destinatarios objetivo, debido a que el correo electrónico es el principal vector del malware novedoso de esta campaña.

Referencias

[1] https://www.proofpoint.com/us/threat-insight/post/AbaddonPOS-A-New-Point-Of-Sale-Threat-Linked-To-Vawtrak

[2] https://www.proofpoint.com/us/threat-insight/post/abaddonpos-now-targeting-specific-pos-software

[3] https://www.proofpoint.com/us/threat-insight/post/zeuspos-newposthings-point-of-sale-malware-traffic-quadruples-black-friday

[4] https://www.proofpoint.com/us/threat-insight/post/august-in-december-new-information-stealer-hits-the-scene

[5] https://en.wikipedia.org/wiki/Ostap_Bender

Indicadores de compromiso (IOC)

Documento 1 de instalador

SHA256: f89edff923d1d2daf6b2ab36595e873ed7d1cd52c2f6b66b590fa636c17dced2
MD5: 60d6bf2b1471ba0b2e63ddad240a16e8

Ostap 1

SHA256: fc205110d59461412766345ae83b86a34bad748a863e4ffeaaca9f743ec66ca9
MD5: 4661cfbf6e560c76e39e84e1dabf91b3
C2: hxxps://185[.]130[.]104[.]156:4433/PICASSO1/ostap.php?
Nota: Colocado por "Documento 1 de instalador" en "\plugins.refresh.jse"

Documento 2 de instalador

SHA256: c173085b954ff1055fb859e6584a9e0bb3919740752351ad50706c0b7be37b51
MD5: 569748d6942ea9bbcfb72defc7ac37a0

Ostap 2

SHA256: 6dd4ce1a1eb29a226fc22443494dc3dc03a217d14a5065d4efb63766504a44ce
MD5: 62aaa2862986ed6f15357b7e7eedb65c
C2: hxxps://185[.]130[.]104[.]156:4433/DA_VINCI/ostap.php
Nota: Colocado por "Documento 2 de instalador" en "\officeupdater.jse"

Tinba

SHA256: f9ae407ec793386d8306b6d06a8f53bcd489d04442cbffaa3e715622519e1b69
MD5: 95732f3e380e670719af2f78dbab3b79
C2: hxxp://communicationen[.]top/gg/index.php

Dridex 3302

SHA256: 00a4dc98870c37edd6d65619f1bed61326bc51fc735d8c4b74b3ea3f080e36bf
MD5: 28dcbb393fac147607e3b644a2dd3ec0
C2: 185[.]8[.]165[.]33:8343 (y otros)

Ursnif

SHA256: 616bf33bd455296b9d514dd4b3aa90a2f8714ee08222c1383fa2b24a20383f30
MD5: 47f19afe59e40eb2882c3dc755a0b283
C2: 85[.]204[.]74[.]158

MrWhite 1

SHA256: cc4382a0602e67bca990e0be14202d87bbd7bebe3a14d7ec65fb91e5073248af
MD5: 4bc1811f05c6cac676dd43cec1f5ae31
C2: hxxps://studiomarco-laboratorium[.]pl/GOLD/bender.php

Lista de procesos:
CCS.exe|MICROS.exe|IberQS.exe|PaymentStandard.exe|RPRO8.exe|ISSPOS.exe|DSIConcordIP_Host.exe|DDCDSRV1.exe|ClientSitef.exe|Active-Charge.exe|Rock.exe|CRE2004.exe|OmniPOS.exe|EdcSvr.exe|AFR38.exe|POS_retail.exe|qbpos.exe|RWPOS.exe|QBPOSShell.exe|JPOS touchPOS.exe|bosrv.exe|PowerPay.exe|DSIHeartlandIP_Term.exe|POSINIT.exe|DSIHeartlandIP_TermSL.exe|CreditCardService.exe|DSIVitalTNSIP_Term.exe|PaymentServer.exe|RoomKey.exe|XChrgSrv.exe|Cashmate.exe|FiveStarCreditCardIntegration.exe|PaymentBridge.exe|CashClub.exe|FiveStarCreditCardIntegration.exe|PaymentBridge.exe|CashClub.exe|CXSRetailPOS.exe|finchart.exe|Payment Gateway Swipe.exe|ElectronicLockbox.exe|CPS.POSExpressV3.exe|DSICardnetIP_Term.exe|Magtek Signature Capture.exe|Aldelo.EDC.AFRService.exe|XCharge.exe|Gym Assistant 20.exe|e7.exe|ebmain.exe|elba5.exe

TinyLoader: sí

MrWhite 2

SHA256: 435e3ee12bd73ae03a8037cb394c77b92d4f3d97d2b6a956d11564d925924c79
MD5: d80dc01b4a5269c797c7b3e0c66a4965
C2: hxxps://studiomarco-laboratorium[.]pl/GOLD/bender.php

Lista de procesos:
payment|trust|bank|CCS.exe|MICROS.exe|IberQS.exe|PaymentStandard.exe|RPRO8.exe|ISSPOS.exe|DSIConcordIP_Host.exe|DDCDSRV1.exe|ClientSitef.exe|Active-Charge.exe|Rock.exe|CRE2004.exe|OmniPOS.exe|EdcSvr.exe|AFR38.exe|POS_retail.exe|qbpos.exe|RWPOS.exe|QBPOSShell.exe|JPOS touchPOS.exe|bosrv.exe|PowerPay.exe|DSIHeartlandIP_Term.exe|POSINIT.exe|DSIHeartlandIP_TermSL.exe|CreditCardService.exe|DSIVitalTNSIP_Term.exe|PaymentServer.exe|RoomKey.exe|XChrgSrv.exe|Cashmate.exe|FiveStarCreditCardIntegration.exe|PaymentBridge.exe|CashClub.exe|FiveStarCreditCardIntegration.exe|PaymentBridge.exe|CashClub.exe|CXSRetailPOS.exe|finchart.exe|Payment Gateway Swipe.exe|ElectronicLockbox.exe|CPS.POSExpressV3.exe|DSICardnetIP_Term.exe|Magtek Signature Capture.exe|Aldelo.EDC.AFRService.exe|XCharge.exe|Gym Assistant 20.exe|e7.exe|ebmain.exe|elba5.exe

TinyLoader: no

MrWhite 3

SHA256: 34bf0a10955e1f010b2369d5815a2dcab660f1d3bceea526aab83aad517b34ce
MD5: 2cc76c39999254ea88507937754d8c47
C2: hxxps://studiomarco-laboratorium[.]pl/GOLD/bender.php

Lista de procesos:

CCS.exe|MICROS.exe|IberQS.exe|PaymentStandard.exe|RPRO8.exe|ISSPOS.exe|DSIConcordIP_Host.exe|DDCDSRV1.exe|ClientSitef.exe|Active-Charge.exe|Rock.exe|CRE2004.exe|OmniPOS.exe|EdcSvr.exe|AFR38.exe|POS_retail.exe|qbpos.exe|RWPOS.exe|QBPOSShell.exe|JPOS touchPOS.exe|bosrv.exe|PowerPay.exe|DSIHeartlandIP_Term.exe|POSINIT.exe|DSIHeartlandIP_TermSL.exe|CreditCardService.exe|DSIVitalTNSIP_Term.exe|PaymentServer.exe|RoomKey.exe|XChrgSrv.exe|Cashmate.exe|FiveStarCreditCardIntegration.exe|PaymentBridge.exe|CashClub.exe|FiveStarCreditCardIntegration.exe|PaymentBridge.exe|CashClub.exe|CXSRetailPOS.exe|finchart.exe|Payment Gateway Swipe.exe|ElectronicLockbox.exe|CPS.POSExpressV3.exe|DSICardnetIP_Term.exe|Magtek Signature Capture.exe|Aldelo.EDC.AFRService.exe|XCharge.exe|Gym Assistant 20.exe|e7.exe|ebmain.exe|elba5.exe

TinyLoader: sí

MrWhite 4

SHA256: 1b50af4ff0b300c680829f7b394a1db9126659a00f2088d0cd831970e31792a9
MD5: be9365524aae756edb5f811b9da567aa
C2: hxxps://217[.]28[.]218[.]231:4433/GOLD/bender.php

Lista de procesos:
|POS|CCS.exe|MICROS.exe|IberQS.exe|PaymentStandard.exe|RPRO8.exe|ISSPOS.exe|DSIConcordIP_Host.exe|DDCDSRV1.exe|ClientSitef.exe|Active-Charge.exe|Rock.exe|CRE2004.exe|OmniPOS.exe|EdcSvr.exe|AFR38.exe|POS_retail.exe|qbpos.exe|RWPOS.exe|QBPOSShell.exe|JPOS touchPOS.exe|bosrv.exe|PowerPay.exe|DSIHeartlandIP_Term.exe|POSINIT.exe|DSIHeartlandIP_TermSL.exe|CreditCardService.exe|DSIVitalTNSIP_Term.exe|PaymentServer.exe|RoomKey.exe|XChrgSrv.exe|Cashmate.exe|FiveStarCreditCardIntegration.exe|PaymentBridge.exe|CashClub.exe|FiveStarCreditCardIntegration.exe|PaymentBridge.exe|CashClub.exe|CXSRetailPOS.exe|finchart.exe|Payment Gateway Swipe.exe|ElectronicLockbox.exe|CPS.POSExpressV3.exe|DSICardnetIP_Term.exe|Magtek Signature Capture.exe|Aldelo.EDC.AFRService.exe|XCharge.exe|Gym Assistant 20.exe|e7.exe|ebmain.exe|elba5.exe
TinyLoader: sí

TinyLoader

SHA256: 6834b3daff4e76973d21177875d9c1380eabc56ef25d3bd3e36780a5c915fc0e
MD5: 688f2d1ef1fea91065110d96c0596ee9
C2: 62[.]210[.]36[.]112:10050

AbaddonPOS

SHA256: 631156fcd1e0804e915bfb933cbc275f7d3036d47e10d6328816e0b7693a2b05
MD5: ed06bf280c1694d4d41a23d6a5240b2a
C2: 62[.]210[.]36[.]112:27117

Cobertura de Suricata y Snort de ET y ETPRO

2823657          ETPRO TROJAN Se observan certificados SSL malintencionados (descargador de JS/Ostap)
2020150          ET TROJAN Reporte de TinyLoader.A x86
2020151          ET TROJAN Reporte de TinyLoader.A x64
2020152          ET TROJAN TinyLoader.A envía UUID y procesos x86
2020153          ET TROJAN TinyLoader.A envía UUID y procesos x64
2020849          ET TROJAN Reporte de TinyLoader.B1 x86
2020850          ET TROJAN Reporte de TinyLoader.B1 x64
2020851          ET TROJAN Reporte de TinyLoader.B2 sin arquitectura
2020852          ET TROJAN TinyLoader.B1 envía procesos
2022072          ET TROJAN Reporte de TinyLoader.B2 x64
2812523          ETPRO TROJAN Baliza de CnC de TinyLoader.C x86
2812524          ETPRO TROJAN Baliza de CnC de TinyLoader.C x64
2814778          ETPRO TROJAN Baliza de CnC de TinyLoader.D x86
2814779          ETPRO TROJAN Baliza de CnC de TinyLoader.D x64
2814803          ETPRO TROJAN Baliza de CnC de Win64.TinyLoader
2814810          ETPRO TROJAN TinyDownloader recupera PE
2823172          ETPRO TROJAN Reporte de variante de Tinba
2820263          ETPRO TROJAN Reporte de Gozi ISFB con CnC
2823044          ETPRO TROJAN Reporte de W32.Dreambot
2021813          ET TROJAN Baliza de CnC de variante de Ursnif