YARA · ESET malware-ioc
ESET_IIS_Native_Module_PRIVATE
Signature to match an IIS native module (clean or malicious)
- 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.
import "pe"
private rule ESET_IIS_Native_Module_PRIVATE : FILE
{
meta:
= "Signature to match an IIS native module (clean or malicious)"
= "ESET Research"
= "e3bacdc8-fde1-5e83-ac94-79fc345e888d"
= "2021-08-04"
= "2021-08-04"
= "https://github.com/eset/malware-ioc/"
= "https://github.com/eset/malware-ioc/blob/17baf44964a77368e9149f4f593eb098beddf1c5/badiis/badiis.yar#L34-L92"
= "https://github.com/eset/malware-ioc/blob/17baf44964a77368e9149f4f593eb098beddf1c5/LICENSE"
= "5a388dc3253df606e2648d1f9c018e6dde373bbddce66dba69b7aecdd95bac18"
= 75
= 55
= "FILE"
= "BSD 2-Clause"
= "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)
| Identificador | Tipo | Valor | Modificadores |
|---|---|---|---|
| $e1 | texto | "This module subscribed to event" | |
| $e2 | texto | "CHttpModule::OnBeginRequest" | |
| $e3 | texto | "CHttpModule::OnPostBeginRequest" | |
| $e4 | texto | "CHttpModule::OnAuthenticateRequest" | |
| $e5 | texto | "CHttpModule::OnPostAuthenticateRequest" | |
| $e6 | texto | "CHttpModule::OnAuthorizeRequest" | |
| $e7 | texto | "CHttpModule::OnPostAuthorizeRequest" | |
| $e8 | texto | "CHttpModule::OnResolveRequestCache" | |
| $e9 | texto | "CHttpModule::OnPostResolveRequestCache" | |
| $e10 | texto | "CHttpModule::OnMapRequestHandler" | |
| $e11 | texto | "CHttpModule::OnPostMapRequestHandler" | |
| $e12 | texto | "CHttpModule::OnAcquireRequestState" | |
| $e13 | texto | "CHttpModule::OnPostAcquireRequestState" | |
| $e14 | texto | "CHttpModule::OnPreExecuteRequestHandler" | |
| $e15 | texto | "CHttpModule::OnPostPreExecuteRequestHandler" | |
| $e16 | texto | "CHttpModule::OnExecuteRequestHandler" | |
| $e17 | texto | "CHttpModule::OnPostExecuteRequestHandler" | |
| $e18 | texto | "CHttpModule::OnReleaseRequestState" | |
| $e19 | texto | "CHttpModule::OnPostReleaseRequestState" | |
| $e20 | texto | "CHttpModule::OnUpdateRequestCache" | |
| $e21 | texto | "CHttpModule::OnPostUpdateRequestCache" | |
| $e22 | texto | "CHttpModule::OnLogRequest" | |
| $e23 | texto | "CHttpModule::OnPostLogRequest" | |
| $e24 | texto | "CHttpModule::OnEndRequest" | |
| $e25 | texto | "CHttpModule::OnPostEndRequest" | |
| $e26 | texto | "CHttpModule::OnSendResponse" | |
| $e27 | texto | "CHttpModule::OnMapPath" | |
| $e28 | texto | "CHttpModule::OnReadEntity" | |
| $e29 | texto | "CHttpModule::OnCustomRequestNotification" | |
| $e30 | texto | "CHttpModule::OnAsyncCompletion" | |
| $e31 | texto | "CGlobalModule::OnGlobalStopListening" | |
| $e32 | texto | "CGlobalModule::OnGlobalCacheCleanup" | |
| $e33 | texto | "CGlobalModule::OnGlobalCacheOperation" | |
| $e34 | texto | "CGlobalModule::OnGlobalHealthCheck" | |
| $e35 | texto | "CGlobalModule::OnGlobalConfigurationChange" | |
| $e36 | texto | "CGlobalModule::OnGlobalFileChange" | |
| $e37 | texto | "CGlobalModule::OnGlobalApplicationStart" | |
| $e38 | texto | "CGlobalModule::OnGlobalApplicationResolveModules" | |
| $e39 | texto | "CGlobalModule::OnGlobalApplicationStop" | |
| $e40 | texto | "CGlobalModule::OnGlobalRSCAQuery" | |
| $e41 | texto | "CGlobalModule::OnGlobalTraceEvent" | |
| $e42 | texto | "CGlobalModule::OnGlobalCustomNotification" | |
| $e43 | texto | "CGlobalModule::OnGlobalThreadCleanup" | |
| $e44 | texto | "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.
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.
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
| version | 1 |
|---|
Etiquetas:FILE
Reglas relacionadas
- MalwareESET malware-ioc· ESET Research· 2023-03-31
- MalwareESET malware-ioc· ESET Research· 2022-10-11
- MalwareESET malware-ioc· ESET Research· 2022-10-11
- MalwareESET malware-ioc· ESET Research· 2022-10-11
- MalwareESET malware-ioc· ESET Research· 2022-10-11
- APT / actorESET malware-ioc· ESET Research· 2021-05-17
- APT / actorESET malware-ioc· ESET Research· 2021-05-17
- APT / actorESET malware-ioc· ESET Research· 2021-05-17