Pinned Tweet
AI will inherit an unfathomable awareness of violence; because it learned from those who mastered it.
I wanted to see what was actually in the file. It is two native 64-bit programs: a loader, and a stealer carried inside it. This is C++, not the .NET “Umbral” stealers that overlap the name. Minus a few points to the branding, the code does not care.
The program you launch is pretending to be wuauclt.exe. Windows Update Client, Microsoft Corporation. If it is not already running as admin, it asks Windows to relaunch it with runas, waits a moment, and that first copy exits.
From the elevated copy we can observe two files written under temp: Pen%08x.exe and a 44-byte key file, PenK%08x.k. The eight hex digits are GetTickCount64() XOR the process id, so the names change on every run. It then starts the dropped executable with no arguments.
There is a virtual-machine check against BIOS strings (vmware, virtualbox, qemu, hyper-v, and a few others). A match only skips the louder antivirus step. The stealer is still written to disk and started.
Loader SHA256 0152333b311d60a24c104d81635410ee5c371341cc9baac53aaa708331ae589c.
Payload SHA256 a37830a3b557497e96b58d5a2ecd7d3928cc4515e772137222027efc6a6586b5.
Once the dropped program starts, it decrypts its settings with AES-256-GCM. The config blob begins with the sentinel UMRBLCFG. In this build there is one Discord webhook. The second webhook and the remote kill URL are empty.
Collection runs as a set of jobs across 2 to 8 threads. We can observe 31 Chromium-style browsers and 18 Firefox-style browsers, covering passwords, cookies, history, and site storage (Local Storage, Session Storage, IndexedDB). The same run also goes after Discord tokens, Telegram, wallets, Outlook, Tox, SSH keys, and a couple of game paths.
Alongside the files, it reads clipboard text, takes a webcam frame through DirectShow, captures screenshots, pulls Wi-Fi profiles with netsh wlan show profile … key=clear, and writes a full-memory dump of lsass.exe to LSASS\lsass.dmp.
If it never obtained admin, it copies itself into the user Startup folder as an .exe, into Common Startup as a .scr, and creates a .lnk. There is no Run key in this path. A separate switch rewrites the hosts file.
The collected data is zipped and posted to the webhook as pnmsplit_ attachments, with a small JSON embed. The C++ type on that send path is penumbra::postman. The VM-exit and debugger-exit switches are present, and in this configuration they are off.
The webhook URL and the mutex are decrypted at runtime. They are not stored as plaintext in the file. The mutex in this build is the old MSDN example GUID, Local\{3F2504E0-4F89-11D3-9A0C-0305E82C3301}. The webhook id is 1561545297325465600.
For a retrohunt, the strings that are actually present are PENUMBRA_AV_DONE, PENUMBRA_ANTIVM_HOSTING, PENUMBRA_KEYFILE, pnmsplit_, postman@penumbra, and UMRBLCFG followed by the bytes DE AD BE EF 01 02 03 04.
netsh wlan show profiles and discord[.]com will not carry a content search. Those values are assembled one byte at a time, or they exist only after decryption. json_abi_v3_11_3 and expand 32-byte k are in the file, and they also appear in a lot of unrelated software.
Pen%08x.exe and PenK%08x.k are UTF-16 and belong to the loader. The other PENUMBRA_* names live in the payload, which is embedded in the loader, so a single rule still matches both stages.
I've gotten nothing but political flyers in my mail every day. both sides.
If you're willing to advertise via spamming me, i don't want to vote for you. gfy
Francisco Dubois retweeted
You can now perform content discovery at 100k requests per second with h3fuzz on http/3 hosts (fork of ffuf with http/3 support).
Tool here: github.com/assetnote/h3fuzz
Research post here: slcyber.io/research/how-prac…
Huge thanks to @smica83 for flagging this!
9/10 Clipper addresses stored in the RAT config, plus the matchers used to find a clipboard hit.
BTC bc1qlnzk5wdu0ahamy34vvdgtvdrgljkau2ksedrd2
ETH 0x8ac8f601Af3d9679B3a76985C328Ccd4aca708F4
TRX TWNs6HQQ3FBjsiLj9XY6dfE8ghaBe1cQFW
10/10 The Go binary still contains the builder layout. Paths were not trimmed, and the git tree was dirty when it was linked.
Project: D:/work/execrypt/fud_re/fudstub
Toolchain: D:/work/execrypt/.tools/go
Revision: 24118e0ddd772da6630492d661800760f88e0206
Git time: 2026-10-17T05:39:12Z
.NET TimeDateStamp: 2026-10-15T11:49:17Z
Go build id: Rog33IxKPJAJ0HYylcGd/rQcHl0fF29CME5VGkCG9/0Mytr3JjtE8x_5Q_BLf1/A683HfDcKrXlspl8waBe
6/10 Persistence is two different mechanisms.
The Go stage uses the Run key in post 4. The RAT adds scheduled tasks. The task name and the /tr action are not stored as their own strings. They are inserted between the quotes at runtime.
schtasks.exe /create /f /RL HIGHEST /sc minute /mo 1 /tn "" /tr ""
schtasks.exe /create /f /sc minute /mo 1 /tn ""
schtasks /delete /f /tn ""
The RAT also builds a .lnk through WScript.Shell (TargetPath, WorkingDirectory, Save) and a cleanup .bat: @ echo off, timeout 3, then DEL "" /f /q
7/10 RAT command strings.
PCShutdown: shutdown.exe /f /s /t 0
PCRestart: shutdown.exe /f /r /t 0
PCLogoff: shutdown.exe -L
Hosts: edit \drivers\etc\hosts (success text "Modified successfully!")
StartDDos / StopDDos
RunShell
plugin / sendPlugin / savePlugin / RemovePlugins ("Plugins Removed!")
uninstall / update / CLOSE
Urlopen / Urlhide
PING! / pong
Network template: POST / HTTP/1.1, form-urlencoded, Host taken from the decrypted host, Content-Length fixed at 5235. User-Agents on hand are Firefox 66, Chrome 60, and iPhone OS 11.4.1 Safari.
8/10 Further RAT capability, from imports and strings. These were not each traced through the flattened .NET entry
- Keylogger (SetWindowsHookEx), with labels such as [ENTER], [CTRL], [SHIFT], [WIN]
- Clipboard clipper for BTC, ETH, and TRX. Addresses are in the next post.
- JPEG screenshots via CopyFromScreen
- Webcam via avicap32
- Host survey via WMI (AntivirusProduct, Win32_VideoController, Win32_Processor) and an HWID error string
- RtlSetProcessIsCritical
2/10 SHA-256, and the name each stage uses on disk.
Loader
29bf740f291858f01f7c0c915b5e7137eb29ef25da8b7870f017f0d5abdeac00
Go dropper, written beside the loader as binance.exe
21e9be95e6e1991d162c7e6f4cf961fb512c0dd3c15c88b144115ac14b93d373
.NET RAT, written beside binance.exe as svchost.exe
3afc2428442a664bd732e8b3ec46f6a7eaf86579fef4aa189df5582b73f253fd
4/10 binance.exe is the Go stage. If it is not an administrator it relaunches itself with ShellExecuteW verb runas and returns. The elevated copy continues.
Once it is admin:
- Mutex Global\. A second copy exits.
- Admin check is the Administrators group (S-1-5-32-544), with a fallback open of \\.\PHYSICALDRIVE0.
- Defender: path exclusion, process exclusion, and realtime monitoring disabled.
- Persistence for this stage only: HKCU Run value "Windows Update" set to its own path.
- Writes svchost.exe in the same directory and starts it hidden. It does not wait.
A stage log, fud_stage.log, is written only when FUD_DEBUG=1.
1/10 This is a fake Binance app for Windows. Run it, and you get XWorm 7.4. It is aimed at people who would open a Binance-branded program and paste a Bitcoin, Ethereum, or Tron address.
The package is a loader, an installer, then the trojan. Its servers are 79.110.49[.]17, port 7004.
'binance_fud_carrier.exe' seen from India @abuse_ch
29bf740f291858f01f7c0c915b5e7137eb29ef25da8b7870f017f0d5abdeac00
bazaar.abuse.ch/sample/29bf7…
FUD C2 IP: 79.110.49(.)17
1/6 WKLP Python stealer, two builds ~1 week apart. Same persist/exfil. C2 moved off Discord onto a dedicated relay.
8.9.1 (26 Sep) — Discord API + bot token
9.1.0 (3 Oct) — relay[.]wklp-searcher[.]xyz
Both dropped from a CS2 overlay. The malware is the Python stage.
Python stealer targeting govs. By @anyrun_app
IOCs
SHA256:
073a0534e219b8460acd5a50d891fe23e07369a8a20c29033f5aa2ca22fe8aec
6652be38c965c65a6e5c2de2448f3a9c32211e8e58eabf8a9281c423694efbbb
430a6ca5e157dacd526e40ff7364e0b837b7de76c69c21bc68e103f72c773205
01c32d0737432240adcf0bbc1d32327f0976d3a1e1427774bc8febc8f1c031110fcc32d73854f8a72b9ac2e0b98198f1082f628f4855e87122c11014977f9535
URL:
raw[.]githubusercontent[.]com/wklp/
relay[.]wklp-searcher[.]xyz
#malware












