8017acd59116f1a84c43953daa1fc856afb65f34b72f438710fcd6094ac9486b54e64e: 8017acd5 — Go 1.25.4 signed PE64+ with fabricated godaddy.com/WE1 Authenticode, 32 randomized main.* functions
Executive Summary
Go 1.25.4 Windows x64 binary (~1.99 MB) carrying a fabricated Authenticode signature that claims CN=WE1 issued by godaddy.com. Thirty-two randomized main.* function names fragment the payload logic. No .rsrc section, no hardcoded C2 strings, and no dynamic detonation (CAPE skipped). Build artefacts place it firmly in the golang-stealer-build-pattern cluster alongside lummastealer, 9d2ca3, and neuralpulsecore5sbs siblings. The OpenCTI umbrella label 54e64e groups this with unrelated MSVC/UPX droppers; the Go morph is distinct.
What It Is
| Attribute | Value | Source |
|---|---|---|
| SHA-256 | 8017acd59116f1a84c43953daa1fc856afb65f34b72f438710fcd6094ac9486b |
^[metadata.json] |
| File type | PE32+ executable (GUI) x86-64, 8 sections | ^[file.txt] |
| Size | 1,988,224 bytes | ^[metadata.json] |
| Compiler | Go 1.25.4, build ID M5d1UAj2sgoz-6xsYqbp/... |
^[strings.txt:9] |
| Linker | Go linker v3.0 (optional header) | ^[pefile.txt] |
| Architecture | AMD64, GUI subsystem | ^[rabin2-info.txt] |
| Signed | Yes — WIN_CERTIFICATE at 0x1E4E00, PKCS#7 SignedData |
^[pefile.txt] ^[binwalk.txt:6] |
| Certificate | Subject CN=WE1, Issuer CN=godaddy.com; self-signed/template |
^[pefile.txt] |
| Validity | 2026-05-01 to 2026-07-30 | ^[pefile.txt] |
| Packing | None. Entropy .text=6.25, .rdata=6.19 | ^[pefile.txt] |
| Symbols | .symtab retained (111 KB), unstripped |
^[pefile.txt] |
| Resources | None — .rsrc directory absent |
^[pefile.txt] |
The certificate is fabricated: a legitimate GoDaddy code-signing cert carries an organizational DN (O, OU, L, ST, C) and is chained to the GoDaddy root. This cert has only a commonName field and a three-month validity window, consistent with throwaway self-signed templates reused across the cluster.
How It Works
The binary follows the standard Go Windows runtime entry point (0x743A0) and initializes ~32 functions in the main package with randomized 10–20 character names (e.g., main.Rapulqfqfpufdte, main.Kzosntjxoftfkfn). ^[strings.txt:5014–5052] This fragmentation hinders static analysis and family clustering by name.
CGO_ENABLED=0 is inferred from the pure-Go import table: only kernel32.dll is imported for the Windows syscall shim, with no C runtime dependencies. ^[pefile.txt]
No hardcoded C2 URLs, IP addresses, wallet regexes, Telegram tokens, or browser target strings appear in the static string set. ^[strings.txt] Cluster siblings resolve these at runtime via fused-string API decoding or runtime-generated buffers. The absence of .rsrc removes the usual icon-masquerade vector, reducing forensic footprint.
A binwalk hit for mcrypt 2.2 blowfish at 0x1B07C3 is a false positive produced by .rdata entropy in Go binaries; no encrypted payload overlay exists. ^[binwalk.txt:5]
Decompiled Behavior
Ghidra/radare2 deep decompilation was not pursued. A 2 MB Go binary with 32 randomized main.* symbols yields thousands of indistinguishable runtime functions; cluster attribution and certificate forensics are more efficient than CFG inspection for this morphology. rabin2 confirms lang: go, entry0, and the standard PE64+ layout. ^[rabin2-info.txt]
C2 Infrastructure
None recovered statically. C2 infrastructure is runtime-decoded or generated. ^[strings.txt]
Interesting Tidbits
- The
godaddy.com/WE1certificate template has been observed on at least one prior sibling (sample389e1ccf, filenameEclipseV2.exe). ^[golang-stealer-build-pattern.md] - Go build ID can be clustered with other samples from the same compilation session.
capasignatures are missing on this host, so no capability map was generated. ^[capa.txt]flossfailed with an argument parsing error. ^[floss.txt]
How To Mess With It (Homelab Replication)
Toolchain: Go 1.25.4, GOOS=windows, GOARCH=amd64, CGO_ENABLED=0, -trimpath=true.
Compile a small program with randomized function names and sign it with a self-signed cert mimicking the godaddy.com/WE1 pattern. Compare strings output to the sample: you should see go1.25.4, Go build ID:, and the randomized main.* names.
Verification: rabin2 -I reproducer.exe should report lang go, signed true, stripped false.
Deployable Signatures
YARA Rule
rule win_go_stealer_godaddy_we1_54e64e
{
meta:
description = "Go 1.25.4 PE64+ with fabricated godaddy.com/WE1 Authenticode and randomized main.* functions"
author = "PacketPursuit"
date = "2026-06-11"
sha256 = "8017acd59116f1a84c43953daa1fc856afb65f34b72f438710fcd6094ac9486b"
family = "54e64e"
strings:
$go_build = "go1.25.4"
$build_id = "Go build ID:"
$godaddy = "godaddy.com"
$we1 = "WE1"
$main_rand = /main\.[A-Za-z]{12,30}/
condition:
uint16(0) == 0x5A4D and
uint32(uint32(0x3C)+4) == 0x00004550 and
$go_build and
$build_id and
$godaddy and
$we1 and
#main_rand >= 15
}
Behavioral Hunt Query
Freeform (KQL/SPL): Search file-system or memory scans for PE64 binaries where strings output contains both go1.25.4 and godaddy.com, and where the Authenticode subject CN contains WE1. On Windows, Sysmon Event ID 7 (Image Loaded) or EDR file-creation events can surface the signer name WE1.
IOC List
| Indicator | Value | Type |
|---|---|---|
| SHA-256 | 8017acd59116f1a84c43953daa1fc856afb65f34b72f438710fcd6094ac9486b |
Hash |
| SSDeep | 24576:63ADwZwwEfiJXPWG8Q203tjhxdzqK0GymcRVXuQmh8b2WqVldJBeletL9SryqFpq:63A0ZjEWfP203Pb7h8bQ6YX |
Fuzzy hash |
| TLSH | B8954B0B7CE508EAC4AAA33189B662817B75BC060F3227C72E90777C2F766E09D75754 |
Fuzzy hash |
| Build ID | M5d1UAj2sgoz-6xsYqbp/EbYlOEH4RneoN8ys97RP/ys3fSQkMbd656GhemHfV/1A1l6eyXW7dcbh6Jz5eD |
Compilation artefact |
| Cert CN | WE1 |
Fabricated signer |
| Cert Issuer CN | godaddy.com |
Fabricated issuer |
| Cert Validity | 2026-05-01 – 2026-07-30 | Temporal window |
Behavioral Fingerprint Statement
This binary is a Go 1.25.4 PE64+ compiled with CGO_ENABLED=0. It carries a fabricated Authenticode signature claiming GoDaddy CN=WE1. The main package contains ~32 randomized function names (e.g., main.Rapulqfqfpufdte). No .rsrc section is present. At runtime it likely resolves C2 addresses via decoded string buffers rather than hardcoded IPs or domains.
Detection Signatures
No capa capabilities mapped (signatures missing on host). ^[capa.txt]
References
- OpenCTI artifact:
35727111-189b-4d46-8d56-fe5297cf2bd3 - MalwareBazaar:
8017acd59116f1a84c43953daa1fc856afb65f34b72f438710fcd6094ac9486b - Family entity: 54e64e
- Build pattern: golang-stealer-build-pattern
Provenance
Sources used for this report:
file.txt,pefile.txt,rabin2-info.txt,strings.txt,binwalk.txt,metadata.json,exiftool.json,capa.txt,floss.txt,ssdeep.txt,tlsh.txt- OpenSSL ASN.1 parse of the embedded WIN_CERTIFICATE (on-host analysis).
- Cluster correlation via
golang-stealer-build-pattern.mdandentities/54e64e.md.