Lummastealer
Go-based info stealer family, labelled as lummastealer by OpenCTI. First encountered in the PacketPursuit corpus on 2026-05-26. May be an alias or fork of the acrstealer / orderreshop cluster, sharing identical build artefacts but marked with a distinct OpenCTI label.
Build Stack
- Compiler: Go 1.25.4+ (
GOARCH=386andamd64siblings observed,GOOS=windows,CGO_ENABLED=0,-trimpath=true) ^[/intel/analyses/d5647efd5104b67524f99f22788de313769ab552dd53bfe497eb2a7765bbe56f.html] ^[/intel/analyses/e03dd36f22e24a323f8db11ba3a220786ea14c5617538b5433911e5a6d1f66a3.html] ^[/intel/analyses/040e0d767faccb2b706ec81553b14743f1d24f508c69bb5921716bdeb14ca1cb.html] - Signing: Authenticode-signed PE. Two certificate chains observed:
- Fraudulent self-signed: CN=
www.sjabr.org, issuerCN=E8, validity 3 months (siblingsd5647efd,e03dd36f) ^[/intel/analyses/d5647efd5104b67524f99f22788de313769ab552dd53bfe497eb2a7765bbe56f.html] ^[/intel/analyses/e03dd36f22e24a323f8db11ba3a220786ea14c5617538b5433911e5a6d1f66a3.html] - Let's Encrypt R12: CN=
blizzard-tecnica.com, issuerCN=R12, validity 90 days (sibling040e0d76) ^[/intel/analyses/040e0d767faccb2b706ec81553b14743f1d24f508c69bb5921716bdeb14ca1cb.html]
- Fraudulent self-signed: CN=
- Obfuscation: Randomized Go module paths; randomized
main.*function names (12–16-character mixed-case alphanumeric); no external packer ^[/intel/analyses/d5647efd5104b67524f99f22788de313769ab552dd53bfe497eb2a7765bbe56f.html] ^[/intel/analyses/e03dd36f22e24a323f8db11ba3a220786ea14c5617538b5433911e5a6d1f66a3.html] ^[/intel/analyses/040e0d767faccb2b706ec81553b14743f1d24f508c69bb5921716bdeb14ca1cb.html] - Resources: Builder has an icon-toggle option. Siblings
d5647efdande03dd36fhave no.rsrcsection; sibling040e0d76includes four embedded RT_ICON resources (~114 KB total) plus RT_VERSION. ^[/intel/analyses/040e0d767faccb2b706ec81553b14743f1d24f508c69bb5921716bdeb14ca1cb.html]
See golang-stealer-build-pattern for the full build-pattern concept.
Deploy / TTPs
- Execution: Standard Go
runtime.mainentry; Windows GUI subsystem, no console window. - Network: Statically linked
net/httpandcrypto/tlsimply HTTPS C2, but no hardcoded C2 URL was found in strings. C2 endpoints are decoded at runtime via a PRNG-seeded transform. ^[/intel/analyses/e03dd36f22e24a323f8db11ba3a220786ea14c5617538b5433911e5a6d1f66a3.html] ^[/intel/analyses/040e0d767faccb2b706ec81553b14743f1d24f508c69bb5921716bdeb14ca1cb.html] - Collection: Inferred from family label and shared build pattern with acrstealer / orderreshop: browser credential stores, cryptocurrency wallets, FTP/SSH sessions, and system information.
- Process manipulation:
syscall.LoadLibrarycalls inside largemain.*functions suggest module-loading or injection behaviour ^[r2:0x4889d0 decompilation] ^[r2:sym.main.pkuetur @ 0x489d80]. - Anti-analysis: See fused-string-api-decoding — API names are fused with DLL names into indivisible
.rdatablobs and sliced at runtime, defeating naive string extraction. ^[/intel/analyses/e03dd36f22e24a323f8db11ba3a220786ea14c5617538b5433911e5a6d1f66a3.html] ^[/intel/analyses/040e0d767faccb2b706ec81553b14743f1d24f508c69bb5921716bdeb14ca1cb.html] - Memory staging:
VirtualAllocwithPAGE_EXECUTE_READWRITE(0x3000,0x40) observed insym.main.cmvaso, consistent with reflective payload staging. ^[r2:sym.main.cmvaso @ 0x48afe0]
Capabilities
signed-pe-masqueradego-symbol-name-obfuscationgo-static-binary-no-cgotrimpath-source-strippingruntime-decoded-c2-urlsprng-seeded-c2-url-decodingtls-https-c2-clientbrowser-credential-dumpingcryptocurrency-wallet-targetingmodule-loading-injection-routinefused-string-api-decodingicon-toggle-builder-optionletsencrypt-short-lived-certrwx-memory-alloc-stagingcustom-stream-cipher-string-decoder
Variants / Aliases
- OpenCTI labels:
lummastealer,exe,signed,sunwukong(label collision — see sunwukong) - Possible relation to
acrstealer/orderreshopcluster (same build pipeline; needs more siblings to confirm)
Notable Analyses
- /intel/analyses/d5647efd5104b67524f99f22788de313769ab552dd53bfe497eb2a7765bbe56f.html — Go 1.25.4 PE32, module
NZlhQRhWFITWnSR, cert CN=www.sjabr.org/ issuerE8, no.rsrc, custom type namesAltlrrq,Jhyfosq, etc. - /intel/analyses/e03dd36f22e24a323f8db11ba3a220786ea14c5617538b5433911e5a6d1f66a3.html — Go PE32+ x64 sibling, same cert CN, no
.rsrc, fused-string API decoder, PRNG C2 resolution - /intel/analyses/040e0d767faccb2b706ec81553b14743f1d24f508c69bb5921716bdeb14ca1cb.html — Go 1.25.4 PE32, module
brIewNqtgMlfsdi, cert CN=blizzard-tecnica.com/ issuerR12, has.rsrcicons, identical custom type names tod5647efd
Related
- golang-stealer-build-pattern — shared Go infostealer build artefacts
- acrstealer — sibling cluster with identical toolchain and signing pattern
- orderreshop — sibling cluster with identical toolchain and signing pattern
- fused-string-api-decoding — technique page for the runtime DLL+API string fusion