Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_APT_MAL_VEILEDSIGNAL_Backdoor_Apr23_2

Detects malicious VEILEDSIGNAL backdoor

APT / threat actorVeiledsignalSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
X__Junior
Date
2023-04-29
Modified
2023-12-05
Score / Quality
80 / 85

What this rule detects

Detects malicious VEILEDSIGNAL backdoor

Associated malware family: Veiledsignal.

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

Summary generated from the rule's metadata and condition.

Rule source

apt-mal-veiledsignal-backdoor-apr23-2.yarDetection Rule License 1.1
rule SIGNATURE_BASE_APT_MAL_VEILEDSIGNAL_Backdoor_Apr23_2
{
	meta:
		description = "Detects malicious VEILEDSIGNAL backdoor"
		author = "X__Junior"
		id = "ff1fa0bd-19b7-553a-9506-bc5aa5d29056"
		date = "2023-04-29"
		modified = "2023-12-05"
		reference = "https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/xtrader-3cx-supply-chain"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_mal_3cx_compromise_mar23.yar#L373-L392"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		hash = "c4887a5cd6d98e273ba6e9ea3c1d8f770ef26239819ea24a1bfebd81d6870505"
		logic_hash = "a15f7f06be5e620baf33d595afc35246dae0307978984af832940a74ef2c84eb"
		score = 80
		quality = 85
		tags = ""

	strings:
		$sa1 = "\\.\\pipe\\gecko.nativeMessaging" ascii
		$sa2 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40" ascii
		$sa3 = "application/json, text/javascript, */*; q=0.01" ascii
		$op1 = { 89 7? 24 ?? 44 8B CD 4C 8B C? 48 89 44 24 ?? 33 D2 33 C9 FF 15}
		$op2 = { 4C 8B CB 4C 89 74 24 ?? 4C 8D 05 ?? ?? ?? ?? 44 89 74 24 ?? 33 D2 33 C9 FF 15}
		$op3 = { 48 89 74 24 ?? 45 33 C0 89 74 24 ?? 41 B9 ?? ?? ?? ?? 89 74 24 ?? 48 8B D8 48 C7 00 ?? ?? ?? ?? 48 8B 0F 41 8D 50 ?? 48 89 44 24 ?? 89 74 24 ?? FF 15}

	condition:
		all of ( $op* ) or all of ( $sa* )
}

Strings (6 patterns)

IdentifierTypeValueModifiers
$sa1text"\\.\\pipe\\gecko.nativeMessaging"ascii
$sa2text"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40"ascii
$sa3text"application/json, text/javascript, */*; q=0.01"ascii
$op1hex{ 89 7? 24 ?? 44 8B CD 4C 8B C? 48 89 44 24 ?? 33 D2 33 C9 FF 15}
$op2hex{ 4C 8B CB 4C 89 74 24 ?? 4C 8D 05 ?? ?? ?? ?? 44 89 74 24 ?? 33 D2 33 C9 FF 15}
$op3hex{ 48 89 74 24 ?? 45 33 C0 89 74 24 ?? 41 B9 ?? ?? ?? ?? 89 74 24 ?? 48 8B D8 48 C7 00 ?? ?? ?? ?? 48 8B 0F 41 8D 50 ?? 48 89 44 24 ?? 89 74 24 ?? FF 15}

Condition

all of ( $op* ) or all of ( $sa* )

In plain words (Heuristic)

  • All patterns in ( $op* ) must match.
  • All patterns in ( $sa* ) 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).

  • c4887a5cd6d98e273ba6e9ea3c1d8f770ef26239819ea24a1bfebd81d6870505

Licence & attribution

Author: X__Junior

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: ff1fa0bd-19b7-553a-9506-bc5aa5d29056

More Veiledsignal rules