Microsoft ha detectado múltiples exploits de día cero que se utilizan para atacar versiones locales de Microsoft Exchange Server en ataques limitados y dirigidos. En los ataques observados, el actor de la amenaza utilizó estas vulnerabilidades para acceder a los servidores de Exchange locales que permitieron el acceso a las cuentas de correo electrónico y permitieron la instalación de malware adicional para facilitar el acceso a largo plazo a los entornos de las víctimas. El Centro de Inteligencia de Amenazas de Microsoft (MSTIC) atribuye esta campaña con gran confianza a HAFNIUM , un grupo evaluado como patrocinado por el estado y que opera fuera de China, según la victimología, las tácticas y los procedimientos observados.

Las vulnerabilidades que se explotaron recientemente fueron CVE-2021-26855, CVE-2021-26857, CVE-2021-26858 y CVE-2021-27065, todas las cuales se abordaron en la versión de hoy del Centro de respuesta de seguridad de Microsoft (MSRC): actualizaciones de seguridad múltiples Publicado para Exchange Server . Instamos encarecidamente a los clientes a actualizar los sistemas locales de inmediato. Exchange Online no se ve afectado.

Compartimos esta información con nuestros clientes y la comunidad de seguridad para enfatizar la naturaleza crítica de estas vulnerabilidades y la importancia de parchear todos los sistemas afectados de inmediato para protegerlos contra estas vulnerabilidades y prevenir futuros abusos en todo el ecosistema. Este blog también continúa nuestra misión de arrojar luz sobre los actores malintencionados y dar a conocer las tácticas y técnicas sofisticadas que se utilizan para apuntar a nuestros clientes. Las IOC relacionadas, las consultas de búsqueda avanzada de  Azure Sentinel y las detecciones y consultas de productos de Microsoft Defender for Endpoint que se comparten en este blog ayudarán a los SOC a buscar de manera proactiva la actividad relacionada en sus entornos y elevar las alertas para su corrección.

Microsoft desea agradecer a nuestros colegas de la industria en Volexity y Dubex por informar sobre diferentes partes de la cadena de ataque y su colaboración en la investigación. Volexity también ha publicado una publicación de blog con su análisis. Es este nivel de comunicación proactiva e intercambio de inteligencia lo que permite a la comunidad unirse para adelantarse a los ataques antes de que se propaguen y mejorar la seguridad para todos.

¿Quién es HAFNIUM?

HAFNIUM se dirige principalmente a entidades en los Estados Unidos en una serie de sectores industriales, incluidos investigadores de enfermedades infecciosas, bufetes de abogados, instituciones de educación superior, contratistas de defensa, grupos de expertos en políticas y ONG.

HAFNIUM ha comprometido previamente a las víctimas mediante la explotación de vulnerabilidades en servidores con acceso a Internet y ha utilizado marcos legítimos de código abierto, como Covenant , para el mando y control. Una vez que han obtenido acceso a una red de víctimas, HAFNIUM normalmente extrae datos a sitios de intercambio de archivos como MEGA .

En campañas no relacionadas con estas vulnerabilidades, Microsoft ha observado HAFNIUM interactuando con la víctima. Oficina 365inquilinos. Si bien a menudo no logran comprometer las cuentas de los clientes, esta actividad de reconocimiento ayuda al adversario a identificar más detalles sobre los entornos de sus objetivos.

HAFNIUM opera principalmente desde servidores privados virtuales (VPS) arrendados en los Estados Unidos.

Detalles técnicos

Microsoft proporciona los siguientes detalles para ayudar a nuestros clientes a comprender las técnicas utilizadas por HAFNIUM para explotar estas vulnerabilidades y permitir una defensa más eficaz contra cualquier ataque futuro contra sistemas sin parches.

CVE-2021-26855 es una vulnerabilidad de falsificación de solicitudes del lado del servidor (SSRF) en Exchange que permitió al atacante enviar solicitudes HTTP arbitrarias y autenticarse como el servidor de Exchange.

CVE-2021-26857 es una vulnerabilidad de deserialización insegura en el servicio de mensajería unificada. La deserialización insegura es cuando un programa deserializa datos no confiables y controlables por el usuario. La explotación de esta vulnerabilidad le dio a HAFNIUM la capacidad de ejecutar código como SYSTEM en el servidor Exchange. Esto requiere permiso de administrador u otra vulnerabilidad para explotar.

CVE-2021-26858 es una vulnerabilidad de escritura de archivo arbitrario posterior a la autenticación en Exchange. Si HAFNIUM pudiera autenticarse con el servidor de Exchange, entonces podrían usar esta vulnerabilidad para escribir un archivo en cualquier ruta del servidor. Podrían autenticarse explotando la vulnerabilidad SSRF CVE-2021-26855 o comprometiendo las credenciales de un administrador legítimo.

CVE-2021-27065 es una vulnerabilidad de escritura de archivo arbitrario posterior a la autenticación en Exchange. Si HAFNIUM pudiera autenticarse con el servidor de Exchange, entonces podrían usar esta vulnerabilidad para escribir un archivo en cualquier ruta del servidor. Podrían autenticarse explotando la vulnerabilidad SSRF CVE-2021-26855 o comprometiendo las credenciales de un administrador legítimo.

Detalles del ataque

Después de explotar estas vulnerabilidades para obtener acceso inicial, los operadores de HAFNIUM implementaron shells web en el servidor comprometido. Los shells web permiten potencialmente a los atacantes robar datos y realizar acciones maliciosas adicionales que conducen a un mayor compromiso. A continuación, se muestra un ejemplo de un shell web implementado por HAFNIUM, escrito en ASP:

Captura de pantalla del código de shell web

Después de la implementación del shell web, los operadores de HAFNIUM realizaron la siguiente actividad posterior a la explotación:

  • Usando Procdump para volcar la memoria del proceso LSASS:
  • Uso de 7-Zip para comprimir datos robados en archivos ZIP para su exfiltración:
  • Agregar y usar complementos de Exchange PowerShell para exportar datos del buzón:
  • Usando el shell inverso Nishang Invoke-PowerShellTcpOneLine:
  • Descargando PowerCat de GitHub, luego usándolo para abrir una conexión a un servidor remoto:

Los operadores de HAFNIUM también pudieron descargar la libreta de direcciones sin conexión de Exchange de los sistemas comprometidos, que contiene información sobre una organización y sus usuarios.

Nuestro blog, Defendiendo los servidores de Exchange bajo ataque , ofrece consejos para mejorar las defensas contra el compromiso del servidor de Exchange. Los clientes también pueden encontrar orientación adicional sobre ataques de shell web en nuestro blog. Los ataques de shell web continúan aumentando.

¿Puedo determinar si esta actividad me ha comprometido?

Las siguientes secciones proporcionan indicadores de compromiso (IOC), orientación de detección y consultas de búsqueda avanzadas para ayudar a los clientes a investigar esta actividad mediante los registros del servidor Exchange, Azure Sentinel, Microsoft Defender for Endpoint y Microsoft 365Defensor. Alentamos a nuestros clientes a realizar investigaciones e implementar detecciones proactivas para identificar posibles campañas anteriores y prevenir campañas futuras que puedan apuntar a sus sistemas.

Verifique los niveles de parche de Exchange Server

El equipo de Microsoft Exchange Server ha publicado una publicación de blog sobre estas nuevas actualizaciones de seguridad que proporciona un script para obtener un inventario rápido del estado del nivel de parche de los servidores de Exchange locales y responder algunas preguntas básicas sobre la instalación de estos parches.

Escanee los archivos de registro de Exchange en busca de indicadores de compromiso

El equipo de Exchange Server ha creado una secuencia de comandos para ejecutar una verificación de los IOC de HAFNIUM para abordar los problemas de rendimiento y memoria. Ese script está disponible aquí: https://github.com/microsoft/CSS-Exchange/tree/main/Security .

  • La explotación de CVE-2021-26855 se puede detectar a través de los siguientes registros de Exchange HttpProxy:
    • Estos registros se encuentran en el siguiente directorio:% PROGRAMFILES% \ Microsoft \ Exchange Server \ V15 \ Logging \ HttpProxy
    • La explotación se puede identificar buscando entradas de registro donde AuthenticatedUser está vacío y AnchorMailbox contiene el patrón de ServerInfo ~ * / *
      • A continuación, se muestra un comando de PowerShell de ejemplo para encontrar estas entradas de registro:

Import-Csv -Path (Get-ChildItem -Recurse -Path "$env:PROGRAMFILES\Microsoft\Exchange Server\V15\Logging\HttpProxy" -Filter '*.log').FullName | Where-Object { $_.AnchorMailbox -like 'ServerInfo~*/*' -or $_.BackEndCookie -like 'Server~*/*~*'} | select DateTime, AnchorMailbox, UrlStem, RoutingHint, ErrorCode, TargetServerVersion, BackEndCookie, GenericInfo, GenericErrors, UrlHost, Protocol, Method, RoutingType, AuthenticationType, ServerHostName, HttpStatus, BackEndStatus, UserAgent

    • Si se detecta actividad, los registros específicos de la aplicación especificada en la ruta AnchorMailbox se pueden utilizar para ayudar a determinar qué acciones se tomaron.
      • Estos registros se encuentran en el directorio% PROGRAMFILES% \ Microsoft \ Exchange Server \ V15 \ Logging.
  • La explotación de CVE-2021-26858 se puede detectar a través de los archivos de registro de Exchange:
    • C: \ Archivos de programa \ Microsoft \ Exchange Server \ V15 \ Logging \ OABGeneratorLog
    • Los archivos solo deben descargarse en el directorio% PROGRAMFILES% \ Microsoft \ Exchange Server \ V15 \ ClientAccess \ OAB \ Temp
      • En caso de explotación, los archivos se descargan a otros directorios (UNC o rutas locales)
    • Comando de Windows para buscar una posible explotación:

findstr /snip /c:"Download failed and temporary file" "%PROGRAMFILES%\Microsoft\Exchange Server\V15\Logging\OABGeneratorLog\*.log"

  • La explotación de CVE-2021-26857 se puede detectar a través de los registros de eventos de la aplicación de Windows
    • La explotación de este error de deserialización creará eventos de aplicación con las siguientes propiedades:
      • Fuente: Mensajería unificada de MSExchange
      • EntryType: Error
      • El mensaje de evento contiene: System.InvalidCastException
    • A continuación, se muestra el comando de PowerShell para consultar el registro de eventos de la aplicación para estas entradas de registro:

Get-EventLog -LogName Application -Source "MSExchange Unified Messaging" -EntryType Error | Where-Object { $_.Message -like "*System.InvalidCastException*" }

  • La explotación de CVE-2021-27065 se puede detectar a través de los siguientes archivos de registro de Exchange:
    • C: \ Archivos de programa \ Microsoft \ Exchange Server \ V15 \ Logging \ ECP \ Server

Todas las propiedades de Set- <AppName> VirtualDirectory nunca deben contener un script. InternalUrl y ExternalUrl solo deben ser Uris válidos.

    • A continuación, se muestra un comando de PowerShell para buscar una posible explotación:

Select-String -Path "$env:PROGRAMFILES\Microsoft\Exchange Server\V15\Logging\ECP\Server\*.log" -Pattern 'Set-.+VirtualDirectory'

IOC anfitriones

Microsoft está lanzando una fuente de indicadores de compromiso observados (IOC) en ataques relacionados. Este feed está disponible en  formatos CSV  y JSON . Esta información se comparte como TLP: BLANCO.

Hashes

Hash de shell web

  • b75f163ca9b9240bf4b37ad92bc7556b40a17e27c2b8ed5c8991385fe07d17d0
  • 097549cf7d0f76f0d99edf8b2d91c60977fd6a96e4b8c3c94b0b1733dc026d3e
  • 2b6f1ebb2208e93ade4a6424555d6a8341fd6d9f60c25e44afe11008f5c1aad1
  • 65149e036fff06026d80ac9ad4d156332822dc93142cf1a122b1841ec8de34b5
  • 511df0e2df9bfa5521b588cc4bb5f8c5a321801b803394ebc493db1ef3c78fa1
  • 4edc7770464a14f54d17f36dc9d0fe854f68b346b27b35a6f5839adf1f13f8ea
  • 811157f9c7003ba8d17b45eb3cf09bef2cecd2701cedb675274949296a6a183d
  • 1631a90eb5395c4e19c7dbcbf611bbe6444ff312eb7937e286e4637cb9e72944

Caminos

Observamos conchas web en las siguientes rutas:

  • C: \ inetpub \ wwwroot \ aspnet_client \
  • C: \ inetpub \ wwwroot \ aspnet_client \ system_web \
  • En rutas de instalación de Microsoft Exchange Server como:
    • % PROGRAMFILES% \ Microsoft \ Exchange Server \ V15 \ FrontEnd \ HttpProxy \ owa \ auth \
    • C: \ Exchange \ FrontEnd \ HttpProxy \ owa \ auth \

Los shells web que detectamos tenían los siguientes nombres de archivo:

  • web.aspx
  • help.aspx
  • document.aspx
  • errorEE.aspx
  • errorEEE.aspx
  • errorEW.aspx
  • errorFF.aspx
  • healthcheck.aspx
  • aspnet_www.aspx
  • aspnet_client.aspx
  • xx.aspx
  • shell.aspx
  • aspnet_iisstart.aspx
  • one.aspx

Busque archivos .zip, .rar y .7z sospechosos en C: \ ProgramData \ , que pueden indicar una posible exfiltración de datos.

Los clientes deben monitorear estas rutas para los volcados de LSASS:

  • C: \ windows \ temp \
  • C: \ raíz \

Instrumentos

Muchas de las siguientes detecciones son para técnicas posteriores a la infracción utilizadas por HAFNIUM. Entonces, si bien estos ayudan a detectar algunos de los ataques actuales específicos que Microsoft ha observado, sigue siendo muy importante aplicar las actualizaciones publicadas recientemente para CVE-2021-26855, CVE-2021-26857, CVE-2021-27065 y CVE-2021-26858.

Detecciones de antivirus de Microsoft Defender

Tenga en cuenta que algunas de estas detecciones son detecciones genéricas y no exclusivas de esta campaña o de estos exploits.

  • Exploit: Script / Exmann.A! Dha
  • Comportamiento: Win32 / Exmann.A
  • Puerta trasera: ASP / SecChecker.A
  • Puerta trasera: JS / Webshell (no único)
  • Troyano: JS / Chopper! Dha (no único)
  • Comportamiento: Win32 / DumpLsass.A! Attk (no único)
  • Puerta trasera: HTML / TwoFaceVar.B (no único)

Microsoft Defender para detecciones de endpoints

  • Creación de procesos sospechosos de mensajería unificada de Exchange
  • Creación sospechosa de archivos de mensajería unificada de Exchange
  • Posible instalación de shell web (no única)
  • Volcado de memoria de proceso (no único)

Detecciones de Azure Sentinel

Consultas de caza avanzadas

Para localizar una posible actividad de explotación relacionada con el contenido de este blog, puede ejecutar las siguientes   consultas de búsqueda avanzadas a través de Microsoft Defender para Endpoint y Azure Sentinel:

Consultas de búsqueda avanzada de Microsoft Defender para Endpoint

Microsoft 365Los clientes de Defender pueden encontrar consultas de caza relacionadas a continuación o en esta ubicación de GitHub: https://github.com/microsoft/Microsoft-365-Defender-Hunting-Queries/

Hay más consultas e información disponibles a través del portal de Threat Analytics para los clientes de Microsoft Defender.

UMWorkerProcess.exe en Exchange crea contenido anormal

Busque el servicio de mensajería unificada de Microsoft Exchange Server que crea contenido no estándar en el disco, lo que podría indicar shells web u otro contenido malicioso, lo que sugiere la explotación de la vulnerabilidad CVE-2021-26858:

DeviceFileEvents | where InitiatingProcessFileName == "UMWorkerProcess.exe" | where FileName != "CacheCleanup.bin" | where FileName !endswith ".txt" | where FileName !endswith ".LOG" | where FileName !endswith ".cfg" | where FileName != "cleanup.bin"

Generación de UMWorkerProcess.exe

Busque el servicio de mensajería unificada de Microsoft Exchange Server que genera subprocesos anormales, lo que sugiere la explotación de la vulnerabilidad CVE-2021-26857:

DeviceProcessEvents | where InitiatingProcessFileName == "UMWorkerProcess.exe" | where FileName != "wermgr.exe" | where FileName != "WerFault.exe"

Tenga en cuenta que la generación excesiva de wermgr.exe y WerFault.exe podría ser un indicador de compromiso debido a que el servicio falla durante la deserialización.

Consultas de búsqueda avanzadas de Azure Sentinel

Los clientes de Azure Sentinel pueden encontrar una consulta de Sentinel que contenga estos indicadores en el Portal de Azure Sentinel o en esta ubicación de GitHub: https://github.com/Azure/Azure-Sentinel/tree/master/Detections/MultipleDataSources/ .

Busque Nishang Invoke-PowerShellTcpOneLine en el registro de eventos de Windows:

SecurityEvent  | where EventID == 4688  | where Process has_any ("powershell.exe", "PowerShell_ISE.exe")  | where CommandLine has "$client = New-Object System.Net.Sockets.TCPClient"

Busque descargas de PowerCat en cmd y el registro de línea de comandos de Powershell en los registros de eventos de Windows:

SecurityEvent  | where EventID == 4688  | where Process has_any ("cmd.exe", "powershell.exe", "PowerShell_ISE.exe")  | where CommandLine has "https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1"

Busque si se está cargando Exchange PowerShell Snapin. Esto se puede usar para exportar datos del buzón, las líneas de comando subsiguientes deben inspeccionarse para verificar el uso:

SecurityEvent  | where EventID == 4688  | where Process has_any ("cmd.exe", "powershell.exe", "PowerShell_ISE.exe")  | where isnotempty(CommandLine)  | where CommandLine contains "Add-PSSnapin Microsoft.Exchange.Powershell.Snapin"  | summarize FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by Computer, Account, CommandLine

Fuente: Microsoft