CloudSEK Investigates Doorway Botnet Targeting IoT Devices and Servers

· Original article ↗

Summary

CloudSEK analyzed exposed Doorway workspaces, finding a Rust exploitation engine, staged loaders and evidence of compromised devices and Java services. The final clients' capabilities and large-scale RouterOS reverse-shell deployment remain unconfirmed.

Key points

  • Two byte-identical exposed workspaces contained about 41 GB of operational material, including a Rust engine with 59 exploit modules targeting network devices and Java services.
  • The engine fingerprints targets, performs read-only probes and uses default or learned credentials alongside exploitation modules before attempting payload delivery.
  • Architecture-aware loaders use multiple delivery methods, while optional IP-bound HMAC signatures restrict payload retrieval to the intended address.
  • Recovered evidence includes 20 Jenkins hosts with confirmed remote code execution and 16 Openfire plugin uploads across non-lab targets.
  • A RouterOS-specific stage2.so implant beacons and attempts to open a reverse shell, but the available field log does not establish successful execution or large-scale deployment through that branch.
  • The operator's ledger reports 11,363 joins and 58,920 fetches in a 60-minute window; the final clients' tasking and complete command-and-control behavior remain unknown.
  • Defensive opportunities include monitoring for the scanner's 'Hello World' user agent, suspicious ICMP beacons, unauthorized Openfire plugins and unexpected RouterOS SOCKS configurations.

Article Details

Attack Vectors
  • Automated scanning and fingerprinting of exposed devices and Java services, followed by target-specific exploitation.
  • Default and previously exposed credentials used to authenticate to network devices.
  • Command injection, path traversal, configuration manipulation, and malicious plugin uploads used to deliver architecture-specific payloads.
  • A RouterOS exploitation chain targeted CVE-2023-30799, although the recovered field log did not establish successful execution through that branch.
Defensive Notes
  • Block the identified delivery, beacon, and scanning infrastructure and preserve network, DNS, proxy, and firewall logs.
  • Hunt for ICMP beacons and TCP/4444 connections to the primary beacon receiver, suspicious NFS mounts, and GET requests using the Hello World User-Agent.
  • Restrict internet-facing device administration, rotate default and reused credentials, and monitor authentication attempts and subsequent configuration changes.
  • Audit RouterOS SOCKS configurations, unexpected accounts and stage2.so references; patch or isolate exposed Java services and review Openfire plugins.

Indicators of compromise

TypeIndicatorContext
DOMAIN19z[.]inShort-domain payload delivery alternative used alongside direct-IP delivery.
DOMAIN45[.]205[.]1[.]9[.]sslip[.]ioOpenfire SSRF persona associated with the operation's beacon address.
DOMAINfd6[.]euShort domain used for payload delivery through character-limited injection sinks; later recorded as NXDOMAIN.
IPV416[.]5[.]0[.]225Attacker staging mirror and member of the scanning source pool.
IPV416[.]5[.]0[.]226Attacker staging mirror containing artifacts identical to the other mirror.
IPV416[.]5[.]0[.]241Scan server identified in the operation's infrastructure.
IPV4176[.]98[.]182[.]21Secondary beacon address named in the deployment ledger.
IPV4184[.]174[.]96[.]216Probe host identified in the operation's infrastructure.
IPV445[.]205[.]1[.]9Primary ICMP execution-beacon receiver and stage2.so reverse-shell endpoint.
IPV445[.]90[.]13[.]11NFS server used as an alternative payload delivery path.
IPV445[.]90[.]13[.]169Payload fileserver used by the Openfire plugin and RouterOS delivery scripts.
IPV446[.]246[.]97[.]179Retired payload host retained as the Openfire plugin builder's default payload base.
SHA2561fc4d07f44b576cfa77092c143d432cb089ce10ed38ac7559e77ae6b4c85b509Malicious ofvalid.jar Openfire plugin that retrieves and executes a client.
SHA2564f3bac31caf103ec8fcf47f979ce94bc35b0d295d43ebebb602e85033b2986a8wtg83.xml malicious Linux execution template.
SHA25673f67931bb28b97da3311ee5ab2babea06de82c13fec10a8298b5902e88c459fRouterOS stage2.so implant that beacons and attempts to open a reverse shell.
SHA256e07a71c229952c52008fc52dd5beb06e2e299f8d51d84ac08a5acb57f29480fdwtg83w.xml malicious Windows execution template.
SHA256f1292b5d6dd752d51bfe6bdf03f6244ac50e0fb0876e5d4e061d11c191cb5503wtg83 shell loader used for architecture-specific payload delivery.
SHA256f4e650447e879edcb7ae9b70b1a7168834414f868e924eb56358711565e07ed0wtg83.ps1 Windows payload loader.
URLhxxp[:]//151[.]243[.]11[.]210/wtg83.a64Architecture-specific malicious client URL requested by the wtg83 loader.
URLhxxp[:]//151[.]243[.]11[.]210/wtg83.arm5Architecture-specific malicious client URL requested by the wtg83 loader.
URLhxxp[:]//151[.]243[.]11[.]210/wtg83.arm7Architecture-specific malicious client URL requested by the wtg83 loader.
URLhxxp[:]//151[.]243[.]11[.]210/wtg83.mipsArchitecture-specific malicious client URL requested by the wtg83 loader.
URLhxxp[:]//151[.]243[.]11[.]210/wtg83.mpslArchitecture-specific malicious client URL requested by the wtg83 loader.
URLhxxp[:]//151[.]243[.]11[.]210/wtg83.ps1Retired server URL used to download and execute the Windows PowerShell loader.
URLhxxp[:]//151[.]243[.]11[.]210/wtg83.x86Architecture-specific malicious client URL requested by the wtg83 loader.

MITRE ATT&CK

CVE

Malware

Products

Related Articles