Back to reports
highPhishing

AgentTesla NSIS Dropper Unmasked: Fake Danish Certificate, AES-Encrypted Payload, and a Live FTP Drop Server with 60+ Stolen Credentials

PublishedMarch 12, 2026
Threat Actors:ProfileAssessment
phishingagentteslacredential-theftc2aptspearphishing

TL;DR: A fresh AgentTesla infostealer sample uses a multi-layered NSIS dropper signed with a fabricated self-signed certificate stuffed with Danish-language nonsense strings to bypass Authenticode checks. The dropper unpacks through three LZMA compression stages and 859KB of AES-encrypted overlay data before injecting a .NET payload via process hollowing. Sandbox analysis revealed the variant exfiltrates stolen credentials over FTP -- not the typical SMTP channel -- to an OVH-hosted drop server at ftp.holzbrenzii[.]com, where we identified one confirmed real-world victim and approximately 60 harvested account credentials. The self-signed certificate was created 20 days before distribution, and consistent Danish vocabulary across every obfuscation layer points to a native Danish-speaking operator.


The Dropper: An NSIS Installer With a Fake Identity

The sample arrived as a 1.19 MB PE32 executable -- an NSIS (Nullsoft Scriptable Install System) v3.01 installer carrying a digitally signed Authenticode certificate. But the signature is a fabrication.

PropertyValue
SHA-256976d47936868a8baa50f82d8d3e338c12d227c3ae32193c9ec999a05048ede91
SHA-13ea8a70a178f1a11be2866140ec8c4a7d68dc18d
MD538b54d5f56ade68d752ffbef7b1a8df5
File Size1,243,096 bytes (1.19 MB)
TypePE32 executable (GUI) Intel 80386, NSIS Installer
NSIS Version3.01
Overall Entropy7.7334
First Seen2026-03-09 (MalwareBazaar, OTX)

The certificate details tell the story immediately. This is not a stolen code signing certificate from a legitimate vendor -- it is a self-signed RSA 4096-bit certificate created on February 17, 2026, exactly 20 days before the sample appeared in the wild.

Certificate FieldValue
Subject CNShellers
Subject OShellers
Subject OUCivilstandsbetegnelsen Andalusiske
Subject EmailBetnksom@Sideformatets[.]Sp
IssuerSELF-SIGNED (Subject = Issuer)
Serial72:0F:4E:4F:78:69:B1:8D:50:C2:D4:98:82:29:29:FF:1D:64:B5:7E
Valid2026-02-17 to 2027-02-17
KeyRSA 4096-bit, SHA-256
SKID2:93:55:B1:BF:5A:F2:5D:BB:C0:9A:0E:9C:23:07:A6:EE:FA:2C:D1

The purpose is straightforward: many automated security controls check whether a binary is signed but do not validate the trust chain. A self-signed certificate with a plausible-looking organization name passes the "is it signed?" gate without requiring a compromised legitimate certificate. The certificate was never submitted to Certificate Transparency logs (not found on crt.sh), as expected for self-signed certs.

The Danish Connection

Every obfuscation string in this sample -- certificate fields, NSIS directory names, script variable names -- uses obscure Danish vocabulary. These are not machine-translated fragments. They are grammatically correct Danish words in proper inflected forms: genitives, definite plurals, compound nouns.

StringDanish TranslationWhere Found
CivilstandsbetegnelsenMarital status designationCertificate OU
AndalusiskeAndalusian (adjective)Certificate OU
BetnksomTruncation of "Betaenksom" (thoughtful)Certificate email
SideformatetsThe page format's (genitive)Certificate email domain
MellemfrekvensIntermediate frequencyNSIS directory
KortblgemodtagereShortwave receiversNSIS directory
dannelsestrinnetsThe education level'sNSIS variable
handelsvirksomhedensThe business enterprise'sNSIS variable
kbstadsboerCity dwellerNSIS variable
KogerierneThe cookeriesNSIS directory
skidtfiskenThe dirty fishNSIS variable

This level of linguistic consistency across all obfuscation layers -- the certificate, the file system paths, the NSIS script internals -- suggests a native or near-native Danish speaker. The choice of "Shellers" as the organization name (English, possibly referencing shellcode) is the only non-Danish string in the entire obfuscation scheme.

Attack Chain: Four Layers Deep

Email (likely) --> Attachment (.exe with icon disguise)
                         |
                   NSIS Installer v3.01
                   (Signed with fake cert)
                         |
                   LZMA Decompression
                   (3 blocks + 9 data blocks)
                         |
              +----------+-----------+
              |          |           |
         NSIS Header  System.dll  Solid Data
         (21.5 KB)   (11.7 KB)   (261 KB)
              |          |           |
              |    Shellcode via    Encrypted
              |    Call export     overlay data
              |          |        (859 KB, AES)
              |          |           |
              +-----> VirtualAlloc/VirtualProtect
                         |
                   Decrypt .NET payload
                         |
                   Process Hollowing/Injection
                         |
                   AgentTesla .NET RAT
                         |
              +----------+-----------+----------+
              |          |           |          |
         Keylogging  Screenshot  Clipboard  Browser
                     Capture    Monitor    Credential
                                           Theft
                         |
                   FTP Exfiltration
                   (holzbrenzii[.]com)

Layer 1: NSIS Archive Unpacking

The NSIS installer contains a precisely structured archive with three LZMA-compressed blocks and nine additional data blocks:

ComponentCompressedDecompressedPurpose
LZMA Block 1~4,652 B21,546 BNSIS script opcodes
LZMA Block 2~6,240 B11,776 BSystem.dll plugin
LZMA Block 3 (solid)93 B261,500 BDropped data files
Data Block 4348,264 B11,197,029 BUninitialized memory
Data Block 510,607 B10,747 BEncrypted data (entropy 7.94)
PE Certificate5,008 B--Self-signed Authenticode cert

Layer 2: NSIS Script Orchestration

The decompressed 21,546-byte NSIS script writes obfuscated data files to directories with Danish-language names, then loads the standard NSIS System plugin (System.dll) and invokes its Call export. The script drops files into paths like:

\amphithuron\Boggruppers0.sexe
\Fejlmargener\loger.daexe
\Ambulante188\Aeroenterectasia84.zifgdp
\behovsbestemt\georginas.dasbin
\Carrow\Blomkaalene\Bonaparte.txt
\Konvojs\Sagomraaderne.isani
\Forslow253.lnk

Note the scrambled file extensions (.sexe, .daexe, .zifgdp) -- a simple anti-scanning technique to prevent file type detection by extension. The Forslow253.lnk shortcut file serves as a persistence mechanism alongside the Software\Trx registry key.

Layer 3: Shellcode Execution via System.dll

System.dll is the legitimate NSIS System plugin (SHA-256: ca30ce8031701a98f423dd3fbed220ba64f5a6636e5a3d4732d659edfedc5f8f). It exports Alloc, Call, Copy, Free, Int64Op, Store, and StrAlloc. The Call export allows the NSIS script to invoke arbitrary function pointers -- in this case, position-independent shellcode that:

  1. Calls VirtualAlloc to allocate executable memory
  2. Calls VirtualProtect to set the correct memory permissions
  3. Decrypts the AES-encrypted overlay data into the allocated region

Layer 4: AES-Encrypted Payload

The 859,343-byte overlay data region is the crown jewel. Its entropy of 7.9998 (out of a theoretical maximum of 8.0) confirms block cipher encryption -- the byte frequency distribution is flat at approximately 0.4% per byte value with maximum deviation under 0.01%. This conclusively rules out XOR or other simple encoding schemes and is consistent with AES-256-CBC, matching the CheckPoint-documented NSIS packer family that uses RC4 or AES with keys derived from NSIS script data.

The decrypted payload is a .NET AgentTesla binary that gets injected into a hollowed legitimate process via process hollowing (T1055.012).

Sandbox Confirmation: FTP Exfiltration, Not SMTP

Dynamic analysis in an ANY.RUN sandbox on March 9, 2026 revealed the actual exfiltration infrastructure. This variant breaks from the typical AgentTesla pattern of SMTP-based data theft -- it uses FTP.

Kill Chain (from PCAP)

  1. NSIS dropper executes, shellcode decrypts .NET AgentTesla payload
  2. Beacon to ip-api[.]com/line/?fields=hosting -- VM/sandbox environment detection
  3. Download second stage from hxxp://109.248.151.219/rFqLwimx179.bin
  4. Harvest saved credentials from Edge Chromium browser
  5. Exfiltrate to ftp.holzbrenzii[.]com as HTML file (PW_<user>-<hostname>_<timestamp>.html)

Attacker Infrastructure

AssetValueDetails
FTP Drop Serverftp.holzbrenzii[.]com198.27.80.139 (OVH, shared cPanel)
FTP Usernamemmmm@holzbrenzii[.]comEmbedded in payload
FTP Password@lilkooll123456Embedded in payload
FTP SoftwarePure-FTPd [privsep] [TLS]
Second Stage URLhxxp://109.248.151.219/rFqLwimx179.binSIA RixHost / DataClub, Latvia
IP Checkip-api[.]com/line/?fields=hostingAnti-sandbox gate

FTP Server Reconnaissance (Shodan)

The FTP drop server at 198.27.80.139 is a shared hosting environment with a wide attack surface:

  • Open Ports: 21, 80, 443, 465, 587, 2082, 2083, 2086, 2087, 2096, 52230
  • Services: Pure-FTPd, Exim 4.96.2, OpenResty/nginx 1.27.1.1, cPanel
  • Hostnames: ns519828.ip-198-27-80.net, 12333.com, apollo.hosterbox.com
  • Known CVEs: CVE-2023-51766, CVE-2025-67896, CVE-2024-39929, CVE-2025-30232

This is purpose-built attacker infrastructure, not a compromised legitimate server -- the domain holzbrenzii[.]com was registered specifically for this campaign.

Victim Impact

We identified one confirmed real-world victim on the FTP server -- a user in Germany, infected on the same day the sample was uploaded to MalwareBazaar. Approximately 60+ account credentials were harvested from the victim's Edge browser. A victim notification was sent via email on March 9, 2026.

MITRE ATT&CK Mapping

TacticTechniqueIDImplementation
Initial AccessSpearphishing AttachmentT1566.001Likely email delivery of signed .exe
ExecutionUser Execution: Malicious FileT1204.002NSIS installer execution
ExecutionNative APIT1106System.dll::Call to VirtualAlloc/VirtualProtect
PersistenceRegistry Run KeysT1547.001Software\Trx registry key
PersistenceShortcut ModificationT1547.009Forslow253.lnk
Defense EvasionSoftware PackingT1027.002NSIS packer with LZMA compression
Defense EvasionObfuscated FilesT1027Multi-layer LZMA + AES encryption
Defense EvasionCode SigningT1553.002Self-signed Authenticode certificate
Defense EvasionProcess HollowingT1055.012.NET payload injected into hollowed process
Defense EvasionDeobfuscate/DecodeT1140Runtime AES decryption of payload
Credential AccessKeyloggingT1056.001AgentTesla keylogger module
Credential AccessWeb BrowsersT1555.003Edge Chromium credential theft (confirmed)
Credential AccessOS Credential DumpingT1003WiFi/VPN credential extraction
CollectionScreen CaptureT1113AgentTesla screenshot capability
CollectionClipboard DataT1115AgentTesla clipboard monitor
ExfiltrationAlternative Protocol: FTPT1048.003FTP exfiltration to holzbrenzii[.]com
DiscoverySystem Information DiscoveryT1082ip-api.com hosting check

Indicators of Compromise

File Indicators

TypeValueDescription
SHA-256976d47936868a8baa50f82d8d3e338c12d227c3ae32193c9ec999a05048ede91NSIS dropper
SHA-13ea8a70a178f1a11be2866140ec8c4a7d68dc18dNSIS dropper
MD538b54d5f56ade68d752ffbef7b1a8df5NSIS dropper
SHA-256ca30ce8031701a98f423dd3fbed220ba64f5a6636e5a3d4732d659edfedc5f8fSystem.dll (NSIS plugin)
SHA-256273e8392cc9d93c6e13b75a224e1bc236d8781613ba741281bd09586bbcb8371Encrypted main payload (206KB)
SHA-25663ad89b70aab6b7ff4078e74d98d8faff750f65e2b453e91b4106752502c1383Encrypted data block (10KB)

Network Indicators

198.27.80.139        # FTP drop server (OVH Canada)
109.248.151.219      # Second stage payload server (Latvia)
ftp.holzbrenzii[.]com   # Attacker-registered FTP drop domain
hxxp://109.248.151.219/rFqLwimx179.bin   # Second stage payload URL

Certificate Indicators

Serial:   72:0F:4E:4F:78:69:B1:8D:50:C2:D4:98:82:29:29:FF:1D:64:B5:7E
CN:       Shellers
Email:    Betnksom@Sideformatets[.]Sp
OU:       Civilstandsbetegnelsen Andalusiske
SKI:      D2:93:55:B1:BF:5A:F2:5D:BB:C0:9A:0E:9C:23:07:A6:EE:FA:2C:D1

Behavioral Indicators

Registry Key:   Software\Trx
File:           \Forslow253.lnk
Directory:      \amphithuron\Boggruppers0\
Directory:      \Carrow\Blomkaalene\Brushanes\
Directory:      \Fejlmargener\
FTP Credential: mmmm@holzbrenzii[.]com / @lilkooll123456

Detection Opportunities

YARA Rules

rule AgentTesla_NSIS_Dropper_Shellers_Cert {
    meta:
        author = "Breakglass Intelligence"
        date = "2026-03-09"
        description = "AgentTesla NSIS dropper with Shellers self-signed certificate"
        hash = "976d47936868a8baa50f82d8d3e338c12d227c3ae32193c9ec999a05048ede91"
        tlp = "TLP:CLEAR"

    strings:
        $nsis_magic = { EF BE AD DE 4E 75 6C 6C 73 6F 66 74 49 6E 73 74 }
        $cert_cn = "Shellers" ascii wide
        $cert_email = "Betnksom@Sideformatets" ascii wide
        $cert_ou = "Civilstandsbetegnelsen" ascii wide
        $nsis_str1 = "Boggruppers0" ascii wide
        $nsis_str2 = "Mellemfrekvens151" ascii wide
        $nsis_str3 = "amphithuron" ascii wide
        $nsis_str4 = "Aeroenterectasia" ascii wide
        $reg_key = "Software\\Trx" ascii wide

    condition:
        uint16(0) == 0x5A4D and
        $nsis_magic and
        (2 of ($cert_*) or 3 of ($nsis_str*)) and
        filesize < 2MB
}

rule AgentTesla_NSIS_Danish_Obfuscation {
    meta:
        author = "Breakglass Intelligence"
        date = "2026-03-09"
        description = "NSIS droppers using Danish-language obfuscation patterns"
        tlp = "TLP:CLEAR"

    strings:
        $danish1 = "Civilstandsbetegnelsen" ascii wide nocase
        $danish2 = "Sideformatets" ascii wide nocase
        $danish3 = "Mellemfrekvens" ascii wide nocase
        $danish4 = "Kortblgemodtagere" ascii wide nocase
        $danish5 = "dannelsestrinnets" ascii wide nocase
        $danish6 = "handelsvirksomhedens" ascii wide nocase
        $danish7 = "kbstadsboer" ascii wide nocase
        $nsis = "NullsoftInst" ascii
        $sysdll = "System.dll" ascii

    condition:
        uint16(0) == 0x5A4D and
        $nsis and $sysdll and
        3 of ($danish*)
}

Suricata Rules

# AgentTesla FTP Exfiltration to holzbrenzii drop server
alert ftp $HOME_NET any -> $EXTERNAL_NET 21 (msg:"BREAKGLASS AgentTesla FTP Exfil - holzbrenzii Drop Server"; flow:established,to_server; content:"holzbrenzii"; nocase; classtype:trojan-activity; sid:2026030901; rev:1;)

# AgentTesla Credential File Upload Pattern
alert ftp-data $HOME_NET any -> $EXTERNAL_NET any (msg:"BREAKGLASS AgentTesla FTP Credential Dump - PW_ HTML Upload"; flow:established,to_server; content:"PW_"; content:".html"; classtype:trojan-activity; sid:2026030902; rev:1;)

# AgentTesla Second Stage Download from Latvian Server
alert http $HOME_NET any -> 109.248.151.219 any (msg:"BREAKGLASS AgentTesla Second Stage Download - rFqLwimx179.bin"; flow:established,to_server; content:"GET"; http_method; content:"/rFqLwimx179.bin"; http_uri; classtype:trojan-activity; sid:2026030903; rev:1;)

# AgentTesla VM Detection Beacon
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"BREAKGLASS AgentTesla Anti-Sandbox - ip-api Hosting Check"; flow:established,to_server; content:"ip-api.com"; http_host; content:"fields=hosting"; http_uri; classtype:trojan-activity; sid:2026030904; rev:1;)

Hunting Queries

Endpoint -- search for persistence artifacts:

Registry key: HKCU\Software\Trx OR HKLM\Software\Trx
File name: Forslow253.lnk
Directory names containing: amphithuron, Boggruppers, Carrow\Blomkaalene, Fejlmargener

Network -- search for FTP exfiltration pattern:

Outbound FTP connections (port 21) to 198.27.80.139
DNS queries for holzbrenzii[.]com
HTTP connections to 109.248.151.219
DNS queries for ip-api.com followed by FTP session within 60 seconds

Certificate -- search for self-signed Authenticode with these identifiers:

Certificate Subject containing "Shellers"
Certificate Subject containing "Sideformatets"
Certificate SKI: D2:93:55:B1:BF:5A:F2:5D:BB:C0:9A:0E:9C:23:07:A6:EE:FA:2C:D1

Attribution Assessment

  • Confidence: LOW
  • Language artifacts: Consistent native-level Danish vocabulary across all obfuscation layers
  • Motivation: Financial (AgentTesla is sold as Malware-as-a-Service)
  • Sophistication: MEDIUM -- uses established NSIS packer with multi-layer encryption and certificate evasion, but the packer is a known commodity toolkit
  • Operational timeline: 20-day window between certificate creation (Feb 17) and sample distribution (Mar 9)

The Danish vocabulary is the strongest attribution signal, but it could be a deliberate false flag. Without panel access, infrastructure pivot points, or OPSEC failures in the decrypted payload, attribution remains low-confidence.

  1. Search all endpoints for SHA-256 976d47936868a8baa50f82d8d3e338c12d227c3ae32193c9ec999a05048ede91
  2. Block 198.27.80.139 and 109.248.151.219 at the network perimeter
  3. Block DNS resolution for holzbrenzii[.]com
  4. Hunt for Software\Trx registry key across all Windows endpoints
  5. Monitor outbound FTP (port 21) for credential dump patterns (PW_*.html)
  6. Deploy the YARA and Suricata rules above to endpoint and network detection systems
  7. Implement certificate validation policies that reject self-signed Authenticode binaries

Published by Breakglass Intelligence. Investigation conducted 2026-03-09. 1 real-world victim identified and notified. FTP drop server credentials recovered. 60+ stolen credentials observed. Classification: TLP:CLEAR

Share