Skip to content

YARA · Volexity threat-intel

VOLEXITY_Apt_Malware_Ps1_Powerstar_Generic

Detects POWERSTAR modules based on common HTTP functions used across modules.

APT / threat actorVolexity threat-intelBSD 2-Clause LicenseCompiles with YARA-X
Author
threatintel@volexity.com
Date
2023-06-02
Modified
2024-01-26
Score / Quality
75 / 80

What this rule detects

Detects POWERSTAR modules based on common HTTP functions used across modules.

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

Summary generated from the rule's metadata and condition.

Rule source

apt-malware-ps1-powerstar-generic.yarBSD 2-Clause License
rule VOLEXITY_Apt_Malware_Ps1_Powerstar_Generic : CHARMINGCYPRESS FILE MEMORY
{
	meta:
		description = "Detects POWERSTAR modules based on common HTTP functions used across modules."
		author = "threatintel@volexity.com"
		id = "71a3e99d-e1c8-5ac1-abbc-2ba5cba80799"
		date = "2023-06-02"
		modified = "2024-01-26"
		reference = "TIB-20240126"
		source_url = "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/2024/2024-02-13 CharmingCypress/rules.yar#L324-L352"
		license_url = "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/LICENSE.txt"
		logic_hash = "4da02190ffd16304eccbc0d12dfcc5637a6b785af0e3dc3dfcafcfe114597eb2"
		score = 75
		quality = 80
		tags = "CHARMINGCYPRESS, 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 = 9356
		version = 3

	strings:
		$http1 = "Send_Upload" ascii wide
		$http2 = "Send_Post_Data" ascii wide
		$json1 = "{\"OS\":\"" ascii wide
		$json2 = "{\"ComputerName\":\"' + $env:COMPUTERNAME + '\"}" ascii wide
		$json3 = "{\"Token\"" ascii wide
		$json4 = "{\"num\":\"" ascii wide

	condition:
		all of ( $http* ) or all of ( $json* )
}

Strings (6 patterns)

IdentifierTypeValueModifiers
$http1text"Send_Upload"ascii wide
$http2text"Send_Post_Data"ascii wide
$json1text"{\"OS\":\""ascii wide
$json2text"{\"ComputerName\":\"' + $env:COMPUTERNAME + '\"}"ascii wide
$json3text"{\"Token\""ascii wide
$json4text"{\"num\":\""ascii wide

Condition

all of ( $http* ) or all of ( $json* )

In plain words (Heuristic)

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

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: 71a3e99d-e1c8-5ac1-abbc-2ba5cba80799

Metadata

oswin
os_archall
scan_contextfile,memory
severitycritical
rule_id9356
version3

Tags:CHARMINGCYPRESSFILEMEMORY