Casos recientes de ataques a abrevaderos, Parte 1 – JPCERT/CC Eyes
Hoy en día, muchas personas probablemente reconozcan la explotación de vulnerabilidades en activos expuestos públicamente, como VPN y firewalls, como vector de ataque. De hecho, muchos incidentes de seguridad reportados a JPCERT/CC también involucran dichos dispositivos. Esto se debe a que las vulnerabilidades en los dispositivos VPN son explotadas no solo por grupos APT sino también por muchos otros grupos, como actores de ransomware y ciberdelincuentes, y en consecuencia, el número de incidentes es alto. Por otro lado, a medida que aumenta el número de incidentes de seguridad derivados de estos vectores de ataque específicos, la gente tiende a olvidarse de las contramedidas para otros vectores de ataque. Los atacantes utilizan diversos métodos para realizar ataques, incluidos el correo electrónico, sitios web y servicios de redes sociales. La Figura 1 muestra una cronología de incidentes de seguridad relacionados con ataques dirigidos que JPCERT/CC ha confirmado.
Como puede ver en esta figura, se utilizan muchos métodos para penetrar en las redes. En este artículo, presentaremos dos casos de ataques a abrevaderos en Japón que recibieron poca atención en los últimos años. Esperamos que estos incidentes de seguridad le resulten útiles a la hora de planificar sus medidas de seguridad. La parte 1 cubre un caso en el que el sitio web de un laboratorio de investigación universitario fue explotado en 2023.
Flujo del ataque
La Figura 2 muestra el flujo del ataque al abrevadero. Cuando un usuario accede a un sitio web manipulado, se muestra una pantalla de actualización falsa de Adobe Flash Player y, si el usuario descarga y ejecuta el archivo según las instrucciones, su computadora se infecta con malware.
El sitio web infectado tiene JavaScript incrustado, como se muestra en la Figura 3, y cuando el usuario accede al sitio, se muestra un mensaje emergente en japonés.
Una de las características de este ataque de abrevadero es que no aprovechó las vulnerabilidades para la infección de malware, sino que utilizó una técnica de ingeniería social para engañar a los usuarios que accedieron al sitio para que descargaran y ejecutaran el malware por sí mismos.
Malware utilizado en el ataque
FlashUpdateInstall.exeel malware descargado en este ataque, muestra un documento señuelo como se muestra en la Figura 4 y tiene la función de crear y ejecutar el malware principal (system32.dll). El documento señuelo es un archivo de texto y contiene una cadena de texto que indica que la actualización de Adobe Flash Player se realizó correctamente.
El system32.dll creado se inyecta en el proceso Explorer (inyección anticipada). Este archivo DLL era distintivo ya que había sido manipulado por Cobalt Strike Beacon (versión 4.5) para tener una marca de agua de 666666. Para obtener información detallada sobre la configuración de Cobalt Strike, consulte el Apéndice D.
Ejemplos de ataques del mismo grupo
Se desconoce el grupo de ataque involucrado en este ataque al abrevadero. El servidor C2 estaba alojado en Cloudflare Workers, el servicio perimetral sin servidor de Cloudflare. Además, hemos confirmado que el mismo atacante está realizando otros ataques. La Figura 5 muestra el comportamiento de otros tipos de malware confirmado mediante nuestra investigación de los servidores C2.
Mire la Figura 5. En el primer ejemplo, el atacante disfrazó el nombre del archivo como un archivo del Ministerio de Economía, Comercio e Industria, y un documento publicado por el Ministerio se utilizó como señuelo. Además, el malware (Tips.exe) utilizado en el segundo ejemplo tenía la función de permitir que se especificaran opciones durante la ejecución. Las opciones que se pueden especificar son las siguientes.
- –is_ready: modo de configuración
- –sk: Desactiva la función antianálisis
- –doc_path: Carpeta para guardar documentos señuelo
- –parent_id: ID de proceso del malware
- –parent_path: ruta de ejecución del malware
- –auto: Modo de ejecución de malware
"C:\Users\Public\Downloads\Tips.exe" --is_ready=1 --sk=0 --doc_path="[current_path]" --parent_id=[pid] --parent_path="[malware_file]"
Esta muestra utilizó una técnica rara vez vista: usar enumeración de ventanas y EnumUIIdiomas funciones al ejecutar el archivo DLL.
Además, el malware puede detener el software antivirus (nombre de proceso: avp.exe) y tiene una función para detectar lo siguiente como función antianálisis.
- Si hay más de 40 procesos.
- Si el tamaño de la memoria es mayor que 0x200000000 (aprox. 8G)
- Si alguno de los siguientes está incluido en el nombre de la unidad física
- VBOX
- Disco virtual de Microsoft
- VMware
En cierre
Esperamos que este artículo te sea de ayuda para considerar tus medidas de seguridad. En la Parte 2, continuaremos presentando casos de ataques a abrevaderos.
Kota Kino, Shusei tomonaga
(Traducido por Takumi Nakano)
Apéndice A: servidores C2
- www.mcasprod.com
- paciente-flor-ccef.niftymailcom.workers.dev
- paciente-flor-cdf.niftymailcom.workers.dev
Apéndice B: Valor hash de malware
Visor de Jack
- 791c28f482358c952ff860805eaefc11fd57d0bf21ec7df1b9781c7e7d995ba3
- a0224574ed356282a7f0f2cac316a7a888d432117e37390339b73ba518ba5d88
Golpe de cobalto 4.5
- 7b334fce8e3119c2807c63fcc7c7dc862534f38bb063b44fef557c02a10fdda1
Archivo señuelo
- 284431674a187a4f5696c228ce8575cbd40a3dc21ac905083e813d7ba0eb2f08
- df0ba6420142fc09579002e461b60224dd7d6d159b0f759c66ea432b1430186d
Sitio web infectado
- 3bf1e683e0b6050292d13be44812aafa2aa42fdb9840fb8c1a0e4424d4a11e21
- f8ba95995d772f8c4c0ffcffc710499c4d354204da5fa553fd33cf1c5f0f6edb
Apéndice C:PDB
- C:\Usuarios\jack\viewer\bin\viewer.pdb
Apéndice D: Configuración de Cobalt Strike
dns False ssl True port 443 .sleeptime 45000 .http-get.server.output 0000000400000001000005f200000002000000540000000200000f5b0000000d0000000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 .jitter 37 publickey 30819f300d06092a864886f70d010101050003818d0030818902818100daca3d111909f81f4a40d3b0648bb079f2d89b3d579016fe4da97055d2975bf4d633de34346e82948450a222eb92102fe866fd6b5ec2f633c032c124aa5824bee30825fa6ac2d9abef369280076174ee12caa72bbacab906b80c29e89f82380f5e8c45a287c6874b58cc0d1d28332c92de35e21ad4817667bd10b997b345f985020301000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 .http-get.uri patient-flower-ccef.nifttymailcom.workers.dev,/jquery-3.3.1.min.js 67 0 68 4294967295 69 4294967295 70 4294967295 .spawto .post-ex.spawnto_x86 %windir%\syswow64\dllhost.exe .post-ex.spawnto_x64 %windir%\sysnative\dllhost.exe .cryptoscheme 0 .http-get.verb GET .http-post.verb POST shouldChunkPosts 0 .watermark 666666 36 MYhXSMGVvcr7PtOTMdABvA== .stage.cleanup 1 CFGCaution 0 71 0 72 0 73 0 .user-agent Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko .http-post.uri /jquery-3.3.2.min.js .http-get.client GAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 #Referer: http://cdn.nifttymail.com/ __cfduid= Cookieate .http-post.client GAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 #Referer: http://cdn.nifttymail.com/ __cfduid deflate host_header Host: patient-flower-ccef.nifttymailcom.workers.dev cookieBeacon 1 .proxy_type 2 58 0005800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 57 0005800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 funk 0 killdate 0 text_section 1