A fines de 2014, notamos la existencia de una nueva campaña maliciosa no documentada y comenzamos a investigarla. Atacaba a empresas rusas y había estado activa por más de un año. El malware utilizado es una mezcla de herramientas listas para usar, programas de malware empaquetados con NSIS y spyware hecho a medida que hace un uso indebido del software Punto de Yandex (un programa para usuarios rusos que cambia el idioma del teclado en forma silenciosa y automática, dependiendo de lo que esté escribiendo el usuario).
Una vez que los ciberdelincuentes infectaron un equipo, utilizan herramientas personalizadas para analizar su contenido, instalar un backdoor y, por último, desplegar un módulo malicioso que espía el sistema y es capaz de enumerar las tarjetas inteligentes detectadas.
La campaña está dirigida a una amplia variedad de bancos rusos, utiliza muchos certificados diferentes de firma de código e implementa métodos de evasión para evitar su detección. Como se explicará más adelante, creemos que esta campaña tiene motivaciones financieras y que ataca específicamente a los departamentos contables de empresas rusas. El nombre de la Operación Buhtrap proviene de la mezcla de dos palabras: “Buhgalter” y “trap”. “Buhgalter” significa “contador” en ruso y “trap” es “trampa” en inglés.
Esta campaña es de particular interés debido a que las técnicas empleadas por estos ciberdelincuentes en general suelen asociarse con ataques dirigidos y no son normalmente utilizados por ciberdelincuentes con motivaciones financieras. Aunque creemos que se trata de una campaña diferente, comparte algunas características similares con Anunak/Carbanak en lo que respecta a las técnicas, las tácticas y los procedimientos que utiliza. En este artículo analizaremos la campaña, a quiénes está dirigida y las herramientas que usan estos criminales.
Destinatarios del ataque
Los ciberdelincuentes responsables de esta campaña instalan su software únicamente en equipos que tengan la configuración regional rusa en su sistema Windows. El vector de infección que observamos está conformado por documentos de Microsoft Word que se envían como archivos adjuntos y que aprovechan la vulnerabilidad CVE-2012-0158 de Microsoft Word, para la cual se publicó una revisión ya hace tres años.
La siguiente imagen muestra dos de los documentos utilizados como señuelo en esta campaña. El primero, titulado “Счет № 522375-ФЛОРЛ-14-115.doc” imita una factura de compra. El segundo, titulado acertadamente “kontrakt87.doc”, copia un contrato de servicios genérico de telecomunicaciones de la empresa MegaFon, un importante operador ruso de telefonía móvil.
El contenido de los documentos de señuelo que examinamos, las tácticas y las herramientas empleadas, las referencias a aplicaciones corporativas que se hacen a algunos módulos, así como algunos de los nombres de dominio usados en la campaña, nos llevan a pensar que las empresas rusas son el objetivo principal de ataque.
Si tenemos en cuenta que algunos de los nombres de dominio de los servidores de Comando y Control son muy similares a algunos foros de contabilidad o sitios web especializados, y que el malware contiene referencias a herramientas de software y aplicaciones bancarias comúnmente usadas en los departamentos contables, podemos inferir que los trabajadores de estos departamentos constituyen los destinatarios principales.
Las herramientas desplegadas en el equipo de la víctima les permiten a los delincuentes controlar y grabar en forma remota todas las acciones del usuario. El malware también les permite instalar un backdoor, intentar obtener la contraseña de la cuenta del usuario e incluso crear una nueva cuenta. Además instala un registrador de pulsaciones del teclado (keylogger), un programa para copiar el contenido del portapapeles, un módulo de tarjetas inteligentes, y también tiene la capacidad de descargar y ejecutar malware adicional.
A continuación mostramos el gráfico con los resultados telemétricos para las familias de malware vinculadas a esta campaña. La mayoría de las detecciones correspondientes a estas amenazas se hicieron en Rusia. Los datos telemétricos también demuestran que las herramientas utilizadas en esta campaña no son de uso generalizado. Esto refuerza nuestra suposición de que los atacantes probablemente se estén concentrando más que nada en atacar empresas.
Información general sobre la instalación
Si el usuario abre los archivos adjuntos maliciosos en un sistema vulnerable, se guarda y ejecuta un troyano empaquetado con NSIS, que cumple la función de descargar otros programas maliciosos (downloader). El troyano hace varias comprobaciones en la máquina: en primer lugar, busca herramientas de búsqueda de malware o que puedan poner en evidencia que se está ejecutando en una máquina virtual. En caso de encontrarlas, se cierra inmediatamente.
También verifica si la configuración regional de Windows es Rusia (1049) y usa “FindFirst/NextUrlCacheEntry” así como la clave de registro “Software\Microsoft\Internet Explorer\TypedURLs” para saber si desde ese equipo se visitaron direcciones de URL que coincidan con los siguientes patrones:
*ICPortalSSL | *ibank | *i-elba |
---|---|---|
*sib.taatta.net | *ibrs | *clbank.minbank.ru |
*isfront.priovtb.com | *iclient | *chelindbank.ru/online/ |
*ISAPIgate.dll | *e-plat.mdmbank.com | *uwagb |
*bsi.dll | *sberweb.zubsb.ru | *wwwbank |
*PortalSSL | *ibc | *dbo |
*IIS-Gate.dll | *elbrus | *ib |
*beta.mcb.ru |
También se fija si se está ejecutando alguna de las siguientes aplicaciones en el equipo:
ip-client.exe | pkimonitor.exe | BC_Loader.exe | CbShell.exe | Bankline.EXE |
---|---|---|---|---|
prclient.exe | pmodule.exe | Client2008.exe | clb.exe | GeminiClientStation.exe |
rclient.exe | pn.exe | IbcRemote31.exe | CliBank.exe | _ClientBank.exe |
saclient.exe | postmove.exe | _ftcgpk.exe | CliBankOnlineEn.exe | ISClient.exe |
SRCLBClient.exe | productprototype.exe | scardsvr.exe | CliBankOnlineRu.exe | cws.exe |
twawebclient.exe | quickpay.exe | CL_1070002.exe | CliBankOnlineUa.exe | CLBANK.EXE |
vegaClient.exe | rclaunch.exe | intpro.exe | client2.exe | IMBLink32.exe |
dsstart.exe | retail.exe | UpMaster.exe | client6.exe | cbsmain.dll |
dtpaydesk.exe | retail32.exe | SGBClient.exe | clientbk.exe | GpbClientSftcws.exe |
eelclnt.exe | translink.exe | el_cli.exe | clntstr.exe | Run.exe |
elbank.exe | unistream.exe | MWClient32.exe | clntw32.exe | SGBClient.exe |
etprops.exe | uralprom.exe | Adirect.exe | contactng.exe | sx_Doc_ni.exe |
eTSrv.exe | w32mkde.exe | Bclient.exe | Core.exe | icb_c.exe |
ibconsole.exe | wclnt.exe | bc.exe | cshell.exe | Client32.exe |
kb_cli.exe | wfinist.exe | ant.exe | cyberterm.exe | BankCl.exe |
KLBS.exe | winpost.exe | arm.exe | client.exe | ICLTransportSystem.exe |
KlientBnk.exe | wupostagent.exe | arm_mt.exe | cncclient.exe | GPBClient.exe |
lfcpaymentais.exe | Zvit1DF.exe | ARMSH95.EXE | bbclient.exe | CLMAIN.exe |
loadmain.exe | budget.exe | asbank_lite.exe | EximClient.exe | ONCBCLI.exe |
lpbos.exe | CB.exe | bank.exe | fcclient.exe | CLBank3.exe |
mebiusbankxp.exe | cb193w.exe | bank32.exe | iscc.exe | rmclient.exe |
mmbank.exe | cbank.exe | bbms.exe | kabinet.exe | FcolseOW.exe |
pcbank.exe | cbmain.ex | bk.exe | SrCLBStart.exe | RkcLoader.exe |
pinpayr.exe | CBSMAIN.exe | BK_KW32.EXE | srcbclient.exe | uarm.exe |
Pionner.exe | bnk.exe | Upp_4.exe | nlnotes.exe |
La lista de procesos es bastante exhaustiva y no contiene solamente aplicaciones bancarias. Por ejemplo, incluye “scardsvr.exe”, que es el lector de tarjetas inteligentes de Microsoft. Esto tiene sentido, ya que sabemos que el malware tiene la capacidad de leer tarjetas inteligentes. Por otro lado, algunos procesos son difíciles de identificar y pueden estar presentes por razones oportunistas.
Si se cumplen todos los requisitos, la etapa final es la descarga de un archivo adicional que contiene todos los módulos que usa el ciberdelincuente para espiar a la víctima.
Es interesante notar que el archivo comprimido descargado puede diferir según los resultados de las comprobaciones realizadas en el equipo. En una de las primeras versiones analizadas del downloader empaquetado con NSIS, existen dos archivos comprimidos diferentes que se pueden descargar del servidor de Comando y Control: uno es malicioso y el otro no.
Unos de los archivos comprimidos no maliciosos que descargamos últimamente instala la barra de herramientas Windows Live Toolbar. Aunque el medio para instalar el software era malicioso, el payload final no lo era. Es probable que esta táctica se utilice para desorientar a los sistemas de procesamiento automático: como se descargó un payload, se engaña al sistema para que éste crea que el objetivo original solo era instalar la barra de herramientas.
El archivo comprimido descargado por el dropper empaquetado con NSIS es un archivo ejecutable autoextraíble .7z y contiene distintos módulos, todos distribuidos como archivos comprimidos .7z protegidos por contraseña. Este archivo comprimido descargado contiene los diversos módulos que se usan en la campaña.
La siguiente imagen describe más claramente el proceso de instalación completo y muestra los distintos módulos.
Aunque los distintos módulos tienen propósitos muy diferentes, su empaquetamiento es similar y muchos de ellos están firmados con certificados válidos de firma de código. Desde que comenzó la campaña, encontramos que se usaron cuatro certificados diferentes, todos registrados por empresas de Moscú. Naturalmente, les notificamos a los emisores de los certificados para que los suspendieran.
La siguiente tabla contiene la lista de los distintos certificados que encontramos vinculados a esta campaña. Creemos que se obtuvieron fraudulentamente.
Nombre de la empresa | Validez | Número de serie y huella digital |
---|---|---|
Stroi-Tekh-Sever | 09/25/2014 a 09/26/2015 | Serie: 07 ac 7c a0 d1 69 d7 d3 86 ee 08 01 19 95 99 f2 Huella digital: cf5a43d14c6ad0c7fdbcbe632ab7c789e39443ee |
Flash | 12/18/2014 a 12/19/2015 | Serie: 57 a8 f7 1c 7e 2b 97 8c 71 60 ba 07 5e ca b4 6c Huella digital: e9af1f9af597a9330c52a7686bf70b0094ad7616 |
OOO "Techcom" | 12/22/2014 a 12/23/2015 | Serie: 00 e9 fb cb 1b c3 8b 66 8d 9e ba a4 73 11 76 01 41 Huella digital: 3e1a6e52a1756017dd8f03ff85ec353273b20c66 |
Torg-Group | 10/30/2014 a 10/31/2015 | Serie: 13 01 47 51 84 46 19 e6 b5 7f de ca 34 e6 04 aa Huella digital: efad94fc87b2b3a652f1a98901204ea8fbeef474 |
Todos los módulos que componen esta amenaza comparten el mismo procedimiento de instalación. Son todos archivos ejecutables autoextraíbles .7z que primero descomprimen un archivo protegido por contraseña y luego ejecutan el archivo install.cmd. El siguiente es el primer archivo install.cmd que se invoca tras la descarga y la ejecución del primer módulo:
El archivo install.cmd luego instalará el malware o ejecutará las diversas herramientas, pero no sin antes obtener más información sobre la máquina que va a infectar, en especial en lo que respecta a los privilegios de cuenta que tiene actualmente y la versión de Windows instalada.
Si se requieren privilegios de administrador y el malware se está ejecutando en una cuenta limitada, usa dos técnicas diferentes para tratar de escalar los privilegios.
El primer método usa dos archivos, l1.exe y cc1.exe, que implementan una variante del troyano Carberp, cuyo código fuente se filtró al público. Copia el cryptbase.dll a %USERPROFILE%, lo corrige con un parche para que abra el programa malicioso durante la ejecución y lo empaquete como un archivo MSU. Finalmente, usa wusa.exe para copiarlo al directorio del sistema antes de ejecutarlo. La segunda técnica aprovecha la vulnerabilidad CVE-2013-3660. Cada módulo que requiere escalar privilegios tiene una versión de este exploit para 32 bits y otra para 64 bits. Si es necesario tener privilegios de administrador, el archivo install.cmd intentará usar una de estas dos técnicas para escalar privilegios a nivel local con el objetivo de poder instalar los distintos módulos.
Mientras investigábamos esta campaña, descargamos distintos paquetes completos. Es interesante notar que los módulos que contenían no eran los mismos. Esto nos lleva a creer que los distintos objetivos de ataque podrían estar recibiendo módulos diferentes.
Preparación del sistema: mimi.exe y xtm.exe
Este módulo intentará:
- Recuperar contraseñas de cuentas
- Habilitar el servicio de escritorio remoto
- Crear una nueva cuenta en el equipo infectado
mimi.exe incluye una versión modificada de Mimikatz, una herramienta muy conocida de código abierto que permite recuperar contraseñas de usuarios registrados en un sistema Windows. Los recursos ejecutables incluyen tanto las versiones de 32 bits como de 64 bits de las herramientas. Aunque la funcionalidad para recuperar contraseñas de cuentas sigue presente, el archivo ejecutable se modificó para quitar la parte de la herramienta que requiere la interacción por parte del usuario.
El archivo ejecutable también está modificado de modo que, al ejecutarse, invoque el comando “privilege::debug” e, inmediatamente después, el comando “sekurlsa:logonPasswords”, con lo que obtiene efectivamente la contraseña de cuenta local actual.
xtm.exe presenta un comportamiento diferente para lograr su objetivo dependiendo de la versión de Windows donde se ejecuta. Para WinXP, cuenta con scripts que habilitan los servicios de escritorio remoto e intentan crear una nueva cuenta. Estos pasos son necesarios para darles a los creadores del malware el control total del sistema infectado. xtm.exe también cambiará la configuración del sistema para permitir que varios usuarios inicien sesión en el equipo al mismo tiempo.
La siguiente captura de pantalla muestra un ejemplo del tipo de comandos que se ejecutan en una máquina con WinXP.
Backdoor: lmpack.exe
El único propósito de este módulo es instalar un backdoor en el sistema. Intentará instalar LiteManager, una herramienta de terceros que permite tener el control remoto del sistema.
Once this software is installed, it allows the cybercriminals to connect directly to the victim's computer and control it remotely. This software even has a command line option to install the application silently, to create firewall rules and finally to start LiteManager silently. Of course all these options are abused by the cybercriminals.
Una vez instalado, el software le permite a los ciberdelincuentes conectarse directamente al equipo de la víctima y controlarlo en forma remota. Este software incluso cuenta con la opción por línea de comandos de instalar la aplicación en forma silenciosa, de crear reglas de firewall y finalmente de instalar LiteManager también en forma silenciosa. Por supuesto, todas estas opciones son aprovechadas por los ciberdelincuentes.
Módulo espía: pn_pack.exe
Este módulo es el responsable de espiar al usuario y de comunicarse con el centro de Comando y Control. Primero instala Punto, un software creado por Yandex capaz de cambiar automáticamente el idioma del teclado mientras el usuario está escribiendo.
Los ciberdelincuentes utilizan este software indebidamente para ejecutar el módulo espía mediante el uso de un DLL Side-Loading con el propósito de:
- Registrar todas las pulsaciones en el teclado y copiar el contenido del portapapeles
- Enumerar las tarjetas inteligentes presentes en el sistema
- Manejar las comunicaciones con el centro de comando y control
En definitiva, el módulo responsable de llevar a cabo estas tareas es un DLL cifrado que el proceso Punto descifra y carga en memoria en tiempo de ejecución. Inicia tres subprocesos, que serán los que realizarán el trabajo descrito arriba. El hecho de que el malware está utilizando indebidamente el programa Punto con el propósito de registrar las pulsaciones no es sorprendente: varios foros rusos detallan en forma explícita la manera de aprovechar esta aplicación para dicho propósito.
El módulo utiliza RC4 para cifrar sus cadenas y sus comunicaciones de red. Se comunica con el C&C cada dos minutos para transmitir todos los datos robados del sistema infectado. Abajo se muestra la captura de pantalla de una comunicación de red, así como los diferentes comandos que pueden recibirse del servidor.
Comando | Descripción |
---|---|
MZ | Los datos enviados son un archivo ejecutable. El módulo bancario lo ejecutará mediante la API CreateProcess |
LD | os datos enviados son códigos. El módulo bancario lo copiará en la memoria ejecutable y lo ejecutará iniciando un nuevo subproceso |
Como los comandos del servidor se envían como respuesta a una actualización del estado del usuario, podemos pensar que ese código especial se envía para sucesos específicos, por ejemplo, cuando se detecta una tarjeta inteligente en el sistema.
Es interesante notar que, en todos los módulos bancarios que analizamos (el último de los cuales tiene como fecha de compilación el 18 de enero), hay una cadena “TEST_BOTNET” que se envía en todas las comunicaciones con el C&C. En este punto no queda claro lo que esto significa, dado que las personas y las organizaciones ya fueron infectadas por el malware. Como creemos que la operación ya lleva activa más de un año, esta situación es intrigante. Quizás el futuro guarde la respuesta.
Conclusión
Podemos imaginar a los estafadores trabajando de esta forma: primero infectan un solo equipo en una empresa mediante el envío de spam y convenciendo a la persona para que abra el archivo adjunto.
Una vez que el malware está instalado en el equipo de la víctima, los ciberdelincuentes tienen acceso a varias herramientas que los ayudarán a propagarse a otros equipos de la empresa y, en segundo lugar, a espiar al usuario para determinar si puede hacer alguna transacción bancaria fraudulenta.
Aunque las herramientas y el software empleados en esta campaña distan mucho de ser novedosos, la campaña completa es interesante para analizar y es enigmática: difiere bastante del malware bancario tradicional al que estamos acostumbrados.
Esta campaña está usando herramientas específicas para lograr su objetivo, como solemos ver en los ataques dirigidos. Aunque consideramos que esta campaña es diferente, se observan algunas similitudes. El vector de infección es similar, utiliza una aplicación mimikatz similar, usa una herramienta de acceso remoto de terceros, cambia la configuración del sistema para permitir sesiones simultáneas de RDP (protocolo de escritorio remoto), entre otras cosas.
Va a ser interesante ver si este tipo de operación se convertirá en la norma y si, a cambio, disminuirá la popularidad de las familias de troyanos bancarios tradicionales.
Un agradecimiento especial a Anton Cherepanov y Joan Calvet por su ayuda en este análisis.
Hashes
SHA1 | Nota | Nombre de detección de ESET |
---|---|---|
64b79c92388244a8145bb786ba5f6b7d168fe620 | RTF | Win32/Exploit.CVE-2012-0158.II |
9d081716e83c3075b2c80bb8806a257eed35929c | Downloader empaquetado con NSIS | NSIS/TrojanDownloader.Agent.NQP |
cac0b41ef7eedcd3a8a5f83f7424c426ca05925c | RTF | Win32/Exploit.CVE-2012-0158.JW |
b29e9611f081197f273c475c5d185d774b2ca3d2 | Downloader empaquetado con NSIS | Win32/RA-based.AB |
81b15a774c2fe146aeebaf9c10a5b907e38cdd26 | Archivo ejecutable autoextraíble .7z | Win32/RA-based.AB |
3a643be0cea73084c6e4e6fe5dd3626e7f54e9ce | Archivo ejecutable autoextraíble .7z | Win32/RA-based.NBM |
ba8168c0b69d345098ebc1c3b7c90ca28097e4ff | DLL bancario descifrado | Win32/Spy.Agent.ONE |
Indicadores de sistemas comprometidos
Indicador | Valor |
---|---|
Dominios de comando y control | store.kontur-expres.com balans2w.balans2.com forum.buhonline.info rss.mercurynews.biz topic.buhgalter-info.com help.b-kontur.org |
Dirección IP de C&C codificada en forma rígida | 91.218.231.79 |
Direcciones URL del ejecutable autoextraíble .7z | hXXp://playback.savefrom.biz/video/video1.cab hXXp://playback.savefrom.biz/video/video_1.cab hXXp://download.sendspace.biz/file/install.cab hXXp://download.sendspace.biz/file/l.cab hXXp://library.source-forge.info/cab/cabinstal.cab hXXp://library.source-forge.info/cab/cabinstal3.cab hXXp://new.pikabu-story.com/file/file1.cab hXXp://getdownloadsfile.com/file/new1.cab hXXp://new.pikabu-story.com/file/mega.cab |
Nombre del documento de señuelo | Счет № 522375-ФЛОРЛ-14-115.doc kontrakt87.doc |