File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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+ }
Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments