Índice:
- Introducción
- Perfil de amenaza
- Cadena de infección
- Campaña-1
- Análisis de Decoy:
- Análisis técnico
- Huella digital del malware de ROKRAT
- Campaña-2
- Análisis de Decoy
- El análisis técnico
- Análisis detallado de tony31.dat decodificado
- Conclusión
- Seqrite Protecciones
- MITRE Ataque y ataque:
- IoC
Introducción:
Investigadores de seguridad en Seqrite Recientemente, los laboratorios han descubierto dos campañas distintas llevadas a cabo por el grupo APT «Kimsuky», también conocido como «Black Banshee». Este grupo ha estado atacando activamente a Corea del Sur utilizando tácticas cada vez más sofisticadas. En estas campañas, los ciberdelincuentes distribuyeron dos documentos con temática del gobierno surcoreano como señuelos, dirigidos específicamente a entidades gubernamentales dentro de Corea del Sur.
En este blog, profundizaremos en los detalles técnicos de las campañas descubiertas durante nuestro análisis. Examinaremos las distintas etapas de la infección, comenzando con un correo electrónico de phishing que contenía un archivo LNK (acceso directo) adjunto. El archivo LNK estaba diseñado para descargar un script de VBA (Visual Basic para Aplicaciones) ofuscado. Tras desofuscar el script, descubrimos que era responsable de descargar dos archivos adicionales: un archivo PDF y un archivo ZIP. El archivo ZIP contenía cuatro archivos maliciosos: dos archivos de registro (1.log y 2.log), un script de VBA (1.vba) y un script de PowerShell (1.ps1). Ambas campañas incluían el mismo conjunto de archivos maliciosos.
Cadena de infección:

Hallazgos iniciales:
Campaña-1:
En la primera campaña, identificamos un documento relacionado con la reducción y el pago de impuestos relacionados con los ingresos, que contenía el mismo archivo adjunto LNK malicioso. Este archivo adjunto posteriormente implementó un VBScript malicioso, lo que facilitó una mayor vulnerabilidad.

Basándonos en nuestros hallazgos iniciales, descubrimos que el adversario utilizó un documento diferente que contenía el mismo contenido de archivo LNK.
Campaña-2:
En la campaña 2, hemos tenido conocimiento de que Corea del Sur ha promulgado una nueva política para prevenir la reincidencia entre los delincuentes sexuales. La iniciativa consiste en la difusión de un documento detallado con las regulaciones, el cual se compartió con hogares, guarderías, jardines de infancia y diversas oficinas administrativas locales, incluyendo las autoridades municipales y locales, así como con los centros comunitarios del barrio. Sin embargo, hackers, incluidos ciberdelincuentes, están aprovechando este proceso de difusión enviando correos electrónicos engañosos con archivos adjuntos dañinos. Estos correos electrónicos se dirigen a destinatarios residenciales y personal clave de las oficinas locales.

Los atacantes han aprovechado la distribución de esta información y documento para enviarlo por correo electrónico, oculto bajo el nombre de archivo 성범죄자 신상정보 고지 .pdf.lnk (Notificación de información personal de delincuentes sexuales.pdf.lnk). Este archivo adjunto contiene un archivo LNK malicioso, que representa una amenaza para la ciberseguridad de los destinatarios.
Análisis técnico y metodología:
Campaña 1 y 2:
Hemos descargado el archivo 28f2fcece68822c38e72310c911ef007f8bd8fd711f2080844f666b7f371e9e1.lnk de la campaña 1 y el archivo "성범죄자 신상정보 고지.pdf.lnk" de la campaña 2 (Notificación de Información Personal de Delincuentes Sexuales.pdf.lnk), compartido por correo electrónico. Durante el análisis de este archivo LNK, parece estar obteniendo archivos adicionales de un servidor C2 externo, como se muestra en la captura de pantalla a continuación.


El archivo se descargó de la URL proporcionada anteriormente y se guardó en la carpeta Temp, como se indica a continuación.




El archivo descargado del servidor C2 parece ser un VBScript ofuscado. Al ofuscar el script con DE, descubrimos dos archivos adicionales: un PDF y un ZIP.

La primera sección del archivo está codificada en cadenas Base64.

Después de decodificar, encontramos un archivo PDF.

La segunda parte del VBScript también está codificada en Base64. Tras decodificarla, descubrimos un archivo ZIP.


Los archivos Zip contienen la siguiente cantidad de archivos.

Dentro del archivo ZIP, se identificaron cuatro archivos: un VBScript, un script de PowerShell y dos archivos de texto codificados en Base64. Estos archivos de texto codificados contienen datos ofuscados que, tras un análisis más profundo, podrían proporcionar información crucial sobre la funcionalidad y los objetivos del malware. Las siguientes figuras ilustran el contenido codificado de los dos archivos de texto, que se decodificarán y analizarán posteriormente para dilucidar la siguiente fase de la cadena de ataque.


El archivo 1.vbs emplea técnicas avanzadas de ofuscación, utilizando las funciones chr() y CLng() para construir caracteres dinámicamente e invocar comandos en tiempo de ejecución. Esta estrategia elude eficazmente los mecanismos de detección basados en firmas, lo que permite que el script eluda la detección durante la ejecución.
Al finalizar el script, los caracteres concatenados forman un comando completo, que se ejecuta posteriormente. Este comando probablemente esté diseñado para invocar el script de PowerShell 1.ps1, pasando 1.log como argumento para su posterior procesamiento.

Al intentar DE-ofuscar el VBScript, descubrimos la siguiente ejecución de línea de comandos, que posteriormente activa el script de PowerShell para su posterior procesamiento.

Al ejecutar el archivo 1.vbs, se activó la invocación del archivo 1.ps1, como se ilustra en la instantánea a continuación.


El script 1.ps1 incluye una función diseñada para decodificar datos codificados en Base64 del archivo 1.log y ejecutar el script resultante.


El script 1.ps1 recupera el número de serie del BIOS, un identificador único del sistema, del host comprometido. Este número de serie se utiliza posteriormente para crear un directorio dedicado dentro de la carpeta temporal del sistema, lo que garantiza que los archivos relacionados con el ataque se almacenen en una ubicación específica del equipo comprometido, como se muestra en la imagen anterior.
Como ejemplo compatible con máquinas virtuales, el script comprueba si se ejecuta en un entorno de máquina virtual. Si detecta una máquina virtual, eliminará los cuatro archivos asociados al ataque (1.vbs, 1.ps1, 1.log y cualquier archivo de carga útil almacenado en el directorio con el número de serie), deteniendo así su ejecución, como se muestra.
El script comprende 11 funciones que definen las fases posteriores del funcionamiento del malware, incluyendo la exfiltración de datos, el robo de información de monederos de criptomonedas y el establecimiento de comunicaciones de Comando y Control (C2). Estas funciones son esenciales para la ejecución del ataque, facilitando los objetivos del malware y asegurando una comunicación continua con el atacante.
Lista de funciones maliciosas recuperadas de 1 archivo de registro:
- Subir archivo ():
La función de carga extrae datos transmitiéndolos al servidor en fragmentos de 1 MB, lo que le permite gestionar archivos de gran tamaño de forma eficiente. El script espera una respuesta del servidor y, si recibe un código de estado HTTP "200", continúa con la ejecución. Si la respuesta es diferente, el script finaliza su operación. Cada fragmento se envía mediante una solicitud HTTP POST, y la función verifica el éxito de cada iteración de carga antes de continuar.

- ObtenerExWFile():
La función GetExWFile itera a través de un conjunto de tablas hash predefinidas que contienen extensiones de monederos de criptomonedas. Cuando encuentra una coincidencia, identifica los archivos "ldb" y "log" asociados a dichas extensiones para su extracción. Estos archivos se transfieren posteriormente a la carpeta de destino especificada, según lo indicado por la variable $Storepath .

- Obtener datos del navegador ():
El script comprueba si alguno de los siguientes navegadores (Edge, Firefox, Chrome o Naver Whale) está activo para extraer datos del perfil del usuario, como cookies, credenciales de inicio de sesión, marcadores y datos web. Antes de recopilar esta información, el script finaliza los procesos del navegador para garantizar el acceso ininterrumpido. A continuación, recupera datos sobre las extensiones instaladas y los archivos de caché, como webcacheV01.dat, de cada navegador identificado. En algunos navegadores, también realiza operaciones de descifrado para desbloquear las claves cifradas, lo que permite extraer información confidencial, que se almacena junto con la clave maestra descifrada.

- Descargar archivo () :
La función de descarga de archivos descarga cualquier archivo según el comando C2.

- RegistrarTarea() :
Crea persistencia para los archivos “1.log” y “1.vbs”.

- Enviar ():
La función send() sube toda la información recopilada al servidor tras comprimir los datos en un archivo ZIP llamado "init.zip". A continuación, renombra el archivo ZIP a "init.dat" y elimina todas las copias de seguridad del sistema tras la subida.

El flujo de ejecución de las funciones sigue una secuencia donde se realizan varias acciones dentro del ataque. Entre estas funciones, una activa otro comando de PowerShell que llama al archivo 2.log, responsable de las actividades de keylogging.



El contenido decodificado del archivo 2.log se muestra arriba. Contiene un script que importa funciones esenciales de la API de Windows para detectar pulsaciones de teclas, recuperar títulos de ventanas y gestionar los estados del teclado. El script ejecuta acciones como la monitorización del portapapeles, el registro de pulsaciones de teclas y el registro de títulos de ventanas.


Conclusión
Como se ha observado, los ciberdelincuentes utilizan técnicas complejas y multicomponentes que consumen mucho tiempo y están interconectadas para mejorar su capacidad de evasión. A diferencia de otros ladrones, este se centra principalmente en información relacionada con la red, que podría utilizarse para realizar reconocimiento activo. Dado que el ladrón tiene como objetivo datos confidenciales de los usuarios, es crucial protegerse con una solución de seguridad confiable como Seqrite El antivirus en el panorama digital actual. Seqrite En nuestro laboratorio, proporcionamos capacidades de detección para este tipo de programas maliciosos en diversas etapas de la infección, junto con protección contra las amenazas más recientes.
Seqrite Protección:
- Troyano.49424.SL
- Troyano.49422.C
MITRE ATT&CK:
| Acceso inicial | T1566.001 | Phishing: archivo adjunto de spearphishing |
| Ejecución | T1059.001
T1059.005 |
Intérprete de comandos y secuencias de comandos: PowerShell
Intérprete de comandos y secuencias de comandos: Visual Basic |
| Persistencia | T1547.001 | Ejecución de inicio automático de inicio o inicio de sesión: claves de ejecución del registro/carpeta de inicio |
| Evasión de defensa | T1140 | Desofuscar / decodificar archivos o información |
| Acceso a credenciales | T1555.003 | Credenciales de almacenes de contraseñas: Credenciales de navegadores web |
| Descubrimiento: | T1082 | Descubrimiento de información del sistema |
| Colección | T1056.001 | Captura de entrada: registro de teclas |
| Comando y control | T1071.001 | Protocolo de capa de aplicación: protocolos web |
| exfiltración | T1041 | Exfiltración sobre canal C2 |
IoCs:
| MD5 | Nombre de archivo |
| 1119A977A925CA17B554DCED2CBABD8 | *.lnk |
| 64677CAE14A2EC4D393A81548417B61B | 1.registro |
| F0F63808E17994E91FD397E3A54A80CB | 2.registro |
| A3353EA094F45915408065D03AE157C4 | prevenir.hta |
| CE4549607E46E656D8E019624D5036C1 | 1.vbs |
| 1B90EFF0B4F54DA72B19195489C3AF6C | *.lnk |
| 1D64508B384E928046887DD9CB32C2AC | 성범죄자 신상정보 고지.pdf.lnk |
C2
- hxxps[:]//cdn[.]glitch[.]global/
- hxxp[:]//srvdown[.]ddns.net
Escritores
Dixit Panchal
Kartik Jivani
Soumen Birmania



