Back to reports
mediumStealer

CastleLoader / maybedontbanplease[.]com

InvestigatedApril 9, 2026PublishedApril 9, 2026
Threat Actors:Russian-speaking
castleloadermaybedontbanpleasec2ratmaasstealertorclickfix

TLP: WHITE Date: 2026-04-09 Analyst: GHOST (Breakglass Intelligence) Classification: Cybercrime -- Malware-as-a-Service (MaaS) Status: DRAFT -- Investigation in progress

Executive Summary

This investigation targets a newly registered domain maybedontbanplease[.]com (registered 2026-04-02) serving as command-and-control infrastructure for CastleLoader, a modular malware loader operated by the threat actor tracked as GrayBravo (formerly TAG-150). The domain resolves to 38[.]180[.]136[.]139, hosted on 3NT Solutions LLP infrastructure (London/Netherlands). The associated NSIS installer sample (SHA256: 4ba0d3ae41a0ae3143e8c2c3307c24b0d548593f97c79a30c0387b3d62504c31) is code-signed with an EV certificate issued to "SERPENTINE SOLAR LIMITED" -- a company that does not exist in UK Companies House records, indicating a fraudulently obtained Extended Validation code signing certificate.

CastleLoader is a sophisticated loader-as-a-service platform that has been active since early 2025, targeting US government agencies, critical infrastructure, IT firms, and logistics companies. It has been linked to the deployment of multiple secondary payloads including LummaC2, StealC, RedLine, Rhadamanthys, DeerStealer, NetSupport RAT, SectopRAT, and others.

Key Findings

  • Domain registered 7 days ago (2026-04-02) via Global Domain Group LLC with Google Cloud DNS nameservers
  • Let us Encrypt certificate issued same day as domain registration (Apr 2, 2026), cert serial 065db17d736521db76fc1367b1cfca14bb35
  • Hosting: 3NT Solutions LLP (UK company, infrastructure in NL/US), IP 38[.]180[.]136[.]139, upstream via Cogent Communications
  • C2 backend is DOWN (504 Gateway Timeout on all paths) -- nginx 1.18.0 (Ubuntu) still running as reverse proxy
  • New code signing certificate: "SERPENTINE SOLAR LIMITED" -- Sectigo Public Code Signing CA EV R36, valid 2026-04-01 to 2027-04-01, serial a2c875fdd0d6fa22a2261813def8a56e -- NOT in UK Companies House (fraudulent EV cert)
  • Previous CastleLoader signing certs: "NOBIS LLC" (GlobalSign, expired), "LLC Territory of Comfort" -- Russian-language entity names suggest Russian-speaking operators
  • Previous C2 IP: 94[.]159[.]113[.]32 (from MalwareBazaar tags) -- WHOIS shows "Komskov Vadim Aleksandrovich" in Novotroitsk, Russia (RU-server21, AS216234)
  • Sample characteristics: 61.8MB NSIS installer, Python 3.14 embedded, AES-encrypted payload (data1.pak, 6.8MB), 100MB of junk padding data (SQLite DBs with random dictionary words, fake config files, fake images)
  • Infection chain: NSIS installer -> extracts Python 3.14 runtime + encrypted payload -> pythonw.exe decrypts data1.pak -> shellcode injection via VirtualAlloc/RtlMoveMemory -> CastleLoader core in memory
  • 16 known CastleLoader samples on MalwareBazaar dating back to November 2025
  • Reporter: SquiblydooBlog (submitted 2026-04-09 17:49 UTC -- same day as this investigation)

What Was Found vs. What Was Known

AspectPrior ReportingOur Findings
C2 DomainNot reportedmaybedontbanplease[.]com (new, Apr 2 2026)
C2 IP94[.]159[.]113[.]32 (historical)38[.]180[.]136[.]139 (current, 3NT Solutions)
Code SigningNOBIS LLC, LLC Territory of ComfortNEW: SERPENTINE SOLAR LIMITED (fraudulent EV cert)
DeliveryClickFix, fake GitHub reposNSIS installer with Python 3.14 embedded
HostingRussian infrastructureShifted to 3NT Solutions (UK/NL), upstream Cogent
Operator nationalitySuspected RussianConfirmed: Russian entity names on certs, Russian hosting on prior C2
C2 StatusActive (historical)Backend DOWN, nginx proxy still running

Attack Chain

Delivery (unknown vector)
    |
    v
NSIS Installer (setup.exe, 61.8MB, signed "SERPENTINE SOLAR LIMITED")
    |
    v
Extracts to %TEMP%:
  - PACKAGE/ (Python 3.14 runtime: pythonw.exe, python314.dll, stdlib)
  - data0.pak (100MB junk padding - SQLite DBs, fake configs, fake images)
  - data1.pak (6.8MB AES-encrypted CastleLoader payload)
  - install.ini (config: package_name=data1.pak, install_path=%TEMP%\vc_redist.x86.exe)
    |
    v
pythonw.exe (windowless Python interpreter)
  -> Runs dynamically generated Python script
  -> Decrypts data1.pak (AES-CBC, key derived from NSIS script or embedded)
  -> VirtualAlloc + RtlMoveMemory + function pointer execution
    |
    v
CastleLoader shellcode (in-memory, no disk artifact)
  -> PEB walking to resolve APIs
  -> GoogeBot User-Agent for C2 comms
  -> Downloads final payload from maybedontbanplease[.]com
    |
    v
Secondary Payload (unknown - C2 is currently down)

Infrastructure Analysis

Network Infrastructure

IPASNProviderPortsServicesStatus
38[.]180[.]136[.]139Cogent/3NT Solutions3NT Solutions LLP (UK)22, 80, 443OpenSSH 8.9p1, nginx 1.18.0LIVE (backend down)
94[.]159[.]113[.]32AS216234Komskov Vadim Aleksandrovich (RU)N/AHistorical C2OFFLINE

Domain Infrastructure

DomainRegistrarCreatedNSPurpose
maybedontbanplease[.]comGlobal Domain Group LLC2026-04-02ns-cloud-e{1-4}.googledomains.comC2

Certificate Analysis

TLS Certificate (Let us Encrypt):

  • Subject: CN=maybedontbanplease.com
  • Issuer: C=US, O=Let us Encrypt, CN=R13
  • Serial: 065db17d736521db76fc1367b1cfca14bb35
  • Valid: 2026-04-02 to 2026-07-01
  • SANs: maybedontbanplease.com (only)
  • Only 2 CT log entries (precert + cert)

Code Signing Certificate (Sectigo EV):

  • Subject CN: SERPENTINE SOLAR LIMITED
  • Issuer: Sectigo Public Code Signing CA EV R36
  • Algorithm: sha256WithRSAEncryption
  • Valid: 2026-04-01 to 2027-04-01
  • Serial: a2c875fdd0d6fa22a2261813def8a56e
  • Thumbprint: e4253d8588b77541fc46bbc224a954770350c53cc2a69e6c3b20386282ccc9f5
  • Not in CSCB (Code Signing Certificate Blocklist) -- NEEDS SUBMISSION
  • SERPENTINE SOLAR LIMITED not found in UK Companies House -- FRAUDULENT

Adjacent IP Analysis (38[.]180[.]136[.]0/24)

IPPortsNotes
.136noneDead
.137135, 3389Windows RDP
.13822, 3389, 5985Windows RDP + WinRM
.13922, 80, 443TARGET -- CastleLoader C2
.14080, 443, 902, 8000, 9080Web server cluster
.14222, 3306, 3389, 5985, 30120FiveM game server + Windows
.14321 ports incl DNS, Elastic, RedisHyperV.mylocal.net -- hypervisor

Hosting Provider

3NT Solutions LLP: UK-registered company (22 Brondesbury Park, Willesden, London NW6 7DL). Technical contact: Raul Eduardo Ribeiro Emmerich. Also registered at Ketelskamp 10, Meppel, Netherlands. Operates AS-level infrastructure via Cogent Communications transit. This is a legitimate ISP that leases dedicated servers -- not inherently bulletproof, but commonly used for malicious hosting due to limited abuse response.

Malware Analysis

Sample Details

Hash (SHA256)TypeSizeFirst SeenFamilySigner
4ba0d3ae41a...NSIS PE3261.8MB2026-04-09CastleLoaderSERPENTINE SOLAR LIMITED

File Hashes

  • SHA256: 4ba0d3ae41a0ae3143e8c2c3307c24b0d548593f97c79a30c0387b3d62504c31
  • SHA1: 6d504e6af3124409d6c86b50a89a8c2e83f9ce31
  • MD5: 660efa6ef10d3f575bc3fadc207da050
  • Imphash: 46ce5c12b293febbeb513b196aa7f843
  • SSDEEP: 1572864:dE83khQpeHV6OaYcMEFoIcelQPWN8zjnY9Gl2BKtD9NgwL:dEWkKCRX4cpGml6KtzL
  • TLSH: T103D73356EBC39151C8C483F6080E8E7169C3ADA3520B5B3DD0A7763A14A919BB875FFC

NSIS Installer Contents

setup.exe (61.8MB, NSIS 3.11 Unicode, LZMA compressed)
  |
  +-- install.ini (NSIS config)
  +-- licfile.txt (junk padding)
  +-- data0.pak (100MB junk - inflated to evade sandbox)
  +-- data1.pak (6.8MB AES-CBC encrypted payload)
  +-- $PLUGINSDIR/
  |     +-- System.dll (NSIS System plugin)
  |     +-- nsDialogs.dll (NSIS Dialogs plugin)
  |     +-- modern-wizard.bmp (NSIS UI)
  +-- PACKAGE/ (Python 3.14.0a1 embedded runtime)
  |     +-- python.exe, pythonw.exe
  |     +-- python314.dll, python3.dll
  |     +-- python314.zip (stdlib, 561 files)
  |     +-- python314._pth (import path config)
  |     +-- python.cat (PKCS#7 catalog -- legit)
  |     +-- _ctypes.pyd, _ssl.pyd, libcrypto-3.dll, etc.
  +-- STORE/ (7 SQLite DBs with junk dictionary-word tables)
  +-- THEMES/ (7 .json files with junk INI-style data)
  +-- CONFIG/ (3 .json files with junk INI-style data)
  +-- IMAGES/ (19 .png files -- padding)
  +-- LOCALIZATION/ (32 fake translation .json files)
  +-- MANUAL/ (10 .docx and .txt files -- padding)

Evasion Techniques

  1. File inflation: 100MB data0.pak filled with junk SQLite databases and random dictionary words to exceed sandbox file size limits
  2. EV code signing: Fraudulent "SERPENTINE SOLAR LIMITED" Sectigo EV certificate to bypass SmartScreen
  3. Windowless execution: Uses pythonw.exe (no console window) for stealth
  4. In-memory payload: CastleLoader shellcode never touches disk after decryption
  5. Language check: Triage reports "Checks computer location settings" -- likely geofencing
  6. Legitimate Python runtime: Uses official Python 3.14 binaries to avoid detection

Encrypted Payload (data1.pak)

  • Size: 6,876,336 bytes
  • Entropy: 8.0000 (maximum -- strong encryption)
  • Block alignment: 16-byte aligned (AES)
  • First 16 bytes (possible IV): 878fb3a337fddfbf0523d66ba3f5c828
  • Decryption: Requires extracting key from NSIS compiled script (not yet accomplished)

Threat Actor Profile

Attribution Assessment

  • Confidence: MEDIUM-HIGH
  • Actor: GrayBravo (Recorded Future designation, formerly TAG-150)
  • Country/Region: Russia (evidence below)
  • Motivation: Financial -- operates CastleLoader as a Malware-as-a-Service platform
  • Sophistication: HIGH -- rapid development cycles, EV cert procurement, NSIS+Python+AES multi-layer delivery

Evidence for Russian Attribution

  1. Previous code signing cert "NOBIS LLC" -- Russian LLC format
  2. Previous cert "LLC Territory of Comfort" -- Russian-style company name
  3. Historical C2 IP 94[.]159[.]113[.]32 registered to "Komskov Vadim Aleksandrovich" in Novotroitsk, Russia
  4. CastleLoader checks system language/location -- common Russian actor geofencing (avoid CIS targets)
  5. Domain name "maybedontbanplease" -- English with taunting tone, consistent with Russian-speaking operators who use English for infrastructure

OPSEC Observations

  • Domain name suggests operator awareness they will be detected and banned
  • Shift from Russian hosting (94.159.113.x) to 3NT Solutions (UK/NL) may indicate attempts to improve infrastructure resilience
  • EV certificate procurement under fraudulent company name shows access to certificate broker/supply chain
  • Using Google Cloud DNS for a malware C2 domain -- hiding behind legitimate DNS infrastructure
  • Python 3.14.0 alpha 1 (Oct 2025 build) -- using bleeding-edge Python version, possibly to avoid detection rules targeting specific Python versions

CastleLoader Campaign Timeline

DateEvent
2025-11-05First CastleLoader samples on MalwareBazaar (9 samples, signed by "LLC Territory of Comfort" and "NOBIS LLC")
2026-01-23Additional CastleLoader samples submitted by JAMESWT_WT
2026-04-01"SERPENTINE SOLAR LIMITED" EV cert issued by Sectigo
2026-04-02maybedontbanplease[.]com registered via Global Domain Group LLC
2026-04-02Let us Encrypt TLS cert issued for maybedontbanplease[.]com
2026-04-03Sample build timestamp (file creation dates in NSIS archive)
2026-04-09Sample submitted to MalwareBazaar by SquiblydooBlog
2026-04-09C2 backend observed DOWN (504 Gateway Timeout)

MITRE ATT&CK Mapping

TacticTechniqueIDApplication
Initial AccessUser ExecutionT1204.002Victim runs trojanized NSIS installer
ExecutionCommand and Scripting Interpreter: PythonT1059.006pythonw.exe runs decryption/loader script
ExecutionNative APIT1106VirtualAlloc, RtlMoveMemory for shellcode exec
Defense EvasionCode SigningT1553.002Fraudulent EV cert "SERPENTINE SOLAR LIMITED"
Defense EvasionObfuscated Files or InformationT1027AES-encrypted payload, junk padding files
Defense EvasionProcess InjectionT1055WriteProcessMemory observed in sandbox
Defense EvasionVirtualization/Sandbox EvasionT1497Language/location checks, 100MB file inflation
Defense EvasionMasqueradingT1036.005Payload renamed to vc_redist.x86.exe
DiscoverySystem Location DiscoveryT1614Checks computer location settings
Command and ControlApplication Layer Protocol: WebT1071.001HTTPS C2 via maybedontbanplease[.]com

IOC Summary

Network Indicators

IOCTypeContext
maybedontbanplease[.]comDomainActive C2 domain
38[.]180[.]136[.]139IPv4Current C2 IP
94[.]159[.]113[.]32IPv4Historical CastleLoader C2
2a0c:6741::c2fcIPv6C2 AAAA record

File Indicators

HashTypeDescription
4ba0d3ae41a0ae3143e8c2c3307c24b0d548593f97c79a30c0387b3d62504c31SHA256NSIS installer (this sample)
660efa6ef10d3f575bc3fadc207da050MD5NSIS installer
6d504e6af3124409d6c86b50a89a8c2e83f9ce31SHA1NSIS installer
46ce5c12b293febbeb513b196aa7f843ImphashNSIS installer import hash

Code Signing Certificates

Subject CNIssuerSerialStatus
SERPENTINE SOLAR LIMITEDSectigo Public Code Signing CA EV R36a2c875fdd0d6fa22a2261813def8a56eACTIVE -- needs revocation
NOBIS LLCGlobalSign GCC R45 EV CodeSigning CA 20207430df78b157110d91c7e0f0Expired 2026-02-25
LLC Territory of ComfortUnknownUnknownUnknown status

Behavioral Indicators

  • User-Agent: GoogeBot (note: intentional misspelling of GoogleBot)
  • Install path: %TEMP%\vc_redist.x86.exe
  • Python runtime: pythonw.exe (windowless)
  • NSIS plugins: System.dll, nsDialogs.dll

Immediate (24-48 hours)

  • Block maybedontbanplease[.]com and 38[.]180[.]136[.]139 at perimeter
  • Hunt for the code signing certificate thumbprint e4253d8588b77541fc46bbc224a954770350c53cc2a69e6c3b20386282ccc9f5 in endpoint logs
  • Search for pythonw.exe execution from %TEMP% directories
  • Block the GoogeBot User-Agent string at web proxies

Short-term (1-2 weeks)

  • Submit SERPENTINE SOLAR LIMITED cert to Sectigo for revocation
  • Submit cert to abuse.ch CSCB
  • Submit IOCs to ThreatFox
  • Monitor for new CastleLoader domains with similar taunting naming patterns

Medium-term (1-3 months)

  • Deploy YARA rules for CastleLoader NSIS+Python delivery pattern
  • Monitor 3NT Solutions /24 for additional C2 infrastructure
  • Track GrayBravo certificate procurement patterns

Abuse Reports

Sectigo (Certificate Revocation)

  • Certificate: SERPENTINE SOLAR LIMITED (EV Code Signing)
  • Serial: a2c875fdd0d6fa22a2261813def8a56e
  • Evidence: Used to sign malware (CastleLoader), company does not exist in UK Companies House
  • Contact: sslabuse@sectigo.com

3NT Solutions (Hosting)

  • IP: 38[.]180[.]136[.]139
  • Evidence: Hosting CastleLoader C2 infrastructure
  • Contact: abuse@3nt.com

Global Domain Group (Registrar)

References


GHOST -- Breakglass Intelligence "One indicator. Total infrastructure."

Share