El viaje gemelo, parte 1


Resumen e Introducción:

Los cambios recientes en Windows 10, con el objetivo de agregar mayúsculas y minúsculas (CS) a nivel de directorio, han despertado nuestra curiosidad por investigar la posibilidad de utilizar CS como medio de ofuscación o WYSInorteWYG (lo que ves es NO Lo que obtienes). Si bien CS period nuestro punto de entrada, nos aventuramos en otras técnicas de nomenclatura de archivos para lograr resultados similares.

Las amenazas y los equipos rojos pueden incluir estas técnicas en su arsenal para ejecutar varias versiones de trucos de persistencia, evasión de escaneo, derivación de seguridad o, en casos extremos, hacer que el sistema sea totalmente inutilizable.

Como parte de este blog site, utilizamos el término «gemelos malvados» para describir un escenario en el que 2 archivos en el disco se crean utilizando técnicas específicas de denominación de archivos para confundir los mecanismos de seguridad, lo que lleva al escrutinio del gemelo bueno mientras el gemelo malvado vuela por debajo del radar.

Esto es parte de una serie que explorará cada uno de los diferentes escenarios y técnicas que investigamos.

Evil Twins y WSL (subsistema de Windows para Linux) al rescate

Subsistema de Home windows Linux presenta un conjunto de nuevas funciones interesantes y proporciona interoperabilidad entre Linux y Windows, incluida la capacidad de ejecutar archivos ELF.

Hace algún tiempo, la distinción entre mayúsculas y minúsculas estaba habilitada de manera predeterminada cuando se usaba DRVFS, el controlador del sistema de archivos que permite montar unidades de Windows. (C: , D: ) de una instancia de WSL.

Después de algunas versiones internas, se eliminó y la distinción entre mayúsculas y minúsculas cambió con el tiempo en términos de herencia CS, incluida la restricción para cambiar la sensibilidad de las carpetas que ya tienen «gemelos».

La siguiente técnica se basa en la capacidad de montar DRVFS con circumstance = power que literalmente anulará cualquier conjunto de mayúsculas y minúsculas para cualquier directorio.

Cualquier atacante que tenga derechos de administrador y quiera alcanzar cualquiera de los siguientes objetivos puede confiar en este enfoque para:

  • Persistir y ocultar archivos
  • Hacer el sistema operativo inutilizable
  • Detenga el inicio de muchos productos (incluso si tienen otros tipos de protección).
  • Alterar dlls cargados para controlar las aplicaciones.

Este escenario se basa en la premisa de que WSL y una distribución de Linux están instalados. En caso de que no se cumplan esos requisitos, guiones que automaticen ese proceso, o incluso que importen su distribución personalizada.

Para escenarios complejos en los que se requiere instalar WSL e importar una distribución, aunque es posible diferenciar programáticamente cualquier adversario e incluso eliminar WSL, seguirá siendo muy ruidoso en términos de actividades sospechosas si la estación de trabajo no pertenece a un desarrollador, por ejemplo . A medida que pase el tiempo, muchas empresas que tienen desarrollo de Linux incluirán WSL como parte de los conceptos básicos diarios para estaciones de trabajo de desarrolladores, servidores, and many others.

Los pasos de ejecución incluirían algo como:

  1. Habilitar WSL
  2. Compruebe si ya hay una distribución instalada / instálela si falta
  3. Busque LXSS y energetic el indicador de fuerza DRVFS
  4. Dependiendo de cómo se creará el gemelo, puede hacer varias cosas:
    1. Cree un archivo conf de WSL con opciones de montaje automático. Esto es opcional ya que puede volver a montar la carpeta / mnt / c con nuevas opciones.
    2. Copie archivos de la carpeta rootfs en Windows para preservar los permisos (leer / ejecutar / etcetera.) sin interferir con las ACL en el lado de Linux.
      1. Enfoque n. ° 1: Cree los archivos adecuados sin iniciar bash hasta el final (solo tocando los archivos de Windows): Ej: uno de los scripts simplemente copia el archivo de entorno y, si está vacío, agrega algo de contenido, por lo que se ejecuta desde bashrc la próxima vez que se lance bash.
      2. Enfoque n. ° 2: cree los archivos adecuados desde bash en sí mismo, para que no tenga que meterse con los permisos (esto dependerá de cómo se alertará a los sistemas al detectar la ejecución de bash, etcetera.)
    3. Terminar instancias de WSL.
    4. Inicie bash (mediante una tarea, ejecución automática o simplemente como parte del script de PowerShell)
      1. Desde aquí puede ejecutar comandos en el ejemplo POC, dependiendo de los argumentos del script Los comandos a ejecutar son del archivo / and so forth / bashrc.
      2. VOILA, el script creará una carpeta o copiará el dll gemelo en una carpeta no habilitada para cs, promoviendo así al gemelo como el archivo a buscar la próxima vez.

Script de muestra:

Ejecutando la técnica para implantar un dll Evil Twin: (reemplazando IEPROXY.dll por un simulacro que solo cambiará el fondo)

El implante IEPROXY.DLL surte efecto😊

Vea el video clip grabado por nuestro experto Cedric Cochin, que ilustra toda la técnica:

(incrustar) https://www.youtube.com/enjoy?v=ncI7yHrwuSI (/ incrustar)

Los resultados de esta técnica incluyen:

  • Una pieza de ransomware que crea la carpeta doble C: Windows Procedure32 y no permite un arranque typical.
  • Un ataque dirigido podría crear un IEPROXY.DLL, por lo que la próxima vez que una aplicación cargue el dll, cargará el dll comprometido.
  • Un ataque dirigido podría crear un C: Archivos de programa (VENDEDOR FAVORITO) para deshabilitar dicha aplicación, si la aplicación no es appropriate con CS / compatible

Protección y detección con productos McAfee:

  • Mediante el uso Reglas de expertos de Endpoint Security, se puede proteger la clave de registro necesaria para ejecutar todo el flujo de trabajo.
  • Respuesta activa:
    • Configure un desencadenador para recibir notificaciones de esta situación cada vez que se modifique esta clave de registro o un archivo
      • Desencadenador de archivos con condición: el nombre de los archivos es igual a wsl.conf ”
      • Activador de registro con condición: la ruta de acceso de WinRegistry comienza con HKLM Technique ControlSet001 Products and services lxss
    • Recopilador personalizado: script de PowerShell que puede encontrar nombres duplicados en una carpeta. (Escanear todo el disco puede demorar más ese tiempo de espera de búsqueda)
    • Recopilador de archivos si está habilitado, buscando modificaciones wsl.conf.
      • «Archivos donde el nombre de los archivos es igual a wsl.conf»
    • WinRegistry Collector:
      • «WinRegistry donde WinRegistry keypath comienza con HKLM System ControlSet001 Companies lxss»
  • MVISION EDR:
    • Recopilador de archivos si está habilitado, buscando modificaciones wsl.conf.
      • «Archivos donde el nombre de los archivos es igual a wsl.conf»
    • WinRegistry Collector:
      • «WinRegistry donde WinRegistry keypath comienza con HKLM Process ControlSet001 Providers lxss»

  • Actividad de búsqueda histórica

Artefactos involucrados:

  • Modificación de HKLM: System CurrentControlSet Products and services lxss DrvFsAllowForceCaseSensitivity
  • Ejecución de Bash
  • Creación de una nueva carpeta / dll (gemela)
  • Opcional:
    • Creación de /and so forth/wsl.conf (se puede rastrear desde la carpeta rootfs de Windows)
    • Ejecución de wslconfig / t para terminar instancias
    • Instalación / descarga de distribución de Linux o importación de archivos tar
    • WSL habilitado





Enlace a la noticia primary