YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_Brooxml_Hunting
Detects Microsoft OOXML files with prepended data/manipulated header
- Autor
- Proofpoint
- Fecha
- 2024-11-27
- Modificada
- 2025-06-02
- Puntuación / Calidad
- 70 / 85
Qué detecta esta regla
Detects Microsoft OOXML files with prepended data/manipulated header
Objetivos: PE de Windows.
Define 8 patrones (1 de texto, 7 hex, 0 regex).
Resumen generado a partir de los metadatos y la condición de la regla.
Código de la regla
rule SIGNATURE_BASE_Brooxml_Hunting : HUNTING FILE
{
meta:
= "Detects Microsoft OOXML files with prepended data/manipulated header"
= "Proofpoint"
= "1ffea1c7-9f97-5bb1-93d7-ce914765416f"
= "2024-11-27"
= "2025-06-02"
= "https://x.com/threatinsight/status/1861817946508763480"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_brooxml_dec24.yar#L2-L39"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "8a8d934fe9286c9d1c83a2a0676bb8a5f2501116b96cca32dc27136ecfb9325b"
= 70
= 85
= "HUNTING, FILE"
= "hunting"
strings:
$pk_ooxml_magic = {50 4b 03 04 [22] 13 00 [2] 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73 5d 2e 78 6d 6c}
$pk_0102 = {50 4b 01 02}
$pk_0304 = {50 4b 03 04}
$pk_0506 = {50 4b 05 06}
$pk_0708 = {50 4b 07 08}
$word = "word/"
$ole = {d0 cf 11 e0}
$tef = {78 9f 3e 22}
condition:
$pk_ooxml_magic in ( 4 .. 16384 ) and $pk_0506 in ( 16384 .. filesize ) and #pk_0506 == 1 and #pk_0102 > 2 and #pk_0304 > 2 and $word and not ( $pk_0102 at 0 ) and not ( $pk_0304 at 0 ) and not ( $pk_0506 at 0 ) and not ( $pk_0708 at 0 ) and not ( $ole at 0 ) and not ( uint16( 0 ) == 0x5a4d ) and not ( $tef at 0 )
}
Cadenas (8 patrones)
| Identificador | Tipo | Valor | Modificadores |
|---|---|---|---|
| $pk_ooxml_magic | hex | {50 4b 03 04 [22] 13 00 [2] 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73 5d 2e 78 6d 6c} | |
| $pk_0102 | hex | {50 4b 01 02} | |
| $pk_0304 | hex | {50 4b 03 04} | |
| $pk_0506 | hex | {50 4b 05 06} | |
| $pk_0708 | hex | {50 4b 07 08} | |
| $word | texto | "word/" | |
| $ole | hex | {d0 cf 11 e0} | |
| $tef | hex | {78 9f 3e 22} |
Condición
$pk_ooxml_magic in ( 4 .. 16384 ) and $pk_0506 in ( 16384 .. filesize ) and #pk_0506 == 1 and #pk_0102 > 2 and #pk_0304 > 2 and $word and not ( $pk_0102 at 0 ) and not ( $pk_0304 at 0 ) and not ( $pk_0506 at 0 ) and not ( $pk_0708 at 0 ) and not ( $ole at 0 ) and not ( uint16( 0 ) == 0x5a4d ) and not ( $tef at 0 )En palabras sencillas (Heurística)
- El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
- El patrón $pk_0506 debe aparecer == 1 veces.
- El patrón $pk_0102 debe aparecer > 2 veces.
- El patrón $pk_0304 debe aparecer > 2 veces.
- El patrón $pk_0102 debe estar en el offset 0.
- El patrón $pk_0304 debe estar en el offset 0.
- El patrón $pk_0506 debe estar en el offset 0.
- El patrón $pk_0708 debe estar en el offset 0.
- El patrón $ole debe estar en el offset 0.
- El patrón $tef debe estar en el offset 0.
- El patrón $pk_ooxml_magic debe estar en el rango 4 .. 16384.
- El patrón $pk_0506 debe estar en el rango 16384 .. filesize.
- El patrón $word 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.
Licencia y atribución
Autor: Proofpoint
Repositorio de origen: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a
Licencia: Detection Rule License 1.1 (licencia del repositorio)
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: 1ffea1c7-9f97-5bb1-93d7-ce914765416f
Metadatos
| category | hunting |
|---|
Reglas relacionadas
- Sospechoso / huntingSignature Base (Florian Roth / Nextron)· Proofpoint· 2024-12-17
- APT / actorSignature Base (Florian Roth / Nextron)· Proofpoint· 2024-11-20
- GenéricaSignature Base (Florian Roth / Nextron)· Proofpoint· 2024-11-27