Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_MAL_Minimalistic_Backdoor_May26

Detects minimalistic backdoor deployment where a shellcode loader downloads an encrypted payload and executes it in memory after RC4 decryption using a command-line provided key

MalwareSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
MalGamy
Date
2026-05-05
Modified
2026-05-15
Score / Quality
80 / 85

What this rule detects

Detects minimalistic backdoor deployment where a shellcode loader downloads an encrypted payload and executes it in memory after RC4 decryption using a command-line provided key

Targets: Windows PE.

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

Summary generated from the rule's metadata and condition.

Rule source

mal-minimalistic-backdoor-may26.yarDetection Rule License 1.1
rule SIGNATURE_BASE_MAL_Minimalistic_Backdoor_May26 : FILE
{
	meta:
		description = "Detects minimalistic backdoor deployment where a shellcode loader downloads an encrypted payload and executes it in memory after RC4 decryption using a command-line provided key"
		author = "MalGamy"
		id = "8292161d-8b20-51e0-987a-dd0f4c1cf3e8"
		date = "2026-05-05"
		modified = "2026-05-15"
		reference = "https://securelist.com/tr/daemon-tools-backdoor/119654/"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/threat_compromised_daemon_tools_lite_may26.yar#L68-L92"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		hash = "395ec7acd475a8acd358adc75c4615cf41737aed8a96c4f2dd792c8a6af4140c"
		logic_hash = "0f5e1f95d28fe5e45a10d652a11e9940823b4ac113dcf9b547f81d35bcda6cc7"
		score = 80
		quality = 85
		tags = "FILE"

	strings:
		$x1 = "Note: if multiple processes load the DLL," wide
		$x2 = "Inject (shellcode file is RC4 ciphertext; key is a UTF-8 string" wide
		$s1 = "Error: VirtualAllocEx failed, Win" wide
		$s2 = "Try running as administrator; " wide
		$s3 = ", shellcode size: " wide
		$s4 = "input file path cannot be empty." wide

	condition:
		uint16( 0 ) == 0x5a4d and filesize < 50KB and ( 1 of ( $x* ) or all of ( $s* ) )
}

Strings (6 patterns)

IdentifierTypeValueModifiers
$x1text"Note: if multiple processes load the DLL,"wide
$x2text"Inject (shellcode file is RC4 ciphertext; key is a UTF-8 string"wide
$s1text"Error: VirtualAllocEx failed, Win"wide
$s2text"Try running as administrator; "wide
$s3text", shellcode size: "wide
$s4text"input file path cannot be empty."wide

Condition

uint16( 0 ) == 0x5a4d and filesize < 50KB and ( 1 of ( $x* ) or all of ( $s* ) )

In plain words (Heuristic)

  • The file must start with “MZ” — a Windows executable (PE).
  • The file must be smaller than 50KB (a cheap guard that skips large files).
  • All patterns in ( $s* ) must match.
  • At least 1 patterns in ( $x* ) 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

Sample hashes

Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).

  • 395ec7acd475a8acd358adc75c4615cf41737aed8a96c4f2dd792c8a6af4140c

Licence & attribution

Author: MalGamy

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

Licence: Detection Rule License 1.1 (repository licence)

Original rule

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

Rule id: 8292161d-8b20-51e0-987a-dd0f4c1cf3e8

Tags:FILE