/
Contención de Ransomware

Desmitificación de técnicas de ransomware usando Ensambladas.net: un ataque de varias etapas

En primera parte de esta serie, analizamos ejemplos de capacidades de programación que pueden ser utilizadas por ransomware en sus técnicas maliciosas. Luego en segunda parte, también examinamos los fundamentos de Microsoft .Net marco de software y ensamblajes asociados de EXE y DLL para comprender cómo se hacen posibles estas capacidades.

En esta parte final, combinaremos todo lo que se ha discutido hasta ahora en un conjunto de cargas útiles por etapas para demostrar los fundamentos de un ataque de carga útil de múltiples etapas.

Configuración de carga útil y ataque

Comenzamos por establecer las cargas útiles que se utilizarán para el ataque. Todas las capacidades anteriores, incluidas las nuevas, serán tomadas en cuenta para crear las cargas útiles por etapas. Esto es para demostrar en general cómo se pueden armar las diferentes tácticas y técnicas que hemos visto hasta ahora, como suele ser el caso del ransomware.

Vamos a utilizar las siguientes cargas útiles:

  • Aplicación EXE inicial: carga útil de Stager
  • EXE principal del ransomware: carga útil de la etapa 1
  • 2y DLL principal del ransomware: carga útil de la etapa 2

El uso de múltiples cargas útiles para realizar diferentes tareas en este ejemplo de ataque constituye un ataque de varias etapas. Mirando hacia atrás a la serie anterior sobre cargas útiles de malware y balizas, segunda parte discutió los tipos de cargas útiles maliciosas con más detalle. Allí, expliqué la diferencia entre un tipo de carga útil por etapas versus un tipo de carga útil por etapas. En resumen, un stager es una aplicación ejecutable inicial a menudo más pequeña que puede actuar como descargador, gotero y/o carga útil para un archivo de carga útil principal más capaz y a menudo más grande conocido como el escenario. El propósito de la carga útil de la etapa es configurar el escenario principal. En este ejemplo de ataque, usando la estadificación de carga útil como se describe anteriormente, las diferentes cargas útiles tendrán las diversas tareas de la siguiente manera:

La carga útil de Stager EXE hará lo siguiente:

  • Técnicas de evasión
  • Descarga dos archivos de 'texto' al disco. Estos archivos son, de hecho, un EXE y DLL.
  • Lanzar el 2y Archivo EXE
  • El escenario entonces sale
  • La carrera 2y EXE (etapa 1) carga la DLL (etapa 2)

A continuación, las cargas útiles de EXE y DLL de la Etapa 2 de la Etapa 1 realizan las siguientes acciones maliciosas de ransomware:

  • Técnicas de evasión
  • Descubrimiento
  • Manipulación de procesos
  • Enumeración de unidades y archivos
  • Cifrado de archivos

Stager: ejecutable de carga útil inicial (EXE)

El ataque comienza con nuestra carga útil inicial, la etapa entregada a la máquina víctima. A menudo esto es a través de técnicas de ingeniería social como el phishing. Una vez que se entrega y se ejecuta la carga útil inicial, comenzará a ejecutar el conjunto malicioso de instrucciones.

Evasión

Primero esperará un tiempo especificado sin realizar ninguna acción. Esta es una técnica de evasión diseñada para durar más que el análisis de amenazas de máquinas virtuales. Después de esto, descargará un conocido ejecutable de Internet como una aplicación de bloc de notas. Se trata de un señuelo y otra táctica de evasión para evitar la detección.

Ransomware Attack Sequence: Initial Payload - Stager

Otras técnicas pueden incluir la comprobación de clics del mouse o la comprobación de directorios de documentos en busca de evidencia de archivos asociados con el uso normal de un sistema informático en lugar de una máquina virtual sandbox utilizada para el análisis de amenazas.

Descargador, gotero y cargador

Una vez que se hayan ejecutado estas acciones de evasión iniciales, la carga útil de stager (inicial) volverá a ejecutar una tercera acción de suspensión. Esperará nuevamente por un tiempo especificado antes de continuar con el siguiente conjunto de instrucciones que será descargar los archivos de carga útil de la etapa. Estos archivos son alojados remotamente por el atacante como se muestra a continuación.

Ransomware Attack Sequence: Virtual File System Downloader

Luego, el stager procede a descargar dos archivos de texto “notepadlog0120231224.txt” y “notepadlog0120231513.txt”. Esta siguiente fase se muestra en texto rojo en el siguiente ejemplo.

Observe que los enlaces de descarga para los archivos de carga útil en realidad están ofuscados utilizando la codificación base64, que se discutió como la cuarta técnica en el primera parte de esta serie.

Ransomware Attack Sequence: Initial Payload - Stager Downloading

La carga útil inicial convierte el base64 internamente sobre la marcha a los enlaces de descarga originales.

Los dos archivos de texto descargados son en realidad un ejecutable (EXE) y una biblioteca de vínculos dinámicos (DLL) respectivamente, disfrazados de archivos de texto. Estas son las cargas útiles de etapa 1 y etapa 2 para este ejemplo de ataque de ransomware de varias etapas. Cuando las descargas se realizan correctamente, estos archivos se renombran a sus tipos originales.

Ransomware Attack Sequence: Notepad

Luego, la carga útil del stager inicia la carga útil ejecutable de la etapa 1 para comenzar el ataque de ransomware real. El stager ahora ha completado su propósito y sale una vez que la carga útil de la etapa 1 se carga en la memoria y comienza a ejecutarse. Entonces, como se discutió en la primera técnica en primera parte de esta serie, esta carga útil de etapa inicial es el descargador y gotero para la carga útil de la etapa 1 EXE y la etapa 2 de la DLL y el cargador solo para la carga útil de la etapa 1. La carga útil de DLL se cargará como una carga útil de etapa 2 por la carga útil EXE de la etapa 1 que ahora se ejecuta, por lo tanto, un ataque de carga útil de varias etapas.

Etage-1 ejecutable (EXE)

Una vez que la ejecución se ha pasado al ejecutable de la etapa 1, primero se pondrá en reposo durante un período de tiempo específico como se muestra a continuación.

Ransomware Attack Sequence: EXE Payload Stage 1

Luego eliminará el archivo de carga útil del stager”payload_initial_stager.exe” del filesystem como un medio para eliminar cualquier evidencia. En el siguiente ejemplo, el archivo se ha eliminado y ya no está en el directorio.

Ransomware Attack Sequence: Downoad Folder

La carga útil de la etapa 1 ahora está lista para ejecutar su conjunto de acciones para continuar el resto del ataque.

Descubrimiento

A continuación, realizará algunas técnicas de descubrimiento en el sistema infectado. Estas técnicas de descubrimiento permiten que un actor de amenazas comprenda un poco más sobre el sistema infectado. El descubrimiento ayuda al operador de amenazas a tomar ciertas consideraciones cruciales de seguridad operacional para asegurar el éxito general del ataque. En este ejemplo, la carga útil de la etapa 1 realiza una comprobación de la lista de procesos. Algunos procesos que podrían ser de interés serán Endpoint Detection and Response (EDR), antivirus (AV) o procesos de máquinas virtuales. Estos ayudan a comprender la probabilidad de que se detecte la carga útil.

Ransomware Attack Sequence: EXE Payload Discovery

En función de los resultados de la información de descubrimiento, un actor de amenazas puede tomar algunas decisiones importantes de seguridad operacional. Por ejemplo, si se encuentra un proceso EDR conocido en el sistema o si la carga útil detecta procesos de máquina virtual, entonces se le puede dar instrucciones a la carga útil para que salga para evitar la detección.

Ransomware Attack Sequence: Actor Deploys EDR

Alternativamente, el actor de amenaza puede decidir emplear técnicas de evasión adicionales para evadir el EDR o incluso intentar utilizar otros medios para terminar el proceso de EDR por completo.

El descubrimiento también ayuda a determinar qué tan valioso podría ser el sistema comprometido. Por ejemplo, ¿es un servidor de base de datos de producción o un sistema de pago con datos valiosos del cliente? Cuanto más crítico sea el sistema para un negocio, más probable será que se pague un rescate por ello.

Manipulación de procesos: binarios Living-off-the-Land (LotL)

Otro conjunto de información útil es la información relacionada con el sistema, como el sistema operativo, la configuración regional del idioma y las revisiones y actualizaciones instaladas o que faltan en el sistema. Este tipo de información puede ayudar a planificar ataques adicionales, como exploits de vulnerabilidad.

Suponiendo que no se encontró el proceso EDR, la carga útil continuará porque el actor de amenazas puede estar seguro de lidiar con otros. Entonces, después de verificar la información del proceso, la carga útil ejecutable de la etapa 1 utiliza una técnica Living-off-the-Land y lanza un indicador de comando separado de Windows como se muestra en el siguiente ejemplo.

Ransomware Attack Sequence: Actor Deploys EDR Virtual Machine Processes

Después de iniciar la línea de comandos, la carga útil le pasa algunos comandos de Windows para que se ejecute. Este comando generará información del sistema, como el tipo de sistema, la información del procesador, el tiempo de actividad y las revisiones. Una instantánea de la salida se muestra en texto rojo en el siguiente ejemplo.

Ransomware Attack Sequence: Stage 1 LotL Binaries

Biblioteca de vínculos dinámicos (DLL) de la etapa 2

Como se discutió en los artículos anteriores, un archivo DLL contiene código de computadora que no se puede ejecutar por sí mismo. Entonces, en nuestro ejemplo, el EXE de la etapa 1 también usa código en la DLL de la etapa 2 para terminar el resto del ciclo de ataque.

Etage-1 EXE cargando carga útil de DLL de la etapa 2

Una vez que la carga útil EXE de la etapa 1 completa sus acciones, procede a cargar la carga útil de DLL de la etapa 2. La carga útil DLL contiene el código que se utilizará para las etapas finales del ataque, que es para verificar las unidades en el sistema y luego cifrar los archivos seleccionados en esas unidades.

Ransomware Attack Sequence: CMD Started

El código DLL primero ejecuta una comprobación de unidad para encontrar las unidades en el sistema infectado, enumerando información útil sobre cada una. De la pantalla anterior, de particular interés es la información sobre las unidades en el sistema que están listas para el acceso frente a las que no lo están. Esto ayuda a orientar los archivos en las unidades correctas para el cifrado y evitar errores al intentar operar en unidades que son de sólo lectura o a las que no se puede acceder.

Cifrado

En este punto, el cifrado para el rescate ya está listo para seguir adelante. El código de cifrado de la DLL de la etapa 2 primero comprueba si hay una lista de archivos de texto en el directorio. Esto se debe a que estaremos encriptando sólo archivos de texto en esta última demostración. A continuación, la carga útil muestra todos los archivos de texto que se encontraron.

Ransomware Attack Sequence: Stage 2 DLL

A continuación, los archivos descubiertos son cifrados por la carga útil. Las extensiones de archivo también se cambian a”.encriptado” para mostrar los archivos de texto cifrados.

Ransomware Attack Sequence: DLL Encrypted

A continuación, también podemos ver las imágenes de antes y después del directorio donde se encuentran los archivos de texto, mostrando los cambios después del cifrado.

Ransomware Attack Sequence: Encrypted Files in Downloads Folder

Finalmente viene la nota de rescate: Esto generalmente alerta al usuario sobre el hecho de que sus archivos han sido cifrados. También les instruye sobre cómo pagar el rescate y obtener la clave de descifrado para descifrar los archivos. En muchos casos, pagar el rescate no garantiza automáticamente obtener acceso a la clave de descifrado.

Ransomware Attack Sequence: Multi-stage Payload Ransom

Observe que en nuestro ejemplo, optamos por poner todo el código de cifrado en un archivo DLL que se convirtió en nuestra carga útil de etapa 2. Esto se debe principalmente a que, como se discutió en los artículos anteriores, una DLL es un archivo de biblioteca, lo que significa que se puede reutilizar. Por ejemplo, si como atacante elegimos usar una carga útil EXE de etapa 1 completamente diferente, tal vez debido a nuevas mejoras de evasión en el futuro, no tenemos que volver a escribir la parte de cifrado de nuestro código de carga útil para finalizar esa nueva campaña de ataque. Simplemente podemos emparejar nuestra nueva carga útil con el archivo DLL de la etapa 2 existente y hacer que el nuevo EXE cargue la DLL para cifrar los archivos.

Mitigación contra ransomware

En última instancia, el ransomware empleará tres fronteras principales de infección, ejecución y persistencia.

Estos pueden ser categorizados en términos generales como:

  • Sistema de archivos
  • Registro
  • Memoria
  • Rojo (remota y local — movimiento lateral)

Por lo tanto, los defensores deben proseguir la creación de los conjuntos de herramientas y utilizarlos de la manera correcta para corregir la seguridad de manera efectiva. En tercera parte de la serie anterior sobre cargas útiles y balizas de malware, hay una revisión más detallada de la mitigación en profundidad de la defensa basada en la filosofía de asumir la brecha y la ciberresiliencia.

Esta serie de tres partes ha sido demostró cómo pueden llegar a existir las diferentes tácticas y técnicas que usa el malware y en específico el ransomware. Al comprender estas diferentes tácticas y técnicas, los defensores pueden estar mejor situados para evaluar sus políticas y defensas ciberéticas existentes para contramedidas operativas.

¿Desea obtener más información sobre la protección de su organización contra el ransomware y las brechas? Contact with us hoy.

Temas relacionados

No se han encontrado artículos.

Artículos relacionados

9 razones para usar Illumio para la contención de ransomware
Contención de Ransomware

9 razones para usar Illumio para la contención de ransomware

Descubra cómo la visibilidad en tiempo real y los sencillos controles de Illumio reducirán rápidamente sus mayores fuentes de riesgos de ransomware, como los puertos RDP no utilizados.

Evaluación de vulnerabilidades para detener el ransomware
Contención de Ransomware

Evaluación de vulnerabilidades para detener el ransomware

Nombre:WRECK Takeaways: cómo la microsegmentación puede ayudar con la visibilidad y la contención
Contención de Ransomware

Nombre:WRECK Takeaways: cómo la microsegmentación puede ayudar con la visibilidad y la contención

Cómo la microsegmentación puede ayudar con la visibilidad y la contención para evitar vulnerabilidades WRECK, ejecución remota de código o denegación de servicio.

Cargas útiles y balizas de malware: cómo comienzan las comunicaciones maliciosas
Ciberresiliencia

Cargas útiles y balizas de malware: cómo comienzan las comunicaciones maliciosas

Las balizas de malware son la forma en que un atacante puede ejecutar malware a través de un script. Reconocer ellos ayuda a desarrollar estrategias de detección y contención.

Cargas útiles y balizas de malware: tipos de cargas maliciosas
Ciberresiliencia

Cargas útiles y balizas de malware: tipos de cargas maliciosas

Comprender distintos tipos de cargas útiles y revisar un ejemplo de código malicioso que pueden emplear.

Cargas útiles y balizas de malware: técnicas para la corrección del impacto
Ciberresiliencia

Cargas útiles y balizas de malware: técnicas para la corrección del impacto

En la parte final de esta serie, nos enfocamos en algunas de las técnicas de ofuscación utilizadas para disfrazar las cargas útiles de malware y examinar las técnicas de mitigación que las organizaciones pueden emplear.

Assume Breach.
Minimize Impact.
Increase Resilience.

Ready to learn more about Zero Trust Segmentation?