El ransomware es un tipo de malware que se ha vuelto casi epidémico en los últimos años. Los consumidores y las empresas están siendo golpeados con este malware en todo el mundo. Después de infectar la computadora de la víctima, este malware encripta los datos de la víctima y los deja inutilizables. La víctima solo puede recuperar sus datos después de pagar un rescate (de ahí su nombre) para obtener la clave de los ciberdelincuentes para descifrarla. En general, los rescates son relativamente pequeños, generalmente en el rango de $ 300-500 para los consumidores, pero ha habido casos en que los hospitales y otras grandes instituciones han pagado $ 20,000 o más.
Echemos un vistazo a un ejemplo de un ransomware real que fue capturado en la naturaleza para comprender mejor cómo funciona. Este es un buen ejemplo de cómo la ingeniería inversa puede ayudarnos a comprender cómo funciona realmente el malware. Aunque cada una de las variantes del ransomware es ligeramente diferente, tienden a funcionar de manera similar. En este caso, echemos un vistazo a Chimera, una variante del género de malware ransomware que se encuentra en Alemania.
Usando quimera como ejemplo
La mayoría del ransomware se ha utilizado contra los consumidores, pero la quimera se ha utilizado principalmente para atacar a las empresas en Alemania. Dado que la mayoría del ransomware funciona de manera similar, podemos usar Chimera como modelo de cómo funciona el ransomware, en general.
En este análisis, resumiré cómo funciona la Quimera, dejando de lado algunos pasos en aras de la brevedad. Si desea una copia de Quimera para realizar su propio análisis exhaustivo, la he publicado en mi cuenta de Pastebin aquí.
Paso 1: entrega del malware
Al igual que gran parte del ransomware que ha aparecido en los últimos años, Chimera se entregó por correo electrónico, probablemente con un componente de ingeniería social para que alguien haga clic en un enlace o un archivo. Quimera fue escrita en .NET.
En esta primera etapa, Chimera inicialmente entrega un trozo ejecutable, cuyo único trabajo es llamar, descifrar y decodificar la carga útil de la segunda etapa en la máquina de la víctima (ver Paso # 8).
Paso 2: el algoritmo AES
La segunda etapa es la carga útil cifrada y codificada que contiene un método que es claramente un algoritmo de cifrado AES. Es muy probable que los ciberdelincuentes lo ejecuten en múltiples hilos para acelerar el proceso. Para las empresas con petabytes de datos, sería necesario un proceso de subprocesos múltiples para cifrar los archivos rápidamente antes de ser detectados.
Paso 3: asignación a la memoria
En la siguiente etapa, Chimera luego asigna manualmente sus procesos a la memoria. Es muy probable que esto pase por alto las protecciones ASLR (asignación de espacio de direcciones al azar) y DEP (prevención de ejecución de datos) que están integradas en Windows y otros sistemas operativos. Estas protecciones aleatorizan el lugar donde probablemente se ubicará un proceso en la memoria, lo que dificulta la implementación de un desbordamiento del búfer. ASLR y DEP lo dificultan ya que el malware no puede predecir la ubicación del puntero de ejecución. Al asignar manualmente el proceso a la memoria, aumenta la probabilidad de que el malware funcione como se esperaba.
Paso 4: Encuentre el proceso de 32 bits para alojar
A continuación, Chimera revisa todos los procesos de Windows en busca de un proceso de 32 bits que pueda alojar su carga útil y luego abrirla.
Paso 5: Encontrar la IP local
En el siguiente paso, Chimera sale y encuentra la IP pública de la máquina que ha infectado usando www.whatismyipaddress.com. Luego almacena ese valor en una variable.
Paso 6: vuelva a llamar a los servidores de comando y control
Una vez que Chimera tiene la IP del host infectado, llama a sus servidores de comando y control (C&C). En este caso, esos servidores están en 95.165.168.168 y 158.222.211.81.
Chimera utiliza Bitmessage para comunicarse a través de un protocolo P2P en los puertos 8444 y 8080. Bitmessage es un sistema de mensajería P2P seguro y encriptado que permite que una sola máquina envíe mensajes a uno o varios destinatarios. Puede ver en la siguiente captura de pantalla que Chimera llama al cliente de Bitmessage PyBitmessage.
Paso 7: busque y encuentre discos duros, luego archivos
Antes de comenzar el proceso de cifrado, Chimera debe encontrar los discos duros (u otros dispositivos) donde se almacenan los datos. Necesita explorar cada una de las unidades lógicas y luego almacenar estas ubicaciones en una variable para su uso posterior en el proceso de cifrado.
Paso 8: obtener clave aleatoria
Ahora que Chimera se ha hecho cargo con éxito de un proceso de 32 bits, se asignó a la memoria (para evitar ASLR) y enumeró los discos duros, a continuación debe volver a llamar a su servidor de comando y control (C&C) para obtener una clave aleatoria con para encriptar los archivos.
Una vez que se obtiene la clave aleatoria del servidor de comando y control, Chimera llama a la función del Paso # 2 anterior, el algoritmo de cifrado AES, y comienza a cifrar archivos críticos.
Antes de que comience el cifrado, busca los siguientes tipos de archivos:
.jpg, .jpeg, .xml, .xsl, .wps, .cmf, .vbs, .accdb, .ini, .cdr, .svg, .conf, .config, .wb2, .msg, .azw, .azw1 , .azw3, .azw4, .lit, .apnx, .mobi, .p12, .p7b, .p7c, .pfx, .pem, .cer, .key, .der, .mdb, .htm, .html,. clase, .java, .asp, .aspx, .cgi, .php, .jsp, .bak, .dat, .pst, .eml, .xps, .sqllite, .sql, .jar, .wpd, .crt, .csv, .prf, .cnf, .indd, .number, .pages, .x3f, .srw, .pef, .raf, .rf, .nrw, .nef, .mrw, .mef, .kdc, .dcr , .crw, .eip, .fff, .iiq, .k25, .crwl, .bay, .sr2, .ari, .srf, .arw, .cr2, .raw, .rwl, .rw2, .r3d,. 3fr, .eps, .pdd, .dng, .dxf, .dwg, .psd, .png, .jpe, .bmp, .gif, .tiff, .gfx, .jge, .tga, .jfif, .emf, .3dm, .3ds, .max, .obj, .a2c, .dds, .pspimage, .yuv, .3g2, .3gp, .asf, .asx, .mpg, .mpeg, .avi, .mov, .flv , .wma, .wmv, .ogg, .swf, .ptx, .ape, .aif, .av, .ram, .m3u, .movie, .mp1, .mp2, .mp3, .mp4, .mp4v,. mpa, .mpe, .mpv2, .rpf,.vlc, .m4a, .aac, .aa3, .amr, .mkv, .dvd, .mts, .vob, .3ga, .m4v, .srt, .aepx, .camproj, .dash, .zip, .rar , .gzip,., mdk, .mdf, .iso, .bin, .cue, .dbf, .erf, .dmg, .toast, .vcd, .ccd, .disc, .nrg, .nri, .cdi
Es probable que estos tipos de archivos sean críticos para la operación comercial. Estos son archivos de gráficos, archivos de hojas de cálculo, archivos de bases de datos, archivos de copia de seguridad, archivos de correo electrónico, archivos Java, archivos de audio, archivos de películas y claves de cifrado. Sin ellos, el negocio quedaría paralizado.
Paso 9: solicitud de rescate
Finalmente, Chimera hace una solicitud de rescate al dueño del negocio. Tenga en cuenta que el navegador y sus archivos asociados están exentos del cifrado para habilitar la solicitud del navegador y recibir el pago del rescate.
Espero que este breve tutorial lo ayude a comprender cómo funciona el ransomware, pero también a comprender el valor del malware de ingeniería inversa . Ahora, con este entendimiento, podemos desarrollar defensas contra este tipo de malware o rediseñarlo y rediseñarlo tal como lo hace la CIA y casi todos los desarrolladores de malware.
Para obtener más información sobre Malware de ingeniería inversa, eche un vistazo a mi serie, Malware de ingeniería inversa .
Fuente: hackers-arise.com