Skip to content

Commit 8efc960

Browse files
committed
STX RAT
1 parent a4f9fdf commit 8efc960

2 files changed

Lines changed: 116 additions & 0 deletions

File tree

data/yara/CAPE/STXRat.yar

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
rule STXRat
2+
{
3+
meta:
4+
author = "YungBinary"
5+
description = "https://www.esentire.com/blog/stx-rat-a-new-rat-in-2026-with-infostealer-capabilities"
6+
strings:
7+
8+
// Lowercasing
9+
$s1 = {
10+
8D 51 BF
11+
83 FA 19
12+
8D 41 20
13+
0F 47 C1
14+
C2
15+
}
16+
// AMSI ghosting
17+
$s2 = {
18+
48 8D 05 ?? ?? ?? ??
19+
66 C7 45 ?? 48 B8 [0-6]
20+
48 89 45 ??
21+
48 8D 55 ??
22+
66 C7 45 ?? FF E0
23+
}
24+
// Debugger check
25+
$s3 = {
26+
65 48 8B 04 25 60 00 00 00
27+
80 78 02 01
28+
}
29+
// Crypto string
30+
$s4 = "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)" ascii
31+
32+
// AES key/size/algo handling
33+
$s5 = {
34+
B9 10 66 00 00 [0-3]
35+
0F 44 C1
36+
B9 0F 66 00 00
37+
41 81 ?? C0 00 00 00
38+
0F 44 C1
39+
B9 0E 66 00 00
40+
}
41+
// module name copying
42+
$s6 = {
43+
48 83 FB 5A
44+
73 ??
45+
88 84 1C ?? ?? ?? ??
46+
48 FF C3
47+
48 FF C1
48+
8A 01
49+
84 C0
50+
75
51+
}
52+
// Sha1 initialization constants
53+
$s7 = {
54+
83 61 18 00
55+
83 61 14 00
56+
C7 01 01 23 45 67
57+
C7 41 04 89 AB CD EF
58+
C7 41 08 FE DC BA 98
59+
C7 41 0C 76 54 32 10
60+
C7 41 10 F0 E1 D2 C3
61+
C3
62+
}
63+
// X25519 clamping
64+
$s8 = {
65+
80 61 1F 3F
66+
80 49 1F 40
67+
80 21 F8
68+
}
69+
condition:
70+
uint16(0) == 0x5a4d and (4 of ($s*))
71+
}

data/yara/CAPE/STXRatLoader.yar

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import "pe"
2+
rule STXRatLoader
3+
{
4+
meta:
5+
author = "YungBinary"
6+
description = "https://www.esentire.com/blog/stx-rat-a-new-rat-in-2026-with-infostealer-capabilities"
7+
strings:
8+
9+
// Kernel32 ROR-14
10+
$ror1 = { B9 4E 15 F5 1F E8 }
11+
// VirtualProtect ROR-14
12+
$ror2 = {
13+
BA 35 EC 33 57
14+
48 8B C8
15+
48 8B D8
16+
E8
17+
}
18+
// CreateThread ROR-14
19+
$ror3 = {
20+
BA 36 91 AC 32
21+
}
22+
// Ntdll ROR-14
23+
$ror4 = {
24+
BA 7E 91 90 5A
25+
48 8B C8
26+
E8
27+
}
28+
// XXTEA constant
29+
$s1 = {
30+
69 D0 47 86 C8 61
31+
}
32+
// Zlib
33+
$s2 = {
34+
B8 85 10 42 08
35+
41 F7 E2
36+
}
37+
// ROR
38+
$s3 = {
39+
41 C1 C8 0E
40+
0F BE C0
41+
44 03 C0
42+
}
43+
condition:
44+
uint16(0) == 0x5a4d and ((pe.exports("init") and pe.exports("run")) and 1 of ($ror*) and 1 of ($s*))
45+
}

0 commit comments

Comments
 (0)