Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_HKTL_NET_GUID_Donut

Detects .NET red/black-team tools via typelibguid

Hack toolSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
Arnim Rupp (https://github.com/ruppde)
Date
2021-01-21
Modified
2025-08-15
Score / Quality
75 / 85

What this rule detects

Detects .NET red/black-team tools via typelibguid

Targets: Windows PE.

It defines 4 patterns (4 text, 0 hex, 0 regex).

Summary generated from the rule's metadata and condition.

Rule source

hktl-net-guid-donut.yarDetection Rule License 1.1
rule SIGNATURE_BASE_HKTL_NET_GUID_Donut : FILE
{
	meta:
		description = "Detects .NET red/black-team tools via typelibguid"
		author = "Arnim Rupp (https://github.com/ruppde)"
		id = "564dfd0a-af9b-505f-a6f0-de2a5c5c63f3"
		date = "2021-01-21"
		modified = "2025-08-15"
		reference = "https://github.com/TheWover/donut"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_github_net_redteam_tools_guids.yar#L4371-L4387"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "aae1ca872f60ddc6919938e55d98d27bf88fb382e8d47c06cfc3d3e795ce9f2a"
		score = 75
		quality = 85
		tags = "FILE"
		license = "Detection Rule License 1.1 https://github.com/Neo23x0/signature-base/blob/master/LICENSE"

	strings:
		$typelibguid0lo = "98ca74c7-a074-434d-9772-75896e73ceaa" ascii wide
		$typelibguid1lo = "3c9a6b88-bed2-4ba8-964c-77ec29bf1846" ascii wide
		$typelibguid2lo = "4fcdf3a3-aeef-43ea-9297-0d3bde3bdad2" ascii wide
		$typelibguid3lo = "361c69f5-7885-4931-949a-b91eeab170e3" ascii wide

	condition:
		( uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 ) and any of them
}

Strings (4 patterns)

IdentifierTypeValueModifiers
$typelibguid0lotext"98ca74c7-a074-434d-9772-75896e73ceaa"ascii wide
$typelibguid1lotext"3c9a6b88-bed2-4ba8-964c-77ec29bf1846"ascii wide
$typelibguid2lotext"4fcdf3a3-aeef-43ea-9297-0d3bde3bdad2"ascii wide
$typelibguid3lotext"361c69f5-7885-4931-949a-b91eeab170e3"ascii wide

Condition

( uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 ) and any of them

In plain words (Heuristic)

  • The file must start with “MZ” — a Windows executable (PE).
  • At least one pattern in the rule must match.

Test this rule in your browser

Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.

Drop a file here or click to chooseScanned locally with YARA-X. Files up to 200 MB.

Open in editor

References

Licence & attribution

Author: Arnim Rupp (https://github.com/ruppde)

Source repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Licence: Detection Rule License 1.1 (stated in the rule's own meta)

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

Original rule

Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.

Rule id: 564dfd0a-af9b-505f-a6f0-de2a5c5c63f3

Tags:FILE