Skip to content

YARA · Volexity threat-intel

VOLEXITY_Apt_Malware_Win_Lightspy_Orchestrator_Decoded_C2_Strings

Detects the decoded orchestrator for the Windows variant of the LightSpy malware family. This file is normally stored in an encoded state on the C2 server and is used as the core component of this malware family, loading additional plugins from the C2 whilst managing all the C2 communication etc.

APT / threat actorVolexity threat-intelBSD 2-Clause LicenseCompiles with YARA-X
Author
threatintel@volexity.com
Date
2024-02-15
Modified
2024-11-14
Score / Quality
75 / 78

What this rule detects

Detects the decoded orchestrator for the Windows variant of the LightSpy malware family. This file is normally stored in an encoded state on the C2 server and is used as the core component of this malware family, loading additional plugins from the C2 whilst managing all the C2 communication etc.

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

Summary generated from the rule's metadata and condition.

Rule source

apt-malware-win-lightspy-orchestrator-decoded-c2-strings.yarBSD 2-Clause License
rule VOLEXITY_Apt_Malware_Win_Lightspy_Orchestrator_Decoded_C2_Strings : BRAZENBAMBOO FILE MEMORY
{
	meta:
		description = "Detects the decoded orchestrator for the Windows variant of the LightSpy malware family. This file is normally stored in an encoded state on the C2 server and is used as the core component of this malware family, loading additional plugins from the C2 whilst managing all the C2 communication etc."
		author = "threatintel@volexity.com"
		id = "a0af8fb7-13a3-54e8-8569-e8622fa80d89"
		date = "2024-02-15"
		modified = "2024-11-14"
		reference = "https://github.com/volexity/threat-intel"
		source_url = "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/2024/2024-11-15 BrazenBamboo/rules.yar#L288-L337"
		license_url = "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/LICENSE.txt"
		hash = "80c0cdb1db961c76de7e4efb6aced8a52cd0e34178660ef34c128be5f0d587df"
		logic_hash = "eeaaf6e16d4854a2279bd62596f75cb8b8ec1b05f3b050f5dac97254704b9005"
		score = 75
		quality = 78
		tags = "BRAZENBAMBOO, FILE, MEMORY"
		os = "win"
		os_arch = "all"
		scan_context = "file,memory"
		severity = "critical"
		license = "See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt"
		rule_id = 10245
		version = 4

	strings:
		$s1 = "[WsClient][Error]:"
		$s2 = "[WsClient][Info]:"
		$s3 = "[WsClient]:WsClient"
		$s4 = "[WsClient][Info]:Ws"
		$s5 = "WsClient Worker Thread ID=%d"
		$s6 = "[LightWebClient]:"
		$s7 = "LightHttpGet err:%s"
		$s8 = "User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.145 Safari/537.36"
		$s9 = "KvList Err:%s"
		$s10 = "dataMultiPart malloc err:%d"
		$ctrl1 = "CTRL_HEART_BEAT"
		$ctrl2 = "CTRL_NET_CONFIG"
		$ctrl3 = "CTRL_COMMAND_PLAN"
		$ctrl4 = "CTRL_MODIFY_NET_CONFIG"
		$ctrl5 = "CTRL_UPLOAD_PLUGIN_STATUS"
		$ctrl6 = "CTRL_PLUGIN_EXECUTE_COMMAND"
		$ctrl7 = "CTRL_PLUGIN_COMMAND_STATUS"
		$ctrl8 = "CTRL_PLUGIN_STOP_COMMAND"
		$ctrl9 = "CTRL_GET_SLEEP_CONFIG"
		$ctrl10 = "CTRL_MODIFY_SLEEP_CONFIG"
		$ctrl11 = "CTRL_SLEEP_STATUS"
		$ctrl12 = "CTRL_UPDATE_PLUGIN"
		$ctrl13 = "CTRL_DESTROY"
		$ctrl14 = "CTRL_RECONFIG_REBOUNT_ADDRESS"
		$ctrl15 = "CTRL_AUTO_UPLOUD_FILE_CONFIG"
		$ctrl16 = "CTRL_UPLOUD_DEVICE_INFO"
		$ctrl17 = "CTRL_TEST_VPDN_ACCOUNT"

	condition:
		3 of ( $s* ) or 5 of ( $ctrl* )
}

Strings (27 patterns)

IdentifierTypeValueModifiers
$s1text"[WsClient][Error]:"
$s2text"[WsClient][Info]:"
$s3text"[WsClient]:WsClient"
$s4text"[WsClient][Info]:Ws"
$s5text"WsClient Worker Thread ID=%d"
$s6text"[LightWebClient]:"
$s7text"LightHttpGet err:%s"
$s8text"User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.145 Safari/537.36"
$s9text"KvList Err:%s"
$s10text"dataMultiPart malloc err:%d"
$ctrl1text"CTRL_HEART_BEAT"
$ctrl2text"CTRL_NET_CONFIG"
$ctrl3text"CTRL_COMMAND_PLAN"
$ctrl4text"CTRL_MODIFY_NET_CONFIG"
$ctrl5text"CTRL_UPLOAD_PLUGIN_STATUS"
$ctrl6text"CTRL_PLUGIN_EXECUTE_COMMAND"
$ctrl7text"CTRL_PLUGIN_COMMAND_STATUS"
$ctrl8text"CTRL_PLUGIN_STOP_COMMAND"
$ctrl9text"CTRL_GET_SLEEP_CONFIG"
$ctrl10text"CTRL_MODIFY_SLEEP_CONFIG"
$ctrl11text"CTRL_SLEEP_STATUS"
$ctrl12text"CTRL_UPDATE_PLUGIN"
$ctrl13text"CTRL_DESTROY"
$ctrl14text"CTRL_RECONFIG_REBOUNT_ADDRESS"
$ctrl15text"CTRL_AUTO_UPLOUD_FILE_CONFIG"
$ctrl16text"CTRL_UPLOUD_DEVICE_INFO"
$ctrl17text"CTRL_TEST_VPDN_ACCOUNT"

Condition

3 of ( $s* ) or 5 of ( $ctrl* )

In plain words (Heuristic)

  • At least 3 patterns in ( $s* ) must match.
  • At least 5 patterns in ( $ctrl* ) 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).

  • 80c0cdb1db961c76de7e4efb6aced8a52cd0e34178660ef34c128be5f0d587df

Licence & attribution

Author: threatintel@volexity.com

Source repository: Volexity threat-intel @ 3a9d0b5245

Licence: BSD 2-Clause License (stated in the rule's own meta)

“See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt”

Copyright notice: Copyright 2022 by Volexity, Inc.

Original rule

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

Rule id: a0af8fb7-13a3-54e8-8569-e8622fa80d89

Metadata

oswin
os_archall
scan_contextfile,memory
severitycritical
rule_id10245
version4

Tags:BRAZENBAMBOOFILEMEMORY