Saltar al contenido

YARA · ESET malware-ioc

ESET_IIS_Native_Module_PRIVATE

Signature to match an IIS native module (clean or malicious)

GenéricaESET malware-iocBSD 2-Clause LicenseCompila con YARA-Xregla privada
Autor
ESET Research
Fecha
2021-08-04
Puntuación / Calidad
75 / 55

Qué detecta esta regla

Signature to match an IIS native module (clean or malicious)

Objetivos: PE de Windows.

Define 44 patrones (44 de texto, 0 hex, 0 regex). Módulos YARA usados: pe.

Resumen generado a partir de los metadatos y la condición de la regla.

Código de la regla

Incluye los imports necesarios para compilarla por sí sola.

iis-native-module-private.yarBSD 2-Clause License
import "pe"

private rule ESET_IIS_Native_Module_PRIVATE : FILE
{
	meta:
		description = "Signature to match an IIS native module (clean or malicious)"
		author = "ESET Research"
		id = "e3bacdc8-fde1-5e83-ac94-79fc345e888d"
		date = "2021-08-04"
		modified = "2021-08-04"
		reference = "https://github.com/eset/malware-ioc/"
		source_url = "https://github.com/eset/malware-ioc/blob/17baf44964a77368e9149f4f593eb098beddf1c5/badiis/badiis.yar#L34-L92"
		license_url = "https://github.com/eset/malware-ioc/blob/17baf44964a77368e9149f4f593eb098beddf1c5/LICENSE"
		logic_hash = "5a388dc3253df606e2648d1f9c018e6dde373bbddce66dba69b7aecdd95bac18"
		score = 75
		quality = 55
		tags = "FILE"
		license = "BSD 2-Clause"
		version = "1"

	strings:
		$e1 = "This module subscribed to event"
		$e2 = "CHttpModule::OnBeginRequest"
		$e3 = "CHttpModule::OnPostBeginRequest"
		$e4 = "CHttpModule::OnAuthenticateRequest"
		$e5 = "CHttpModule::OnPostAuthenticateRequest"
		$e6 = "CHttpModule::OnAuthorizeRequest"
		$e7 = "CHttpModule::OnPostAuthorizeRequest"
		$e8 = "CHttpModule::OnResolveRequestCache"
		$e9 = "CHttpModule::OnPostResolveRequestCache"
		$e10 = "CHttpModule::OnMapRequestHandler"
		$e11 = "CHttpModule::OnPostMapRequestHandler"
		$e12 = "CHttpModule::OnAcquireRequestState"
		$e13 = "CHttpModule::OnPostAcquireRequestState"
		$e14 = "CHttpModule::OnPreExecuteRequestHandler"
		$e15 = "CHttpModule::OnPostPreExecuteRequestHandler"
		$e16 = "CHttpModule::OnExecuteRequestHandler"
		$e17 = "CHttpModule::OnPostExecuteRequestHandler"
		$e18 = "CHttpModule::OnReleaseRequestState"
		$e19 = "CHttpModule::OnPostReleaseRequestState"
		$e20 = "CHttpModule::OnUpdateRequestCache"
		$e21 = "CHttpModule::OnPostUpdateRequestCache"
		$e22 = "CHttpModule::OnLogRequest"
		$e23 = "CHttpModule::OnPostLogRequest"
		$e24 = "CHttpModule::OnEndRequest"
		$e25 = "CHttpModule::OnPostEndRequest"
		$e26 = "CHttpModule::OnSendResponse"
		$e27 = "CHttpModule::OnMapPath"
		$e28 = "CHttpModule::OnReadEntity"
		$e29 = "CHttpModule::OnCustomRequestNotification"
		$e30 = "CHttpModule::OnAsyncCompletion"
		$e31 = "CGlobalModule::OnGlobalStopListening"
		$e32 = "CGlobalModule::OnGlobalCacheCleanup"
		$e33 = "CGlobalModule::OnGlobalCacheOperation"
		$e34 = "CGlobalModule::OnGlobalHealthCheck"
		$e35 = "CGlobalModule::OnGlobalConfigurationChange"
		$e36 = "CGlobalModule::OnGlobalFileChange"
		$e37 = "CGlobalModule::OnGlobalApplicationStart"
		$e38 = "CGlobalModule::OnGlobalApplicationResolveModules"
		$e39 = "CGlobalModule::OnGlobalApplicationStop"
		$e40 = "CGlobalModule::OnGlobalRSCAQuery"
		$e41 = "CGlobalModule::OnGlobalTraceEvent"
		$e42 = "CGlobalModule::OnGlobalCustomNotification"
		$e43 = "CGlobalModule::OnGlobalThreadCleanup"
		$e44 = "CGlobalModule::OnGlobalApplicationPreload"

	condition:
		uint16( 0 ) == 0x5A4D and pe.exports ( "RegisterModule" ) and any of ( $e* )
}

Cadenas (44 patrones)

IdentificadorTipoValorModificadores
$e1texto"This module subscribed to event"
$e2texto"CHttpModule::OnBeginRequest"
$e3texto"CHttpModule::OnPostBeginRequest"
$e4texto"CHttpModule::OnAuthenticateRequest"
$e5texto"CHttpModule::OnPostAuthenticateRequest"
$e6texto"CHttpModule::OnAuthorizeRequest"
$e7texto"CHttpModule::OnPostAuthorizeRequest"
$e8texto"CHttpModule::OnResolveRequestCache"
$e9texto"CHttpModule::OnPostResolveRequestCache"
$e10texto"CHttpModule::OnMapRequestHandler"
$e11texto"CHttpModule::OnPostMapRequestHandler"
$e12texto"CHttpModule::OnAcquireRequestState"
$e13texto"CHttpModule::OnPostAcquireRequestState"
$e14texto"CHttpModule::OnPreExecuteRequestHandler"
$e15texto"CHttpModule::OnPostPreExecuteRequestHandler"
$e16texto"CHttpModule::OnExecuteRequestHandler"
$e17texto"CHttpModule::OnPostExecuteRequestHandler"
$e18texto"CHttpModule::OnReleaseRequestState"
$e19texto"CHttpModule::OnPostReleaseRequestState"
$e20texto"CHttpModule::OnUpdateRequestCache"
$e21texto"CHttpModule::OnPostUpdateRequestCache"
$e22texto"CHttpModule::OnLogRequest"
$e23texto"CHttpModule::OnPostLogRequest"
$e24texto"CHttpModule::OnEndRequest"
$e25texto"CHttpModule::OnPostEndRequest"
$e26texto"CHttpModule::OnSendResponse"
$e27texto"CHttpModule::OnMapPath"
$e28texto"CHttpModule::OnReadEntity"
$e29texto"CHttpModule::OnCustomRequestNotification"
$e30texto"CHttpModule::OnAsyncCompletion"
$e31texto"CGlobalModule::OnGlobalStopListening"
$e32texto"CGlobalModule::OnGlobalCacheCleanup"
$e33texto"CGlobalModule::OnGlobalCacheOperation"
$e34texto"CGlobalModule::OnGlobalHealthCheck"
$e35texto"CGlobalModule::OnGlobalConfigurationChange"
$e36texto"CGlobalModule::OnGlobalFileChange"
$e37texto"CGlobalModule::OnGlobalApplicationStart"
$e38texto"CGlobalModule::OnGlobalApplicationResolveModules"
$e39texto"CGlobalModule::OnGlobalApplicationStop"
$e40texto"CGlobalModule::OnGlobalRSCAQuery"
$e41texto"CGlobalModule::OnGlobalTraceEvent"
$e42texto"CGlobalModule::OnGlobalCustomNotification"
$e43texto"CGlobalModule::OnGlobalThreadCleanup"
$e44texto"CGlobalModule::OnGlobalApplicationPreload"

Condición

uint16( 0 ) == 0x5A4D and pe.exports ( "RegisterModule" ) and any of ( $e* )

En palabras sencillas (Heurística)

  • El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
  • Debe coincidir al menos un patrón de ( $e* ).
  • Usa el módulo pe.
  • Comprueba funciones exportadas o el nombre de la DLL.

Prueba esta regla en tu navegador

Arrastra un archivo para escanearlo con esta regla usando YARA-X compilado a WebAssembly. No se sube nada.

Arrastra un archivo aquí o haz clic para elegirSe escanea en local con YARA-X. Archivos de hasta 200 MB.

Abrir en el editor

Referencias

Licencia y atribución

Autor: ESET Research

Repositorio de origen: ESET malware-ioc @ 17baf44964

Licencia: BSD 2-Clause License (indicada en los metadatos de la regla)

“BSD 2-Clause”

Aviso de copyright: Copyright (c) 2014-2018 ESET spol. s r.o.

Regla original

Obtenida a través de YARA Forge 20260927, que añade a los nombres el prefijo de la fuente y campos meta normalizados.

Id de la regla: e3bacdc8-fde1-5e83-ac94-79fc345e888d

Metadatos

version1

Etiquetas:FILE