Zum Inhalt springen

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_Brooxml_Hunting

Detects Microsoft OOXML files with prepended data/manipulated header

Verdächtig / HuntingSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Kompiliert mit YARA-X
Autor
Proofpoint
Datum
2024-11-27
Geändert
2025-06-02
Score / Qualität
70 / 85

Was diese Regel erkennt

Detects Microsoft OOXML files with prepended data/manipulated header

Ziele: Windows-PE.

Sie definiert 8 Muster (1 Text, 7 Hex, 0 Regex).

Zusammenfassung aus den Metadaten und der Bedingung der Regel erzeugt.

Regelquelltext

brooxml-hunting.yarDetection Rule License 1.1
rule SIGNATURE_BASE_Brooxml_Hunting : HUNTING FILE
{
	meta:
		description = "Detects Microsoft OOXML files with prepended data/manipulated header"
		author = "Proofpoint"
		id = "1ffea1c7-9f97-5bb1-93d7-ce914765416f"
		date = "2024-11-27"
		modified = "2025-06-02"
		reference = "https://x.com/threatinsight/status/1861817946508763480"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_brooxml_dec24.yar#L2-L39"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "8a8d934fe9286c9d1c83a2a0676bb8a5f2501116b96cca32dc27136ecfb9325b"
		score = 70
		quality = 85
		tags = "HUNTING, FILE"
		category = "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 )
}

Strings (8 Muster)

BezeichnerTypWertModifikatoren
$pk_ooxml_magicHex{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_0102Hex{50 4b 01 02}
$pk_0304Hex{50 4b 03 04}
$pk_0506Hex{50 4b 05 06}
$pk_0708Hex{50 4b 07 08}
$wordText"word/"
$oleHex{d0 cf 11 e0}
$tefHex{78 9f 3e 22}

Bedingung

$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 )

In Worten (Heuristik)

  • Die Datei muss mit „MZ“ beginnen — eine Windows-Programmdatei (PE).
  • Muster $pk_0506 muss == 1-mal vorkommen.
  • Muster $pk_0102 muss > 2-mal vorkommen.
  • Muster $pk_0304 muss > 2-mal vorkommen.
  • Muster $pk_0102 muss an Offset 0 stehen.
  • Muster $pk_0304 muss an Offset 0 stehen.
  • Muster $pk_0506 muss an Offset 0 stehen.
  • Muster $pk_0708 muss an Offset 0 stehen.
  • Muster $ole muss an Offset 0 stehen.
  • Muster $tef muss an Offset 0 stehen.
  • Muster $pk_ooxml_magic muss im Bereich 4 .. 16384 liegen.
  • Muster $pk_0506 muss im Bereich 16384 .. filesize liegen.
  • Muster $word muss vorhanden sein.

Diese Regel im Browser testen

Legen Sie eine Datei ab, um sie mit dieser Regel und YARA-X als WebAssembly zu scannen. Nichts wird hochgeladen.

Datei hier ablegen oder klicken zum AuswählenLokal mit YARA-X gescannt. Dateien bis 200 MB.

Im Editor öffnen

Referenzen

Lizenz & Namensnennung

Autor: Proofpoint

Quell-Repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Lizenz: Detection Rule License 1.1 (Repository-Lizenz)

Originalregel

Gespiegelt über YARA Forge 20260927, das Regelnamen mit der Quelle präfixiert und normalisierte Meta-Felder ergänzt.

Regel-ID: 1ffea1c7-9f97-5bb1-93d7-ce914765416f

Metadaten

categoryhunting

Tags:HUNTINGFILE