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.
- 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
rule VOLEXITY_Apt_Malware_Win_Lightspy_Orchestrator_Decoded_C2_Strings : BRAZENBAMBOO FILE MEMORY
{
meta:
= "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."
= "threatintel@volexity.com"
= "a0af8fb7-13a3-54e8-8569-e8622fa80d89"
= "2024-02-15"
= "2024-11-14"
= "https://github.com/volexity/threat-intel"
= "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/2024/2024-11-15 BrazenBamboo/rules.yar#L288-L337"
= "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/LICENSE.txt"
= "80c0cdb1db961c76de7e4efb6aced8a52cd0e34178660ef34c128be5f0d587df"
= "eeaaf6e16d4854a2279bd62596f75cb8b8ec1b05f3b050f5dac97254704b9005"
= 75
= 78
= "BRAZENBAMBOO, FILE, MEMORY"
= "win"
= "all"
= "file,memory"
= "critical"
= "See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt"
= 10245
= 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)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $s1 | text | "[WsClient][Error]:" | |
| $s2 | text | "[WsClient][Info]:" | |
| $s3 | text | "[WsClient]:WsClient" | |
| $s4 | text | "[WsClient][Info]:Ws" | |
| $s5 | text | "WsClient Worker Thread ID=%d" | |
| $s6 | text | "[LightWebClient]:" | |
| $s7 | text | "LightHttpGet err:%s" | |
| $s8 | text | "User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.145 Safari/537.36" | |
| $s9 | text | "KvList Err:%s" | |
| $s10 | text | "dataMultiPart malloc err:%d" | |
| $ctrl1 | text | "CTRL_HEART_BEAT" | |
| $ctrl2 | text | "CTRL_NET_CONFIG" | |
| $ctrl3 | text | "CTRL_COMMAND_PLAN" | |
| $ctrl4 | text | "CTRL_MODIFY_NET_CONFIG" | |
| $ctrl5 | text | "CTRL_UPLOAD_PLUGIN_STATUS" | |
| $ctrl6 | text | "CTRL_PLUGIN_EXECUTE_COMMAND" | |
| $ctrl7 | text | "CTRL_PLUGIN_COMMAND_STATUS" | |
| $ctrl8 | text | "CTRL_PLUGIN_STOP_COMMAND" | |
| $ctrl9 | text | "CTRL_GET_SLEEP_CONFIG" | |
| $ctrl10 | text | "CTRL_MODIFY_SLEEP_CONFIG" | |
| $ctrl11 | text | "CTRL_SLEEP_STATUS" | |
| $ctrl12 | text | "CTRL_UPDATE_PLUGIN" | |
| $ctrl13 | text | "CTRL_DESTROY" | |
| $ctrl14 | text | "CTRL_RECONFIG_REBOUNT_ADDRESS" | |
| $ctrl15 | text | "CTRL_AUTO_UPLOUD_FILE_CONFIG" | |
| $ctrl16 | text | "CTRL_UPLOUD_DEVICE_INFO" | |
| $ctrl17 | text | "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.
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.
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
| os | win |
|---|---|
| os_arch | all |
| scan_context | file,memory |
| severity | critical |
| rule_id | 10245 |
| version | 4 |
Related rules
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2024-07-30
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2024-02-15
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-07-21
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-08-17
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-03-30
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2022-11-03
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2022-11-02
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2022-11-03