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 “SoftwareMicrosoftInternet ExplorerTypedURLs” 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
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 |
Autor Jean-Ian Boutin, ESET