Open Directory Exposes 15-Node Relay Network and SSH-Deployed DDoS Botnet

Summary
Researchers traced an exposed Iranian-hosted directory to a 15-node relay network and an SSH-driven botnet that compiled DDoS tools on recruited hosts. The operator also used the infrastructure for censorship-bypass tunneling.
Key points
- An exposed directory contained deployment scripts, configuration files, bash history, DDoS tools, and a compiled bot client.
- A shared TLS certificate helped researchers identify 15 related servers, including nodes hosted in Finland and Iran.
- A Python script used stored SSH credentials and up to 500 concurrent sessions to compile and launch the bot client on remote hosts.
- The operator tested SYN- and UDP-flood tools and MHDDOS against two targets; the article says the motive for those attacks was unknown.
- The compiled bot client registered infected hosts with a C2 server and included reconnection logic, so staging-server disruption may not remove deployed bots.
- Researchers assess the operator was likely based in Iran or familiar with Farsi, but found no indication of state-directed activity.
- The article recommends blocking identified infrastructure, monitoring for related files and hashes, and hardening SSH accounts.
Article Details
- Attack Vectors
- A deployment script reads SSH credentials in host:port|username|password format and opens up to 500 concurrent connections to recruit victim hosts.
- After SSH access, the operator downloads C source from the staging directory, compiles it locally with gcc -pthread, renames the executable hex, and launches it in a detached screen session.
- Custom C programs implement raw-socket SYN and UDP floods; the operator also executed proxy-configured DDoS tooling against live targets.
- The same staging infrastructure supports a censorship-bypass relay network and botnet deployment, with an ingress forwarding traffic to a Finnish exit node.
- Compiled bot strings indicate host registration, attack-control commands, packet counting, and automatic reconnection after C2 disconnection.
- Defensive Notes
- Block infrastructure indicators identified by the investigation.
- Monitor for the reported malicious filenames and artifact hashes.
- Monitor gcc execution on hosts where local compilation is unexpected; the operator compiles payloads on victims rather than distributing prebuilt binaries.
- Harden SSH accounts and review credential-based remote access.
- Treat recruited hosts as independently compromised even when C2 is unreachable; recovered strings indicate automatic reconnection.
- Reassess reliance on hash-based detection, binary scanning, and source-IP attribution because the operation uses local compilation and relay infrastructure.
Indicators of compromise
| Type | Indicator | Context |
|---|---|---|
| DOMAIN | bot[.]kilashin[.]info | Investigation-listed infrastructure domain resolving to relay node 65.109.214[.]203. |
| DOMAIN | down[.]celltoocall[.]com | Investigation-listed infrastructure domain resolving to relay node 65.109.213[.]131. |
| DOMAIN | finland1[.]server21[.]org | Relay-network domain listed as resolving to 185.221.239[.]121. |
| DOMAIN | finland2[.]server21[.]org | Relay-network domain resolving to 185.221.239[.]84. |
| DOMAIN | finland4[.]server21[.]org | Relay-network domain listed as resolving to 185.221.239[.]198. |
| DOMAIN | finland5[.]server21[.]org | Investigation-listed infrastructure domain resolving to the botnet staging and C2 server. |
| DOMAIN | finland6[.]server21[.]org | Relay-network domain resolving to 185.221.239[.]160. |
| DOMAIN | hzf09853311[.]xyz | Domain explicitly listed among infrastructure indicators from the botnet investigation. |
| DOMAIN | parsashonam-sub[.]blog | Domain explicitly listed among infrastructure indicators from the botnet investigation. |
| DOMAIN | re[.]dangidog[.]site | Domain explicitly listed among infrastructure indicators from the botnet investigation. |
| DOMAIN | robot5[.]server21[.]org | Domain associated with the suspected additional relay node at 212.74.39[.]128. |
| DOMAIN | server21[.]org | Domain used for the investigated relay network and its node naming scheme. |
| DOMAIN | sir[.]ffakhar[.]ir | Investigation-listed infrastructure domain resolving to 194.147.222[.]183. |
| IPV4 | 185[.]221[.]239[.]121 | Relay-network infrastructure sharing the TLS certificate; associated with finland1.server21[.]org. |
| IPV4 | 185[.]221[.]239[.]160 | Relay-network infrastructure sharing the TLS certificate; associated with finland6.server21[.]org. |
| IPV4 | 185[.]221[.]239[.]162 | Exposed botnet staging server and hardcoded bot C2; also serves as the tunnel ingress. |
| IPV4 | 185[.]221[.]239[.]188 | Investigation-listed relay-network infrastructure sharing the TLS certificate. |
| IPV4 | 185[.]221[.]239[.]198 | Address listed as the resolution destination of relay-network domain finland4.server21[.]org. |
| IPV4 | 185[.]221[.]239[.]84 | Relay-network infrastructure sharing the TLS certificate; associated with finland2.server21[.]org. |
| IPV4 | 185[.]236[.]38[.]79 | Investigation-listed relay-network infrastructure sharing the TLS certificate. |
| IPV4 | 185[.]236[.]38[.]81 | Investigation-listed relay-network infrastructure sharing the TLS certificate. |
| IPV4 | 194[.]147[.]222[.]183 | Investigation-listed relay-network infrastructure sharing the TLS certificate. |
| IPV4 | 212[.]74[.]39[.]128 | Suspected additional relay node associated with a second certificate and robot5.server21[.]org. |
| IPV4 | 65[.]109[.]184[.]58 | Investigation-listed relay-network infrastructure sharing the TLS certificate. |
| IPV4 | 65[.]109[.]187[.]102 | Relay-network node sharing the TLS certificate; configured as the tunnel exit for the staging server. |
| IPV4 | 65[.]109[.]196[.]138 | Finnish relay-network node linked through the shared TLS certificate. |
| IPV4 | 65[.]109[.]204[.]0 | Finnish relay-network node linked through the shared TLS certificate. |
| IPV4 | 65[.]109[.]209[.]147 | Finnish relay-network node linked through the shared TLS certificate. |
| IPV4 | 65[.]109[.]213[.]131 | Investigation-listed relay node sharing the TLS certificate; associated with down.celltoocall[.]com. |
| IPV4 | 65[.]109[.]214[.]203 | Investigation-listed relay-network infrastructure sharing the TLS certificate. |
| SHA256 | 1e3a7e978953bbe040cc5e0743b926fe3407ab949370b791d2de6655a704ef73 | Hash of yse.py, the botnet management script that kills screen processes across recruited hosts. |
| SHA256 | 5c41c075bfb1fcb85095b539e0c97a07c62379518ae1289677b118c550afb5d0 | Second TLS certificate fingerprint associated with suspected relay expansion at 212.74.39[.]128. |
| SHA256 | 73048cb6506443e482935586edb2af3f6a0c8ca44b061172b5be826a0f1e92f6 | Hash of cnc, the compiled bot client recovered during the investigation. |
| SHA256 | acfd59afbb50331925cc3980e7c40044807e0a8bf44e0c38f9f0af9988ea060e | Hash of ohhhh.py, the credential-driven SSH bot deployment script. |
| SHA256 | ba318b710978c277a1ad6f2de81d7d2402607036d0c0e777ec75bc6b6e428974 | TLS certificate fingerprint used to identify servers in the operator's relay network. |
MITRE ATT&CK
T1016 · System Network Configuration DiscoveryThe directory was tagged with T1016, and recovered bot strings indicate that registration beacons contain the victim's IP address.T1021.004 · SSHohhhh.py establishes up to 500 concurrent SSH connections to deploy the bot on victim hosts.T1027.004 · Compile After DeliveryThe operator compiles C payloads on victim hosts with gcc rather than transferring prebuilt binaries, which the article describes as evading binary detection.T1036 · MasqueradingThe deployed bot executable is renamed hex to appear less conspicuous on infected hosts.T1059.004 · Unix ShellRecovered bash history records tunnel installation, compilation, attack execution, and iterative botnet development.T1059.006 · PythonPython scripts automate SSH deployment and remotely terminate screen processes across the botnet.T1078 · Valid AccountsThe deployment script uses a supplied list of host, port, username, and password combinations to authenticate to victim hosts.T1082 · System Information DiscoveryRecovered bot strings indicate that newly infected hosts report their hostname in registration beacons.T1105 · Ingress Tool TransferAfter SSH authentication, cnc.c is pulled from the staging directory onto each recruited host.T1498.001 · Direct Network FloodCustom C programs implement SYN and UDP floods, and recovered bot strings include attack commands and a packet counter.
Vendors
ArvanCloudAmong indicators such as the Iranian ISP hosting, ArvanCloud DNS routing, native Farsi comments, and a relay network purposefully built to skirt Iran's filtering, the individual or group behind this malicious activityDade Samane Fanava Company (PJS)directory file manager in AttackCapture.The server is hosted on infrastructure registered to Dade Samane Fanava Company (PJS), an Iranian ISP. A total of 449 files across 59 subdirectories provided researchers plentyHetzner Online GmbHpivot using the Associations tab surfaced 14 IPs sharing the same fingerprint, seven hosted by Hetzner Online GmbH in Finland, and seven registered to Iranian ISPs Dade Samane Fanava Company (PJS) and SindadLet's Encrypt2: IP Summary for 185.221.239[.]162Checking the TLS certificate history revealed a single active Let's Encrypt issued certificate for *.server21[.]org, first observed on February 14th, ten days before the openOVH SAS(5C41C075BFB1FCB85095B539E0C97A07C62379518AE1289677B118C550AFB5D0) hosted at 212.74.39[.]128, on the OVH SAS network, located in London. This suggests the attacker sought to not only expand, but diversify theirSindad Network Technology PJSCGmbH in Finland, and seven registered to Iranian ISPs Dade Samane Fanava Company (PJS) and Sindad Network Technology PJSC. This does not appear to be a simple case of certificate reuse, but a managed relay network
Products
Tools
Hunt.io AttackCaptureHunt.io's AttackCapture feature indexes open directories observed across the internet and allows users to filter by country, hosting network, tagged malware, and more. One entry, captured on February 24th, stood out:HuntSQLFigure 4: Certificate associations sharing the same fingerprint.To further discover related servers, we decided to pivot on the wildcard domain using HuntSQL.MHDDOStagging allows for a quick overview of what the directory contains. From Figure 1, we can see: an MHDDos installation folder, a .bash_history file, and a MITRE ATT&CK tag (T1016 - System Network Configurationpaqetin HuntA configuration file in the directory named config-client.yaml describes a KCP-based paqet tunnel client where 185.221.239[.]162 acts as the ingress, forwarding traffic on ports 8443 and 2053 torathole-tunnelexecutions of the paqet tunnel deployment script, alongside installations of sepehr-GRE-FORWARDER, rathole-tunnel, and ultimately 3x-ui, indicating the person behind the screen did some iterative troubleshooting.sepehr-GRE-FORWARDERnetwork. Multiple executions of the paqet tunnel deployment script, alongside installations of sepehr-GRE-FORWARDER, rathole-tunnel, and ultimately 3x-ui, indicating the person behind the screen did some iterative
Countries
Finlandidentified a threat actor's full working environment: a censorship bypass tunnel network spanning Finland and Iran, an SSH-based botnet framework, and a compiled bot client with a hardcoded C2 address stillIranDuring a routine review of exposed servers in Iran using AttackCaptureâ¢, Hunt.io researchers identified a threat actor's full working environment: a censorship bypass tunnel network spanning Finland and Iran, an