Akira: el crimen al viejo estilo
Esto es sólo un pequeño extracto del informe original, que se puede encontrar en la sección correspondiente, el informe ha sido creado gracias a la colaboración de Josh Penny [@josh_penny]
Akira es un Threat Actor (TA) categorizado dentro de los grupos criminales relacionados con Ransomware, cuyo principal objetivo es ganar dinero mediante extorsión. Los procedimientos de ataque de la pandilla Akira han variado a lo largo del tiempo desde su primera aparición en 2022. Desde esta fecha, han ido aumentando su lista de víctimas siguiendo metodologías similares a otros grupos criminales. Akira es una de las principales AT en términos de víctimas en los últimos años, subiendo constantemente anualmente en los TOP
La TA ha utilizado diferentes herramientas como malware y explotación de vulnerabilidades durante sus ataques. Dependiendo de las víctimas, hemos observado fases encaminadas a evitar la detección, movimientos laterales y diversos métodos de exfiltración que han ido evolucionando y adaptándose a sus necesidades. La joya de la corona de sus operaciones es el uso del ransomware que les da nombre: Akira
El malware también ha sufrido cambios importantes a lo largo del tiempo. Sin embargo, como veremos a continuación, su funcionalidad principal no ha variado mucho. Conserva varias capacidades, como controlar unidades de disco, administrar procesos en ejecución, operaciones multiproceso y, por supuesto, cifrar archivos y escribir notas de rescate en los dispositivos de la víctima.
Akira mantiene una estrecha relación con Conti, el ransomware utilizado por WizardSpider. De hecho, el código del ransomware de Akira es en algunas partes una evolución u otra versión del famoso ransomware utilizado por el grupo ruso. Por lo tanto, la comunidad a menudo considera a Akira como un subgrupo de WizardSpider. Además, también se ha visto que Akira tiene una relación cercana con otras bandas de ransomware famosas como BlackByte, Lockbit o Snatch.
Como se mencionó anteriormente, los métodos de intrusión han evolucionado con el tiempo. Sin embargo, el resumen que se puede extraer de su KillChain podría ser el siguiente:
Durante el análisis de las muestras de Akira se han considerado multitud de muestras con el fin de localizar todas las versiones disponibles, con la intención de comprender mejor su funcionamiento y ejercer una visión más detallada de todas ellas, así como mejores oportunidades de detección en función de tanto el comportamiento del grupo como las muestras utilizadas en sus ataques
El comportamiento general de las muestras, teniendo en cuenta ciertas diferencias, vendría dado por el siguiente hilo:
-
Después de ejecutar la muestra, Akira obtendrá información del dispositivo afectado, como el nombre de la máquina, la zona horaria, etc.
-
Luego, extraerá los comandos disponibles que se pueden usar para ejecutar la muestra y comenzará a crear un registro donde eventualmente escribirá en función de errores, problemas o información útil sobre las tareas que está realizando. El registro solo estará presente en algunas versiones.
-
Posteriormente comenzará a extraer los discos instalados en el dispositivo y recuperará la lista interna de directorios y extensiones que utilizará posteriormente. También construirá un comando de PowerShell para eliminar las instantáneas y, según la versión, creará la clave AES pública directamente o, alternativamente, cargará la biblioteca y las funciones AES en la memoria y realizará el mismo comportamiento en tiempo de ejecución.
-
Luego de esto, Akira creará múltiples hilos que ingresarán simultáneamente a las carpetas de cada disco. Verificará, según su lista interna, si desea acceder a cada carpeta y luego comparará todos los archivos con otra lista para ver si puede afectarlos, al mismo tiempo que eliminará la nota de rescate. Mientras tanto, abrirá los archivos en los que quiere trabajar y los cifrará usando ChaCha. Una vez completado, cambiará sus extensiones.
La funcionalidad general del ejemplo de ransomware implica una fase de preparación en la que recopila información sobre el dispositivo afectado. Dependiendo de la versión, también crea un LOG en la carpeta donde se ejecuta la muestra y recupera comandos utilizables de Akira.
Tras esta fase preliminar, se centra en identificar primero qué unidades están disponibles en el dispositivo afectado, algo muy común en este tipo de malware. Enumerará y almacenará las unidades, y este comportamiento es similar en la mayoría de las muestras analizadas.
Tras esto, realizará diversas rutinas para obtener tanto las extensiones como el nombre de la nota de rescate, guardándolos junto con diferentes extensiones de archivo.
Estas extensiones se utilizarán de diferentes formas, controlando tanto éstas como las carpetas a las que puede acceder, tamaños de archivos dependiendo de las extensiones, etc.
Después de esto, monitoreará los procesos que se están ejecutando actualmente, los enumerará y guardará, y luego los comparará con su lista interna previamente extraída.
Luego realizará una rutina muy importante para eliminar instantáneas y evitar la recuperación del sistema, pero de una manera bastante diferente a los métodos ShellExecute a los que estamos acostumbrados o técnicas similares, pero el resultado es la ejecución de un powershell que las elimina usando WMI
Powershell.exe -Command "Get-WmiObject Win32_ShadowCopy | Remove-WmiObject"
Después de esto, realizará diversas funciones enfocadas a la creación y gestión de subprocesos múltiples, seguida de una extensa rutina donde realizará diversas tareas, incluida la creación del archivo Léame. Para hacer esto, Akira trabajará con múltiples hilos validando ingresando al primer disco, revisando cada carpeta, mientras escribe y valida simultáneamente.
Entonces, en definitiva, veremos, por un lado, cómo ha cargado la nota de rescate, cómo está comparando las extensiones de los archivos con su lista interna.
Una vez comprobado si debe acceder a la ruta, dado que ya tiene el contenido cargado y el nombre del archivo de la nota de rescate preparado, sólo cabe destacar que en las rutas que pueda recorrer dejará una copia, no sólo en rutas raíz o en el escritorio. Los atacantes amigables te dejarán una dirección para que accedas, te comuniques con ellos y les pagues, clásico.
Después de ejecutar el archivo de la nota de rescate en paralelo, verificar el acceso a las carpetas y determinar a qué archivos puede afectar, Akira también verifica el tamaño del archivo antes de proceder a realizar el cifrado. Vale la pena señalar que el ransomware opera en varios archivos simultáneamente, lo que significa que administra varios identificadores para diferentes archivos al mismo tiempo, ya que trabaja con ellos.
Después de esto, todos los archivos se verán afectados y tendrás que confiar en las copias de seguridad si las tienes o pagar (lo cual no es recomendable).
- [TA0002][T1059] Ejecución mediante línea de comando de la muestra basada en el parámetro AKIRA
Ejecución local o remota (T1021 también podría encajar) de la muestra de Akira
(Process) powershell.exe | cmd.exe > (Command) \-\-encryption\_path|\-p|\-\-share\_file|\-s|\-\-localonly|\-l|\-\-encryption\_percent|\-n
(Process) powershell.exe | cmd.exe > (Command) (\-\-encryption\_path|\-p|\-\-share\_file|\-s|\-\-localonly|\-l|\-\-encryption\_percent|\-n).*\=\\\\\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}.*
- [TA0009][T1074] Creación de control de registros por Akira
Creación de un registro de control por Akira
(File-Write) [Ll]og\-\d{2}\-\d{2}\-\d{4}\-\d{2}\-\d{2}\-\d{2}\.txt
- [TA0040][T1490] Eliminar sombras usando WMI[TA0040][T1490] Eliminar sombras usando WMI
Akira usa powershell para ejecutar un comando WMI y eliminar instantáneas
(Process) powershell.exe > (Command) powershell.exe -Command "Get-WmiObject Win32_Shadowcopy | Remove-WmiObject"
- [TA0040][T1486] Escribir archivo Léame por Akira
Creación del archivo ransomware por Akira
(File-Write) Akira_Readme.txt | help-you.txt
- [TA0006][T1136] Creación de cuenta antes del ataque.
Se crean cuentas para una mejor gestión de la infraestructura específica antes de los impactos.
(Process) cmd.exe > (Command) cmd\.exe\s+\/[qQ]\s+\/[cC]\s+net\s+user\s+\/(dom|domain|add)\s+\d\>.*\\\\\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
- [TA0006][T1003] Vaciado de credenciales a través de LSASS, SAM y NTDS
Las credenciales se vuelcan de distintas formas para obtener más usuarios
(Command) cmd*/c*comsvcs.dll, MiniDump*lsass*full
(Command) cmd*/c*-c -i*\NTDS\*-o*
(Command) cmd*/c*-c -i*\SYSTEM*-o*
(Command) ntdsutil*ac i ntds*ifm*createfull*q q
- [TA0007][T1087] Descubrimiento de cuentas AD
Akira consulta para obtener el máximo conocimiento de Active Directory y, por tanto, de la infraestructura.
(Command) (Get-ADComputer|Get-AdUser)\s+\-Filter.*\-Prop.*Select-Object.*
- [TA0005][T1562] Modificar FW y desactivar defensas
Se modifica el Firewall y se deshabilitan los elementos de seguridad nativos para evitar complicaciones en la ejecución o Exfiltración.
(Command) netsh advfirewall firewall add rule name=*dir=*protocol=TCP*localport=*action=allow
(Command) Set-MpPreference -DisableRealtimeMonitoring $true
- Control sobre las herramientas utilizadas por Akira.
Akira utiliza en toda su killchain una gran cantidad de herramientas, es necesario tenerlas bajo control (conociendo los parámetros que utilizan, nombres internos, etc.) Las siguientes son las herramientas que ha utilizado
Mimikatz | LaZagne | AnyDesk | Radmin | RustDesk | PCHunter | AdFind | PowerTool | WinSCP | Rclone | FileZilla | SharpHound | MASSCAN | AdvancedIPScanner
e.g. (Tool-Name) Mimikatz > (Parameters) (lsadump::|sekurlsa::|sid::|token::|dpapi::|vault::|crypto::|misc::|kerberos::|privilege::)
Este Yara es un poco genérico ya que no me gusta publicar reglas súper estrictas para no quedar atrapados en la detección, lo siento.
rule TA_Ransomware_Akira
{
meta:
description = "Akira: The old-new style crime"
category = "Ransomware"
author = "vc0rexor"
reference = ""
date = "2024-06-01"
strings:
$a1 = "expand 32-byte" wide ascii nocase
$a2 = "akira" ascii nocase
$a3 = "onion" ascii nocase
$a4 = "TOR browser" fullword ascii nocase
$a5 = "--encryption_path" wide ascii nocase
$a6 = "--encryption_percent" wide ascii nocase
$a7 = "CreateThread" fullword ascii nocase
$a8 = "CreateIoCompletionPort" fullword ascii nocase
$a9 = "AcquireSRWLockExclusive" fullword ascii nocase
$a10 = "GetCurrentThreadId" fullword ascii nocase
$a11 = "GetLogicalDriveStrings" fullword ascii nocase
$a12 = "GetQueuedCompletionStatus" fullword ascii nocase
$a13 = "encrypt" ascii nocase
$a14 = "thread pool" fullword ascii nocase
$a15 = "failed" wide ascii nocase
$a16 = "System Volume Information" fullword ascii nocase
$a17 = "Paths Finded" fullword ascii nocase
$b1 = { 0f 11 45 ?? 0f 57 c9 f3 0f 7f 4d ?? 4c 63 c0 33 d2 48 8d 4d ?? e8 ?? ?? fe ff 48 8d 4d ?? 48 83 7d ?? 08 48 0f 43 4d ?? 4c 8d 45 ?? 48 83 7d ?? 10 4c 0f 43 45 ?? 8b 45 ?? 89 44 24 28 48 89 4c 24 20 44 8b 4d ?? 33 d2 33 c9 ff 15 ?? ?? ?? 00 0f 10 45 ?? 0f 11 45 ?? 0f 10 4d ?? 0f 11 4d ?? 66 0f 6f 05 ?? ?? ?? 00 f3 0f 7f 45 ?? 66 89 ?? ?? }
$b2 = { 8b c7 0f 57 c0 0f 11 44 24 ?? 4c 89 74 24 ?? 4d 8b c7 4c 89 74 24 ?? 48 8d 0c 40 48 8b ?? 24 ?? }
$b3 = { 48 8d ?? 27 48 83 ?? e0 48 89 ?? f8 48 89 ?? ?? ?? 8d ?? 00 20 00 00 ?? 89 ?? ?? 33 d2 41 b8 00 20 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? b9 04 01 00 00 ff 15 ?? ?? ?? 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 ?? ?? ?? ?? ?? 8d ?? ?? 66 66 66 0f 1f 84 00 00 00 00 00 }
$b4 = { 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 48 83 c1 f8 }
$b5 = { 48 8b 4e ?? e8 ?? ?? ?? 00 48 8d 7c 24 20 48 89 07 48 89 f9 e8 ?? ?? ?? ?? 48 8b 46 28 48 89 47 10 0f 10 46 18 0f 29 07 48 8b 0e e8 ?? ?? ?? 00 48 8d 7c 24 20 48 89 f9 e8 ?? ?? ?? ?? 48 8b 5e 08 48 8d 4b 18 e8 ?? ?? ?? ?? 48 c7 43 18 01 00 00 00 48 83 63 20 00 48 8b 46 08 48 89 07 48 8d 4c 24 20 e8 ?? ?? ?? ?? 90 48 83 c4 40 5b 5f 5e }
condition:
filesize > 500KB
and filesize
2CDA932F5A9DAFB0A328D0F9788BD89C
64F8E1B825887AFE3130AF4BF4611C21
A18D79E94229FDF02EF091CF974ED546
3F63951399F8CD578E2A6FAED2C9C0F0
4EDC0EFE1FD24F4F9EA234B83FCAEB6A
C2CBBD6E392A453A47DA69D086756E71
9F801240AF1124B66DEFCD4B4AE63F2A
FD380DB23531BB7BB610A7B32FC2A6D5
BD046164DAF3C30E265D4F9C6647F630
7ca94d84f4a02fb1f608818c1c3ab62d
11a6a4bfa63286feaeaf2c231ce769c3
Adf426e30f8a3383c6696d2f142907d3
F9a3a00b8772103ca109662b32d01934
495afbc7ebae07d50c529c1bd5889f54
491f619c358382872f87e1479c145a5e
0c706908df97857255252837ac1b90c9
D24cd19a50e6d574a0cfdfc07c6d22bb
91[.]132[.]92[.]60
138[.]124[.]184[.]174
148[.]72[.]168[.]13
148[.]72[.]171[.]171
199[.]127[.]60[.]236
45[.]227[.]254[.]26
80[.]66[.]88[.]203
91[.]240[.]118[.]29
152[.]89[.]196[.]111
194[.]26[.]29[.]102
185[.]11[.]61[.]114
23[.]83[.]133[.]104
23[.]108[.]57[.]151
64[.]44[.]102[.]190
20[.]99[.]133[.]109
20[.]99[.]185[.]48
13[.]107[.]4[.]50
192[.]229[.]211[.]108
23[.]216[.]147[.]64
23[.]216[.]147[.]76
64[.]44[.]135[.]135
162[.]159[.]130[.]233
162[.]159[.]134[.]233
162[.]159[.]133[.]233
108[.]177[.]127[.]94
108[.]177[.]119[.]95
108[.]177[.]126[.]132
23[.]106[.]215[.]210
23[.]108[.]57[.]1
157[.]254[.]194[.]99
23[.]106[.]123[.]15
23[.]82[.]140[.]10
23[.]106[.]215[.]64
23[.]108[.]57[.]240
23[.]19[.]58[.]94
23[.]108[.]57[.]94
23[.]81[.]246[.]200
108[.]62[.]118[.]197
23[.]106[.]160[.]141
23[.]106[.]223[.]200
108[.]62[.]118[.]180
23[.]82[.]140[.]122
108[.]177[.]235[.]187
64[.]44[.]102[.]207
45[.]147[.]230[.]83
64[.]44[.]102[.]133
64[.]44[.]102[.]127
108[.]62[.]141[.]243
64[.]44[.]102[.]19
108[.]62[.]118[.]131
64[.]44[.]98[.]232
23[.]108[.]57[.]213
jotuhup[.]com
zuvebeb[.]com
ceyuvigi[.]com
naporiz[.]com
xafehot[.]com
natuzujut[.]com
pucaxejun[.]com
napajep[.]com
nemucefah[.]com
jotuhup[.]com
jugiruturi[.]com
pijixepi[.]com
jahojahi[.]com
hakakebero[.]com
vezawahoy[.]com
sakogabu[.]com
xamayojir[.]com
tevokaxol[.]com
danimos[.]com
vosuxizen[.]com
lugociyah[.]com
duladani[.]com
bukifide[.]com
wijakezada[.]com
yuzowul[.]com
dehelibe[.]com
yavahiyil[.]com
rikukof[.]com
rabihino[.]com
talulime[.]com
http[:]//repairdll[.]net/jHKIOEyC/