YARA · elceef yara-rulz
ELCEEF_HTML_Smuggling_A
Generic detection for HTML smuggling (T1027.006)
- Autor
- marcin@ulikowski.pl
- Fecha
- 2021-05-13
- Modificada
- 2023-04-16
- Puntuación / Calidad
- 75 / 75
Qué detecta esta regla
Generic detection for HTML smuggling (T1027.006)
Define 14 patrones (6 de texto, 8 hex, 0 regex).
Resumen generado a partir de los metadatos y la condición de la regla.
Código de la regla
rule ELCEEF_HTML_Smuggling_A : T1027 FILE
{
meta:
= "Generic detection for HTML smuggling (T1027.006)"
= "marcin@ulikowski.pl"
= "b711318f-81d2-5d0b-968f-04ae18fdea5b"
= "2021-05-13"
= "2023-04-16"
= "https://github.com/elceef/yara-rulz"
= "https://github.com/elceef/yara-rulz/blob/5683b294a12cf0c875b624933586029ae43a852f/rules/HTML_Smuggling.yara#L1-L31"
= "https://github.com/elceef/yara-rulz/blob/5683b294a12cf0c875b624933586029ae43a852f/LICENSE"
= "279d5ef8f80aba530aaac8afd049fa171704fc703d9cfe337b56639732e8ce11"
= "bc076e9f3d4c6d2aa5a3602436408e5b2ac3140ca9f7cc776c44835cba211951"
= 75
= 75
= "T1027, FILE"
strings:
$mssave = { ( 2e | 22 | 27 ) 6d 73 53 61 76 65 }
$element = { ( 2e | 22 | 27 ) 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 ( 28 | 22 | 27 ) }
$objecturl = { ( 2e | 22 | 27 ) 63 72 65 61 74 65 4f 62 6a 65 63 74 55 52 4c ( 28 | 22 | 27 ) }
$download = { ( 2e | 22 | 27 ) 64 6f 77 6e 6c 6f 61 64 ( 3d | 22 | 27 ) }
$click = { ( 2e | 22 | 27 ) 63 6c 69 63 6b ( 3d | 22 | 27 ) }
$atob = { 61 74 6f 62 ( 28 | 22 | 27 ) }
$blob = "new Blob("
$array = "new Uint8Array("
$ole2 = "0M8R4KGxGuEA"
$pe32 = "TVqQAAMAAAAE"
$iso = "AAAABQ0QwMDE"
$udf = "AAAAQkVBMDEB"
$zip = { 55 45 73 44 42 ( 41 | 42 | 43 | 44 ) ( 6f | 30 | 4d | 51 ) ( 41 | 44 ) ( 41 | 43 ) }
$jsxor = { 2e 63 68 61 72 43 6f 64 65 41 74 28 [1-10] 29 ( 5e | 20 5e ) }
condition:
filesize < 5MB and ( $mssave or ( #element == 1 and #objecturl == 1 and #download == 1 and #click == 1 ) ) and $blob and $array and $atob and ( #ole2 + #pe32 + #iso + #udf + #zip + #jsxor ) == 1
}
Cadenas (14 patrones)
| Identificador | Tipo | Valor | Modificadores |
|---|---|---|---|
| $mssave | hex | { ( 2e | 22 | 27 ) 6d 73 53 61 76 65 } | |
| $element | hex | { ( 2e | 22 | 27 ) 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 ( 28 | 22 | 27 ) } | |
| $objecturl | hex | { ( 2e | 22 | 27 ) 63 72 65 61 74 65 4f 62 6a 65 63 74 55 52 4c ( 28 | 22 | 27 ) } | |
| $download | hex | { ( 2e | 22 | 27 ) 64 6f 77 6e 6c 6f 61 64 ( 3d | 22 | 27 ) } | |
| $click | hex | { ( 2e | 22 | 27 ) 63 6c 69 63 6b ( 3d | 22 | 27 ) } | |
| $atob | hex | { 61 74 6f 62 ( 28 | 22 | 27 ) } | |
| $blob | texto | "new Blob(" | |
| $array | texto | "new Uint8Array(" | |
| $ole2 | texto | "0M8R4KGxGuEA" | |
| $pe32 | texto | "TVqQAAMAAAAE" | |
| $iso | texto | "AAAABQ0QwMDE" | |
| $udf | texto | "AAAAQkVBMDEB" | |
| $zip | hex | { 55 45 73 44 42 ( 41 | 42 | 43 | 44 ) ( 6f | 30 | 4d | 51 ) ( 41 | 44 ) ( 41 | 43 ) } | |
| $jsxor | hex | { 2e 63 68 61 72 43 6f 64 65 41 74 28 [1-10] 29 ( 5e | 20 5e ) } |
Condición
filesize < 5MB and ( $mssave or ( #element == 1 and #objecturl == 1 and #download == 1 and #click == 1 ) ) and $blob and $array and $atob and ( #ole2 + #pe32 + #iso + #udf + #zip + #jsxor ) == 1En palabras sencillas (Heurística)
- El archivo debe ocupar menos de 5MB (un límite barato que descarta archivos grandes).
- El patrón $element debe aparecer == 1 veces.
- El patrón $objecturl debe aparecer == 1 veces.
- El patrón $download debe aparecer == 1 veces.
- El patrón $click debe aparecer == 1 veces.
- El patrón $mssave debe estar presente.
- El patrón $blob debe estar presente.
- El patrón $array debe estar presente.
- El patrón $atob debe estar presente.
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
MITRE ATT&CK
Hashes de muestras
Hashes de las muestras que el autor lista en los metadatos de la regla (búscalos en tu plataforma de threat intelligence).
- 279d5ef8f80aba530aaac8afd049fa171704fc703d9cfe337b56639732e8ce11
Licencia y atribución
Autor: marcin@ulikowski.pl
Repositorio de origen: elceef yara-rulz @ 5683b294a1
Licencia: MIT License (licencia del repositorio)
Aviso de copyright: Copyright (c) 2022 Marcin Ulikowski
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: b711318f-81d2-5d0b-968f-04ae18fdea5b
Reglas relacionadas
- Genéricaelceef yara-rulz· marcin@ulikowski.pl· 2023-04-17
- Genéricaelceef yara-rulz· marcin@ulikowski.pl· 2022-12-02
- MalwareTrellix Advanced Research Center· TS @ McAfee ATR· 2021-01-19
- Exploitelceef yara-rulz· marcin@ulikowski.pl· 2025-08-18
- Genéricaelceef yara-rulz· marcin@ulikowski.pl· 2024-04-10
- Genéricaelceef yara-rulz· marcin@ulikowski.pl· 2023-05-05
- Sospechoso / huntingelceef yara-rulz· marcin@ulikowski.pl· 2023-05-01
- Exploitelceef yara-rulz· marcin@ulikowski.pl· 2023-09-23