Zum Inhalt springen

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_Octowave_Loader_03_2025

Detects opcodes found in Octowave loader DLLs and WAV steganography files

MalwareOctowaveSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Kompiliert mit YARA-X
Autor
Jai Minton (@CyberRaiju) - HuntressLabs
Datum
2025-03-19
Geändert
2025-03-21
Score / Qualität
75 / 85

Was diese Regel erkennt

Detects opcodes found in Octowave loader DLLs and WAV steganography files

Zugehörige Malware-Familie: Octowave.

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

Zusammenfassung aus den Metadaten und der Bedingung der Regel erzeugt.

Regelquelltext

octowave-loader-03-2025.yarDetection Rule License 1.1
rule SIGNATURE_BASE_Octowave_Loader_03_2025 : FILE
{
	meta:
		description = "Detects opcodes found in Octowave loader DLLs and WAV steganography files"
		author = "Jai Minton (@CyberRaiju) - HuntressLabs"
		id = "d583c416-be20-5fcf-848e-edd037e3b0d4"
		date = "2025-03-19"
		modified = "2025-03-21"
		reference = "https://yaratoolkit.securitybreak.io/"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/mal_octowave_loader_mar25.yar#L1-L285"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		hash = "0504bfbacb6e10b81196f625f2fe37b33500e7bf65fd82d3510a2b178c6cd5bd"
		hash = "3a2db0cb9ee01549a6b660d58115d112d36a744d65705394b54d7d95287c7a74"
		hash = "eb50d06057fe123d6e9f7a76d3d1a4bc5307e8f15d017be8f6031e92136cf36a"
		hash = "24715920e749b014ba05f74c96627a27355c5860a14461c106aa48a7aba371ea"
		logic_hash = "266568d5f0f95cc805a833745a9e63689234ae927c2903230438c080f7ec2e56"
		score = 75
		quality = 85
		tags = "FILE"
		license = "Detection Rule License 1.1 https://github.com/Neo23x0/signature-base/blob/master/LICENSE"

	strings:
		$opcode_1 = {
			55
			8B EC
			56
			57
			8B D1
			33 C0
			8B FA
			6A 06
			59
			AB
			AB
			AB
			AB
			8B 45 08
			8B FA
			83 62 10 00
			8B F0
			83 62 14 00
			F3 A5
			83 60 10 00
		}
		$opcode_2 = {
			55
			8B EC
			8B 55 ??
			56
			8B F1
			8B 46 ??
			8B 4E ??
			2B C1
			3B D0
			77 ??
			83 7E ?? 07
			53
			8D 1C 11
			57
			89 5E ??
			8B FE
			76 ??
			8B 3E
			8D 04 12
			50
			FF 75 ??
			8D 0C 4F
			51
			E8 ?? ?? ?? ??
			83 C4 0C
			33 C0
			66 89 04 5F
			8B C6
			5F
			5B
			EB ??
			52
			FF 75 ??
			8B CE
			FF 75 ??
			52
			E8 ?? ?? ?? ??
			5E
			5D
			C2 08 00
		}
		$opcode_3 = {
			55
			8B EC
			8B 4D 08
			83 C9 ??
			56
			3B 4D 10
			77 1C
			8B 75 0C
			8B D6
			8B 45 10
			D1 EA
			2B C2
			3B F0
			77 0C
			8D 04 32
			3B C8
			0F 42 C8
			8B C1
			EB 03
		}
		$opcode_4 = {
			56
			8B F1
			8B 46 14
			83 F8 ??
			76 ??
		}
		$opcode_5 = {
			50
			FF 36
			E8 ?? ?? ?? ??
			59
			59
			83 66 ?? 00
		}
		$opcode_6 = {
			C7 46 14 ?? 00 00 00
			66 89 06
			5E
			C3
		}
		$opcode_7 = {
			55
			8B EC
			51
			51
			A1 ?? ?? ?? ??
			33 C5
			89 45 FC
			8B 4D 0C
			8B 45 08
			89 45 F8
			81 F9 00 10 00 00
			72 ??
			8D 45 0C
			50
			8D 45 F8
			50
			E8 ?? ?? ?? ??
			8B 45 F8
			59
			59
		}

	condition:
		( uint16( 0 ) == ( 0x5a4d ) or uint32( 0 ) == 0x46464952 ) and filesize < 50000KB and all of them
}

Strings (7 Muster)

BezeichnerTypWertModifikatoren
$opcode_1Hex{ 55 8B EC 56 57 8B D1 33 C0 8B FA 6A 06 59 AB AB AB AB 8B 45 08 8B FA 83 62 10 00 8B F0 83 62 14 00 F3 …
$opcode_2Hex{ 55 8B EC 8B 55 ?? 56 8B F1 8B 46 ?? 8B 4E ?? 2B C1 3B D0 77 ?? 83 7E ?? 07 53 8D 1C 11 57 89 5E ?? 8B FE 76 …
$opcode_3Hex{ 55 8B EC 8B 4D 08 83 C9 ?? 56 3B 4D 10 77 1C 8B 75 0C 8B D6 8B 45 10 D1 EA 2B C2 3B F0 77 0C 8D 04 32 3B C8 …
$opcode_4Hex{ 56 8B F1 8B 46 14 83 F8 ?? 76 ?? }
$opcode_5Hex{ 50 FF 36 E8 ?? ?? ?? ?? 59 59 83 66 ?? 00 }
$opcode_6Hex{ C7 46 14 ?? 00 00 00 66 89 06 5E C3 }
$opcode_7Hex{ 55 8B EC 51 51 A1 ?? ?? ?? ?? 33 C5 89 45 FC 8B 4D 0C 8B 45 08 89 45 F8 81 F9 00 10 00 00 72 ?? 8D 45 0C 50 8D 45 …

Bedingung

( uint16( 0 ) == ( 0x5a4d ) or uint32( 0 ) == 0x46464952 ) and filesize < 50000KB and all of them

In Worten (Heuristik)

  • Die Datei muss kleiner als 50000KB sein (eine günstige Grenze, die große Dateien ausschließt).
  • Alle Muster aus der Regel müssen treffen.

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

Proben-Hashes

Hashes der Proben, die der Autor in den Metadaten der Regel nennt (in Ihrer Threat-Intelligence-Plattform nachschlagen).

  • 0504bfbacb6e10b81196f625f2fe37b33500e7bf65fd82d3510a2b178c6cd5bd
  • 3a2db0cb9ee01549a6b660d58115d112d36a744d65705394b54d7d95287c7a74
  • eb50d06057fe123d6e9f7a76d3d1a4bc5307e8f15d017be8f6031e92136cf36a
  • 24715920e749b014ba05f74c96627a27355c5860a14461c106aa48a7aba371ea

Lizenz & Namensnennung

Autor: Jai Minton (@CyberRaiju) - HuntressLabs

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

Lizenz: Detection Rule License 1.1 (in den Metadaten der Regel angegeben)

“Detection Rule License 1.1 https://github.com/Neo23x0/signature-base/blob/master/LICENSE”

Originalregel

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

Regel-ID: d583c416-be20-5fcf-848e-edd037e3b0d4

Tags:FILE

Weitere Octowave-Regeln