UNC1945: anatomía de un ataque a Solaris

UNC1945

UNC1945 compromete proveedores de servicios administrados y opera contra un conjunto de objetivos personalizados.

UNC1945 está dentro de las industrias de consultoría financiera y profesional.

Al aprovechar el acceso a redes de terceros UNC1945 apuntó a los sistemas operativos Oracle Solaris, utilizó varias herramientas y utilidades contra los sistemas operativos Windows y Linux, cargó y operó máquinas virtuales personalizadas y empleó técnicas para evadir la detección. UNC1945 demostró acceso a exploits, herramientas y malware para múltiples sistemas operativos, un interés disciplinado en cubrir o manipular su actividad y mostró habilidades técnicas avanzadas durante las operaciones interactivas.

Mandiant descubrió e informó a Oracle CVE-2020-14871 , que se abordó en la Actualización del parche crítico de octubre de 2020 de Oracle .

Mandiant recomienda mantenerse al día con todas las actualizaciones de parches actuales para garantizar una postura de alta seguridad.

Ciclo de vida del ataque UNC1945

El actor de amenazas demostró experiencia y comodidad al utilizar tácticas, técnicas y procedimientos (TTP) únicos dentro de entornos Unix, demostrando un alto nivel de perspicacia junto con la facilidad de operación en los sistemas operativos Microsoft Windows.

Tuvieron éxito al navegar por múltiples redes segmentadas y aprovechar el acceso de terceros para extender las operaciones mucho más allá de la víctima inicial.

Además, UNC1945 operaba desde varias máquinas virtuales preconfiguradas con herramientas posteriores a la explotación, además de su conjunto de herramientas personalizado para evadir la detección y el análisis forense.

Compromiso inicial

A finales de 2018, UNC1945 obtuvo acceso a un servidor Solaris e instaló una puerta trasera que rastreamos como SLAPSTICK para capturar los detalles de la conexión y las credenciales para facilitar un mayor compromiso.

El servicio SSH de este servidor estaba expuesto a Internet en ese momento, al mismo tiempo que observamos la primera evidencia de actividad de amenazas.

Desafortunadamente, debido a la evidencia disponible insuficiente, la siguiente indicación de actividad fue a mediados de 2020, momento en el que se observó que un servidor Solaris diferente se conectaba a la infraestructura del actor de amenazas.

Esto indica un tiempo de permanencia de aproximadamente 519 días en función de los artefactos recuperados.

  • Aunque no se pudo determinar cómo se logró el acceso inicial de fines de 2018, sí observamos conexiones SSH UNC1945 exitosas directamente al servidor Solaris 10 víctima, ya que el servicio SSH estaba expuesto directamente a Internet en ese momento.
  • A mediados de 2020, observamos que UNC1945 implementó EVILSUN, una herramienta de explotación remota que contiene un exploit de día cero para CVE-2020-14871, en un servidor Solaris 9. En ese momento, se observaron conexiones desde el servidor a la dirección IP del actor de amenazas a través del puerto 8080.
    • Mandiant descubrió e informó CVE-2020-14871, una vulnerabilidad recientemente parcheada en el Módulo de autenticación conectable (PAM) de Oracle Solaris que permite a un atacante no autenticado con acceso a la red a través de múltiples protocolos explotar y comprometer el sistema operativo.
    • Según una publicación de abril de 2020 en un sitio web del mercado negro, un “Oracle Solaris SSHD Remote Root Exploit” estaba disponible por aproximadamente $ 3,000 USD, que puede identificarse con EVILSUN.
    • Además, confirmamos que un servidor Solaris expuesto a Internet tenía vulnerabilidades críticas, que incluían la posibilidad de explotación remota sin autenticación.

Establezca un punto de apoyo y mantenga la persistencia

El actor de amenazas utilizó una puerta trasera del módulo de autenticación conectable de Solaris al que nos referimos como SLAPSTICK para establecer un punto de apoyo en un servidor Solaris 9.

Esto facilitó el acceso de los usuarios al sistema con una contraseña secreta codificada de forma rígida y permitió a los actores de la amenaza escalar los privilegios y mantener la persistencia (ver Figura 1).

  • Log –font –unix | / usr / lib / ssh / sshd sshd kbdint – can <Contraseña codificada> <IP CENSURADA> Contraseña mágica
  • auth.info | sshd [11800]: [ID 800047 auth.info] Se acepta teclado interactivo para root desde <IP CENSURADO> puerto 39680 ssh2
  • auth.notice | su: [ID 366847 auth.notice] ‘su root’ – tuvo éxito para netcool en / dev / pts / 31

Figura 1: Registros SLAPSTICK

En la víctima inicial, UNC1945 colocó una copia de un archivo pam_unix.so legítimo y SLAPSTICK en la carpeta / lib64 / security.

Un día después, el actor de amenazas colocó una puerta trasera Linux personalizada, que Mandiant denominó LEMONSTICK, en la misma estación de trabajo.

Las capacidades de LEMONSTICK incluyen la ejecución de comandos, transferencia y ejecución de archivos y la capacidad de establecer conexiones de túnel. (ver figura 2).

  • FileItem: cambiado | / usr / lib64 / security / pam_unix, entonces [57720]
  • Registro de auditoría | [audit_type: USER_END] user pid = 10080 uid = 0 auid = 0 msg = ‘PAM: session close acct = root “: exe =” / usr / sbin / sshd “(hostname = 1.239.171.32, addr = 1.239.171.32, terminal = ssh res = éxito) ‘”
  • FileItem: Accedido | /var/tmp/.cache/ocb_static

Figura 2: Ubicación UNC1945 de SLAPSTICK 

UNC1945 obtuvo y mantuvo el acceso a su infraestructura externa mediante un mecanismo de reenvío de puertos SSH a pesar de que el host no tenía acceso directo a Internet. El reenvío de puertos SSH es un mecanismo implementado en el protocolo SSH para transportar datos de red arbitrarios a través de una conexión SSH cifrada (tunelización).

Esta función se puede utilizar para agregar cifrado a aplicaciones heredadas que atraviesan firewalls o con intenciones maliciosas de acceder a redes internas desde Internet.

Las configuraciones de UNC1945 que observamos están estructuradas de manera similar con respecto al alias de host, las opciones especificadas y el orden de las opciones (consulte la Figura 3).

config1 config2
Host <redacted>
HostName <redacted>
Port 900
User <redacted>
IdentityFile <
redacted > KbdInteractiveAuthentication no
PasswordAuthentication no
NoHostAuthenticationForLocalhost sí
StrictHostKeyChecking no
UserKnownHostsFile / dev / null
RemoteForward 33002 127.0.0.1:22
Host <redactada>
NombreHost <redactada>
El puerto 443
de usuarios <redactada>
IdentityFile <redactada>
KbdInteractiveAuthentication sin
PasswordAuthentication no
NoHostAuthenticationForLocalhost sí
StrictHostKeyChecking sin
UserKnownHostsFile / dev / null
ServerAliveInterval 30
ServerAliveCountMax 3
RemoteForward 2224 <redactada>: 22

Figura 3: Archivos de configuración SSH usados ​​por UNC1945 en diferentes incidentes

Como parte de esta operación de múltiples etapas, UNC1945 colocó una máquina virtual (VM) QEMU personalizada en múltiples hosts, que se ejecutó dentro de cualquier sistema Linux mediante el lanzamiento de un script ‘start.sh’. El script contenía configuraciones de reenvío de TCP que el actor de amenazas podría usar junto con los túneles SSH para brindar acceso directo desde la máquina virtual del actor de amenazas al servidor de comando y control para ofuscar la interacción con la infraestructura del cliente.

La máquina virtual estaba ejecutando una versión del sistema operativo Tiny Core Linux con scripts y herramientas precargados.

Además, analizamos las marcas de tiempo del sistema de archivos de la máquina virtual, que coincidían con el cronograma operativo general de UNC1945.

La máquina virtual contenía numerosas herramientas, como escáneres de red, exploits y herramientas de reconocimiento.

Las herramientas precargadas de Tiny Core Linux incluían Mimikatz, Powersploit, Responder, Procdump, CrackMapExec, PoshC2, Medusa, JBoss Vulnerability Scanner y más.

Los esfuerzos para disminuir la visibilidad operativa incluyeron colocar la herramienta y los archivos de salida dentro de los puntos de montaje del sistema de archivos temporales que se almacenaron en la memoria volátil.

Además, UNC1945 utilizó utilidades integradas y herramientas públicas para modificar marcas de tiempo y manipular selectivamente archivos de registro de Unix.

UNC1945 empleó técnicas anti-forenses con el uso de una utilidad ELF personalizada llamada LOGBLEACH. El actor usó comandos integrados de Linux para alterar las marcas de tiempo de los archivos y directorios y usó LOGBLEACH para limpiar los registros para frustrar el análisis forense, como se ve en la Figura 4.

$ ./b -C -y -a
$ mv b /usr/lib64/libXbleach.so.1
$ cd / usr / lib64 /
$ touch -acm -r librpmio.so.3.2.2
$ touch -acm -r libyaml -0.so.2

Figura 4: LOGBLEACH

Para ofuscar aún más la actividad, se ejecutó un empaquetador ELF de Linux llamado STEELCORGI en la memoria del sistema Solaris. El malware contiene varias técnicas anti-análisis, incluyendo anti-depuración, anti-rastreo y ofuscación de cadenas. Utiliza variables de entorno como clave para descomprimir la carga útil final.

Escalar privilegios y movimiento lateral

Después de establecerse con éxito, UNC1945 recopiló credenciales, escaló los privilegios y se movió con éxito lateralmente a través de múltiples redes.

UNC1945 obtuvo credenciales a través de SLAPSTICK y herramientas de código abierto como Mimikatz, que permitieron un movimiento lateral fácil a través de las redes para obtener acceso inmediato a otros segmentos de la red y entornos de terceros. Las credenciales robadas recopiladas por SLAPSTICK se utilizaron para atravesar la red del cliente a través de SSH e implementar SLAPSTICK en hosts adicionales. Después de autenticarse con éxito, SLAPSTICK muestra un mensaje de bienvenida, como se ve en la Figura 5.


Figura 5: Banner de bienvenida de puerta trasera SLAPSTICK

UNC1945 usó ProxyChains para descargar PUPYRAT, una herramienta de administración remota y post-explotación multifuncional de código abierto y multiplataforma escrita principalmente en Python.

En un objetivo, el actor de amenazas usó una máquina virtual para iniciar una fuerza bruta de SSH dirigida a los puntos finales de Linux y HP-UX. Comenzando con nombres de usuario aparentemente aleatorios y pasando a cuentas legítimas de Linux y Windows, el actor de amenazas estableció con éxito conexiones SSH en un punto final de Linux. Después de escalar con éxito los privilegios en un punto final de HP-UX y un punto final de Linux, UNC1945 instaló tres puertas traseras: SLAPSTICK, TINYSHELL y OKSOLO.

Observamos que UNC1945 usa IMPACKET con SMBEXEC en un entorno de Microsoft Windows para ejecutar comandos de forma remota sin la necesidad de cargar una carga útil en el objetivo. SMBEXEC permite al actor de amenazas operar como PsExec, pero sin utilizar RemComSvc. Hay dos modos principales de utilizar esta herramienta que beneficia a los atacantes. El modo de compartir permite la especificación de un recurso compartido a través del cual se ejecutará todo. El modo de servidor permite que la máquina de destino envíe la salida de los comandos ejecutados a una carpeta compartida localmente.

En una víctima, observamos que UNC1945 se movía lateralmente a través del Protocolo de escritorio remoto (RDP) a un servidor de Windows antes de ver el Panel del administrador del servidor, ver y modificar las reglas de firewall del sistema relacionadas con RDP y verificar la configuración de la aplicación de dos servicios de seguridad de punto final.

Reconocimiento interno

Las investigaciones de Mandiant encontraron que el actor de amenazas mantiene varias herramientas para interactuar con las redes de víctimas. Además de las herramientas personalizadas, las VM UNC1945 contenían varias herramientas (por ejemplo, escáneres de red, exploits y reconocimiento; consulte la sección Herramientas asociadas y malware).

En algunas intrusiones, UNC1945 empleó un ejecutable SPARC identificado como una herramienta de reconocimiento. Según la información disponible públicamente, este ejecutable podría denominarse Luckscan o BlueKeep, el último de los cuales forma parte del kit de herramientas BKScan (consulte la Figura 6).


Figura 6: Línea de comando de la herramienta de reconocimiento ejecutable SPARC utilizada por el actor de amenazas

Según fuentes abiertas, BlueKeep, también conocido como escáner “bkscan” , funciona tanto sin autenticar como autenticado (es decir, cuando la autenticación de nivel de red está habilitada). BlueKeep (CVE-2019-0708) es una vulnerabilidad de seguridad que se descubrió en la implementación del Protocolo de escritorio remoto (RDP) de Microsoft, que permite la posibilidad de ejecución remota de código.

Misión completa

A pesar de esta operación de múltiples etapas, Mandiant no observó evidencia de exfiltración de datos y no pudo determinar la misión de UNC1945 para la mayoría de las intrusiones que investigamos. En al menos un caso, observamos la implementación del ransomware ROLLCOAST en la fase final de la actividad del actor de amenazas, pero Mandiant no atribuyó esta actividad a UNC1945. En este momento, es probable que el acceso al entorno de la víctima se haya vendido a otro grupo.

Conclusión

La facilidad y amplitud de la explotación en la que UNC1945 llevó a cabo esta campaña sugiere un actor sofisticado y persistente que se siente cómodo explotando varios sistemas operativos y acceso a recursos y numerosos conjuntos de herramientas. Dados los factores antes mencionados, el uso de exploits de día cero y máquinas virtuales, y la capacidad de atravesar múltiples redes de terceros, Mandiant espera que este actor de amenazas motivado continúe con operaciones dirigidas contra industrias clave mientras aprovecha los sistemas operativos que probablemente tienen una visibilidad de seguridad inadecuada.

Oracle Solaris

Herramientas asociadas y familias de malware

EVILSUN es una herramienta de explotación remota que obtiene acceso a los sistemas Solaris 10 y 11 de la arquitectura SPARC o i386 utilizando una vulnerabilidad (CVE-2020-14871) expuesta por la autenticación interactiva de teclado SSH. La herramienta de explotación remota realiza conexiones SSH a los hosts que se pasan en la línea de comandos. El puerto predeterminado es el puerto SSH normal (22), pero puede anularse. EVILSUN pasa la cadena de banner SSH-2.0-Sun_SSH_1.1.3 sobre la conexión en texto sin cifrar como parte del protocolo de enlace.

LEMONSTICK es una utilidad de línea de comandos ejecutable de Linux con capacidades de puerta trasera. La puerta trasera puede ejecutar archivos, transferir archivos y hacer conexiones por túnel. LEMONSTICK se puede iniciar de dos formas diferentes: pasando el argumento de línea de comando `-c` (con un archivo opcional) y configurando la variable de entorno ‘OCB’. Cuando se inicia con el argumento de línea de comando `-c`, LEMONSTICK genera un shell interactivo. Cuando se inicia en modo OCB, LEMONSTICK espera leer de STDIN. Se espera que los datos STDIN estén encriptados con el algoritmo Blowfish. Después de descifrar, envía comandos basados ​​en el nombre, por ejemplo: ‘ejecuta comando de terminal’, ‘conectarse al sistema remoto’, ‘enviar y recuperar archivo’, ‘crear conexión de socket’.

LOGBLEACH es una utilidad ELF que tiene la función principal de eliminar entradas de registro de un archivo de registro específico en función de un filtro proporcionado a través de la línea de comandos.

Los siguientes archivos de registro están codificados en el malware, pero se pueden especificar rutas de registro adicionales:

  • / var / ejecutar / utmp
  • / var / log / wtmp
  • / var / log / btmp
  • / var / log / lastlog
  • / var / log / faillog
  • / var / log / syslog
  • / var / log / messages
  • / var / log / secure
  • /var/log/auth.log

OKSOLO es una puerta trasera disponible públicamente que vincula un shell a un puerto específico.

Puede compilarse para admitir la autenticación de contraseña o colocarse en un shell raíz.

OPENSHACKLE es una herramienta de reconocimiento que recopila información sobre los usuarios que han iniciado sesión y la guarda en un archivo.

OPENSHACKLE registra la devolución de llamada de Windows Event Manager para lograr la persistencia.

ProxyChains permite el uso de SSH, TELNET, VNC, FTP y cualquier otra aplicación de Internet detrás de los servidores proxy HTTP (HTTPS) y SOCKS (4/5).

Este “proxy” proporciona soporte de servidor proxy a cualquier aplicación.

PUPYRAT (también conocido como Pupy) es una herramienta de código abierto, multiplataforma (Windows, Linux, OSX, Android), multifunción RAT (Herramienta de administración remota) y herramienta de pos-explotación escrita principalmente en Python.

Cuenta con una pauta de ejecución todo en memoria y deja una huella muy baja.

Puede comunicarse mediante varios transportes, migrar a procesos (inyección reflectante) y cargar código Python remoto, paquetes Python y extensiones C de Python desde la memoria.

STEELCORGI es un empaquetador para programas ELF de Linux que utiliza material clave del entorno de ejecución para descifrar la carga útil.

Cuando se inicia por primera vez, el malware espera encontrar hasta cuatro variables de entorno que contienen valores numéricos.

El malware utiliza los valores de las variables de entorno como clave para descifrar los datos adicionales que se ejecutarán.

SLAPSTICK es una puerta trasera de Solaris PAM que otorga al usuario acceso al sistema con una contraseña secreta codificada.

TINYSHELL es un clon de cliente / servidor ligero de las herramientas estándar de shell remoto (rlogin, telnet, ssh, etc.), que puede actuar como una puerta trasera y proporcionar ejecución de shell remota, así como transferencias de archivos.

Detecciones

  • FE_APT_Trojan_Linux_STEELCORGI_1
  • FE_APT_Trojan_Linux_STEELCORGI_2
  • FE_HackTool_Linux64_EVILSUN_1
  • FE_HackTool_Linux_EVILSUN_1
  • HackTool.Linux.EVILSUN.MVX
  • UUID de HXIOC: e489ce60-f315-4d1a-a888-77782f687eec
  • EVILSUN (FAMILIA) 90005075FE_Trojan_Linux_LEMONSTICK_1
  • FE_APT_Tool_Win32_OPENSHACKLE_1
  • FE_APT_Tool_Win_OPENSHACKLE_1
  • UUID de HXIOC: 4a56fb0c-6134-4450-ad91-0f622a92701c
  • OPENSHACKLE (UTILIDAD) 90005006
  • FE_APT_Backdoor_Linux64_SLAPSTICK_1
  • FE_APT_Backdoor_Linux_SLAPSTICK_1
  • FE_Backdoor_Win_PUPYRAT_1
    FE_APT_Pupy_RAT
  • FE_Ransomware_Win64_ROLLCOAST_1
  • FE_Ransomware_Win_ROLLCOAST_1
  • HXIOC, 45632ca0-a20b-487f-841c-c74ca042e75a; RANSOMWARE ROLLCOAST (FAMILIA)
  • Ransomware.Win.ROLLCOAST.MVX

Hashes

  • d5b9a1845152d8ad2b91af044ff16d0b (SLAPSTICK)
  • 0845835e18a3ed4057498250d30a11b1 (STEELCORGI)
  • 6983f7001de10f4d19fc2d794c3eb534
  • 2eff2273d423a7ae6c68e3ddd96604bc
  • d505533ae75f89f98554765aaf2a330a
  • abaf1d04982449e0f7ee8a34577fe8af

Netblocks

  • 46.30.189.0/24
  • 66.172.12.0/24
Categoría de táctica ATT & CK Técnicas
Acceso inicial Servicios remotos externos T1133

Aplicación de explotación pública T1190

Ejecución Intérprete de comandos y secuencias de comandos T1059

T1059.001 PowerShell

Secuencias de comandos T1064

Persistencia Servicios remotos externos T1133
Movimiento lateral T1021.001 Protocolo de escritorio remoto

T1021.004 SSH

Evasión de defensa T1027 Archivos o información ofuscados

T1070.004 Eliminación de archivos

T1070.006 Timestomp

Secuencias de comandos T1064

T1553.002 Firma de código

Descubrimiento Escaneo de servicio de red T1046

Descubrimiento de información del sistema T1082

T1518.001 Descubrimiento de software de seguridad

Movimiento lateral T1021.001 Protocolo de escritorio remoto

T1021.004 SSH

Comando y control Protocolo de capa de aplicación T1071

Proxy T1090

Transferencia de herramienta de entrada T1105

Codificación estándar T1132.001

 

 

Por Marcelo Lozano – General Publisher IT Connect Latam

 

Lea más

Seguridad 2020: como manejar las alertas sin perder la cabeza

Netskope Advanced Analytics 2020

Elecciones en EE.UU 2020: la amenaza iraní

Foro de Gobernanza de Internet 2020 de la ONU

Riesgo: como administrar a 3ros en tiempos de COVID

 

96 / 100