YARA · Volexity threat-intel
VOLEXITY_Apt_Win_Powerstar_Memonly
Detects the initial stage of the memory only variant of PowerStar.
- Author
- threatintel@volexity.com
- Date
- 2023-05-16
- Modified
- 2023-09-20
- Score / Quality
- 75 / 78
What this rule detects
Detects the initial stage of the memory only variant of PowerStar.
It defines 27 patterns (26 text, 1 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule VOLEXITY_Apt_Win_Powerstar_Memonly : CHARMINGKITTEN
{
meta:
= "Detects the initial stage of the memory only variant of PowerStar."
= "threatintel@volexity.com"
= "469fc433-da9e-55ed-99fb-9560ec86a179"
= "2023-05-16"
= "2023-09-20"
= "https://github.com/volexity/threat-intel"
= "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/2023/2023-06-28 POWERSTAR/indicators/rules.yar#L20-L65"
= "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/LICENSE.txt"
= "977cf5cc1d0c61b7364edcf397e5c67d910fac628c6c9a41cf9c73b3720ce67f"
= "d790ff204e4e8adeb3e887d9ebce743e958b523c48317d017487b1b0c6aebc11"
= 75
= 78
= "CHARMINGKITTEN"
= 1
= "See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt"
strings:
$s_1 = "[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($in.substring(3)))"
$s_2 = "[Convert]::ToByte(([Convert]::ToString(-bnot ($text_bytes[$i])"
$s_3 = "$Exec=[System.Text.Encoding]::UTF8.GetString($text_bytes)"
$s_4 = "((65..90) + (97..122) | Get-Random -Count 16 | % {[char]$_})"
$f_1 = "function Gorjol{"
$f_2 = "Borjol \"$"
$f_3 = "Gorjol -text"
$f_4 = "function Borjoly{"
$f_6 = "$filename = $env:APPDATA+\"\\Microsoft\\Windows\\DocumentPreview.pdf\";"
$f_7 = "$env:APPDATA+\"\\Microsoft\\Windows\\npv.txt\""
$f_8 = "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\brt8ts74e.bat"
$f_9 = "\\Microsoft\\Windows\\s7qe52.txt"
$f_10 = "$yeolsoe2 = $yeolsoe"
$f_11 = "setRequestHeader(\"Content-DPR\""
$f_12 = "getResponseHeader(\"Content-DPR\")"
$f_13 = {24 43 6f 6d 6d 61 6e 64 50 61 72 74 73 20 3d 24 53 65 73 73 69 6f 6e 52 65 73 70 6f 6e 73 65 2e 53 70 6c 69 74 28 22 b6 22 29}
$f_14 = "$language -like \"*shar*\""
$f_15 = "$language -like \"*owers*\""
$alias_1 = "(gcm *v????E?P?e*)"
$alias_2 = "&(gcm *ke-e*) $Command"
$key = "T2r0y1M1e1n1o0w1"
$args_1 = "$sem.Close()"
$args_2 = "$cem.Close()"
$args_3 = "$mem.Close()"
$command_1 = "_____numone_____"
$command_2 = "_____mac2_____"
$command_3 = "_____yeolsoe_____"
condition:
2 of ( $s_* ) or any of ( $f_* ) or 2 of ( $alias_* ) or $key or all of ( $args_* ) or any of ( $command_* )
}
Strings (27 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $s_1 | text | "[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($in.substring(3)))" | |
| $s_2 | text | "[Convert]::ToByte(([Convert]::ToString(-bnot ($text_bytes[$i])" | |
| $s_3 | text | "$Exec=[System.Text.Encoding]::UTF8.GetString($text_bytes)" | |
| $s_4 | text | "((65..90) + (97..122) | Get-Random -Count 16 | % {[char]$_})" | |
| $f_1 | text | "function Gorjol{" | |
| $f_2 | text | "Borjol \"$" | |
| $f_3 | text | "Gorjol -text" | |
| $f_4 | text | "function Borjoly{" | |
| $f_6 | text | "$filename = $env:APPDATA+\"\\Microsoft\\Windows\\DocumentPreview.pdf\";" | |
| $f_7 | text | "$env:APPDATA+\"\\Microsoft\\Windows\\npv.txt\"" | |
| $f_8 | text | "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\brt8ts74e.bat" | |
| $f_9 | text | "\\Microsoft\\Windows\\s7qe52.txt" | |
| $f_10 | text | "$yeolsoe2 = $yeolsoe" | |
| $f_11 | text | "setRequestHeader(\"Content-DPR\"" | |
| $f_12 | text | "getResponseHeader(\"Content-DPR\")" | |
| $f_13 | hex | {24 43 6f 6d 6d 61 6e 64 50 61 72 74 73 20 3d 24 53 65 73 73 69 6f 6e 52 65 73 70 6f 6e 73 65 2e 53 70 6c 69 74 28 22 b6 22 29} | |
| $f_14 | text | "$language -like \"*shar*\"" | |
| $f_15 | text | "$language -like \"*owers*\"" | |
| $alias_1 | text | "(gcm *v????E?P?e*)" | |
| $alias_2 | text | "&(gcm *ke-e*) $Command" | |
| $key | text | "T2r0y1M1e1n1o0w1" | |
| $args_1 | text | "$sem.Close()" | |
| $args_2 | text | "$cem.Close()" | |
| $args_3 | text | "$mem.Close()" | |
| $command_1 | text | "_____numone_____" | |
| $command_2 | text | "_____mac2_____" | |
| $command_3 | text | "_____yeolsoe_____" |
Condition
2 of ( $s_* ) or any of ( $f_* ) or 2 of ( $alias_* ) or $key or all of ( $args_* ) or any of ( $command_* )In plain words (Heuristic)
- All patterns in ( $args_* ) must match.
- At least one pattern in ( $f_* ) must match.
- At least one pattern in ( $command_* ) must match.
- At least 2 patterns in ( $s_* ) must match.
- At least 2 patterns in ( $alias_* ) must match.
- Pattern $key must be present.
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).
- 977cf5cc1d0c61b7364edcf397e5c67d910fac628c6c9a41cf9c73b3720ce67f
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: 469fc433-da9e-55ed-99fb-9560ec86a179
Metadata
| memory_suitable | 1 |
|---|
Tags:CHARMINGKITTEN
Related rules
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-05-16
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-05-16
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-05-16
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-05-16
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2021-10-13
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2024-07-30
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-07-21
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-08-17