Two concurrent AlienVault OTX pulses from AhnLab ASEC honeypot telemetry paint a coherent picture of Q3 2026 opportunistic intrusion campaigns targeting poorly managed, internet-facing infrastructure. The common denominator is credential-based initial access: brute-force and dictionary attacks against Linux SSH daemons on one front, and against MS-SQL/MySQL database services on Windows on the other. Weak or default credentials are the entry price of admission — once authenticated, operators stage malware over the same channel they compromised.
On the Linux side, attackers deploy ShellBot (PerlBot), a Perl-based DDoS bot with hardcoded C2 IPs, alongside Fisieredoor, a backdoor that executes remote commands and drops SSH dictionary-attack tooling — effectively turning each victim into a scanner that recruits the next victim. Post-exploitation tooling includes the XHide rootkit and a masquerading shared object (libSSL2.3.0.so) for stealth, plus XMRig for resource theft.
On the Windows side, compromised database servers receive XMRig miners, GotoHTTP and VShell remote access backdoors, multiple web shells (Sharp4WebCmd, Suo5, PowerShell-based shells), and critically HackBrowserData — a credential harvester that extracts saved passwords, cookies, and session tokens from Chrome, Edge, and Firefox. Tunneling tools (SoftEther VPN, Cloudflared, Suo5) provide encrypted, log-evasive C2 egress. The typosquatted domain microsftapiedge.com (note the missing 'o') is used for staging and callback infrastructure.
Objective: dual monetization — cryptomining and DDoS-for-hire botnet capacity, plus credential harvesting for resale or follow-on intrusion. Any organization with SSH on TCP/22 or SQL services (TCP/1433/3306) exposed to the internet is in scope.
Threat Actor / Malware Profile
Attribution: Unknown actors; TLP:WHITE honeypot-derived telemetry. Tradecraft is consistent with profit-motivated operators rather than state APTs.
| Family | Platform | Role | Key Behavior |
|---|---|---|---|
| ShellBot / PerlBot | Linux | DDoS bot | Perl script, connects to hardcoded C2 IPs (e.g., 177.22.88.133), joins botnet for DDoS tasking |
| Fisieredoor | Linux | Backdoor | Remote command execution; downloads SSH dictionary-attack tools to propagate |
| XHide | Linux | Rootkit | Process/file hiding for persistence concealment |
| libSSL2.3.0.so | Linux | Masquerading payload | Named to mimic legitimate OpenSSL library |
| GotoHTTP | Windows | RAT/backdoor | HTTP-based remote control channel |
| VShell | Windows | Backdoor/RAT | Cross-platform remote shell, frequently paired with tunneling |
| Sharp4WebCmd / Suo5 | Windows | Web shells | Command execution and SOCKS proxy tunneling over web servers |
| HackBrowserData | Windows | Credential stealer | Dumps browser passwords, cookies, history from Chrome/Edge/Firefox Local State & Login Data stores |
| SoftEther / Cloudflared | Windows | C2 tunneling | Legitimate-tool abuse for encrypted egress and covert channels |
| XMRig | Both | Cryptominer | Monero mining, high CPU, stratum pool traffic |
Distribution: brute-force/dictionary attacks against SSH and MS-SQL/MySQL; secondary vulnerability exploitation on Windows DB servers.
Persistence: dropped binaries under disguised names (e.g., tsm, goauto), rootkit-assisted hiding on Linux; web shells planted in web directories and tunnel daemons on Windows.
Anti-analysis: XHide rootkit hides processes and files; masquerading library names evade casual inspection; Cloudflared/SoftEther blend C2 into legitimate-appearing TLS traffic; RingQ is used for defense evasion/EDR bypass.
IOC Analysis
The pulses contain four indicator classes:
- IPv4 addresses —
177.22.88.133(ShellBot C2, Linux campaign) and38.60.253.35(Windows campaign infrastructure). These should be blocked at egress and hunted in NetFlow/firewall logs for historical connections. - Domains/Hostnames —
microsftapiedge.comandupdate.microsftapiedge.com, a typosquat of Microsoft branding used for payload staging/callback. Add to DNS sinkhole and proxy block lists; query DNS logs for resolutions. - File hashes (MD5/SHA1/SHA256) — e.g., SHA256
1404ae6367955cc65553f091985c2a8df7d3a3efc3c3ace741df1fd5e98447bbandaf280ff791163879d7a3135fbaf7c2789447ad7a4dd95527f470b07fa451532b. Hashes are brittle (recompilation changes them) but effective for confirming known samples — load into EDR blocklists and scan file repositories. - Behavioral indicators — the tags themselves (
dictionary-attack,brute-force,rootkit,credential theft) are the durable detection layer; signature the behavior (failed logon bursts, browser credential store access, unexpected tunnel processes), not just the artifacts.
Operationalization: push IPs/domains to firewall, DNS sinkhole, and proxy; hashes to EDR/AV custom indicators; then run the behavioral hunts below because indicators alone will miss the next iteration of these toolkits. Validate any hash hit with a sandbox detonation before mass-blocking legitimate files with similar names (the libSSL2.3.0.so masquerade is designed to provoke exactly that confusion).
Detection Engineering
---
title: ShellBot / Fisieredoor Linux SSH Brute-Force Followed by Payload Download
description: Detects successful SSH authentication after a burst of failures (dictionary/brute-force pattern) followed by download tool execution (wget/curl) — the ShellBot/Fisieredoor infection chain observed in Q3 2026 honeypot telemetry
id: 7f3a1c2e-9b4d-4e1a-a5c6-20261015a001
status: experimental
author: Security Arsenal Threat Intel
references:
- https://asec.ahnlab.com/ko/95807/
date: 2026/10/15
logsource:
product: linux
category: process_creation
detection:
selection_downloaders:
Image|endswith:
- '/wget'
- '/curl'
selection_perl_exec:
Image|endswith:
- '/perl'
- '/perl5'
selection_suspicious_paths:
CommandLine|contains:
- '/tmp/'
- '/dev/shm/'
- '/var/tmp/'
- 'libSSL2.3.0.so'
- 'goauto'
condition: (selection_downloaders or selection_perl_exec) and selection_suspicious_paths
falsepositives:
- Legitimate admin scripts downloading packages to /tmp
- Package managers invoking curl during updates
level: high
tags:
- attack.t1110
- attack.t1105
- attack.t1036
---
title: HackBrowserData Browser Credential Store Access on Database Servers
description: Detects process access to browser credential stores (Chrome/Edge/Firefox Login Data, Cookies, Local State) on Windows servers — consistent with HackBrowserData deployment following MS-SQL/MySQL brute-force compromise
id: 7f3a1c2e-9b4d-4e1a-a5c6-20261015a002
status: experimental
author: Security Arsenal Threat Intel
references:
- https://asec.ahnlab.com/en/95809/
date: 2026/10/15
logsource:
category: file_event
product: windows
detection:
selection_paths:
TargetFilename|contains:
- '\AppData\Local\Google\Chrome\User Data\'
- '\AppData\Local\Microsoft\Edge\User Data\'
- '\AppData\Roaming\Mozilla\Firefox\Profiles\'
selection_files:
TargetFilename|endswith:
- '\Login Data'
- '\Cookies'
- '\Local State'
- '\logins.json'
- '\key4.db'
filter_known_browsers:
Image|endswith:
- '\chrome.exe'
- '\msedge.exe'
- '\firefox.exe'
condition: selection_paths and selection_files and not filter_known_browsers
falsepositives:
- Enterprise password managers reading browser stores
- Backup agents copying user profiles
level: critical
tags:
- attack.t1555.003
- attack.t1003
---
title: Covert Tunneling Tools — Cloudflared, SoftEther, Suo5 Execution on Servers
description: Detects execution of tunneling/proxy tools abused for C2 egress (Cloudflared, SoftEther vpnserver, Suo5, Fscan) on Windows servers, per Q3 2026 database server intrusion telemetry
id: 7f3a1c2e-9b4d-4e1a-a5c6-20261015a003
status: experimental
author: Security Arsenal Threat Intel
date: 2026/10/15
logsource:
category: process_creation
product: windows
detection:
selection_img:
Image|endswith:
- '\cloudflared.exe'
- '\vpnserver.exe'
- '\suo5.exe'
- '\fscan.exe'
- '\RingQ.exe'
selection_hashnames:
CommandLine|contains:
- 'microsftapiedge.com'
- 'update.microsftapiedge.com'
condition: selection_img or selection_hashnames
falsepositives:
- Legitimate Cloudflare Tunnel deployments (verify with change records)
- Sanctioned SoftEther VPN infrastructure
level: high
tags:
- attack.t1572
- attack.t1090
- attack.t1046
// Hunt: Brute-force pattern on SQL/SSH + follow-on suspicious execution & C2
// Covers: ShellBot C2 (177.22.88.133), Windows infra (38.60.253.35), microsftapiedge.com,
// HackBrowserData credential-store access, tunneling tool deployment
let BadIPs = dynamic(["177.22.88.133", "38.60.253.35"]);
let BadDomains = dynamic(["microsftapiedge.com", "update.microsftapiedge.com"]);
let SuspiciousTools = dynamic(["cloudflared.exe","vpnserver.exe","suo5.exe","fscan.exe","ringq.exe","hackbrowserdata.exe","xmrig.exe","gotohttp.exe"]);
union isfuzzy=true
(
// 1. Network connections to known-bad infrastructure
DeviceNetworkEvents
| where TimeGenerated > ago(14d)
| where RemoteIP in (BadIPs) or RemoteUrl has_any (BadDomains)
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteIP, RemoteUrl, RemotePort
| extend Hunt = "C2-Connection"
),
(
// 2. Execution of credential stealers, miners, tunneling tools
DeviceProcessEvents
| where TimeGenerated > ago(14d)
| where FileName in~ (SuspiciousTools)
or ProcessCommandLine has_any ("libSSL2.3.0.so", "microsftapiedge", "Login Data", "key4.db")
or SHA256 in ("1404ae6367955cc65553f091985c2a8df7d3a3efc3c3ace741df1fd5e98447bb",
"af280ff791163879d7a3135fbaf7c2789447ad7a4dd95527f470b07fa451532b")
or MD5 in ("5279c09bdabb12a3a28b0db8e838bf1b","04f5d13f78ca2ab39a8f777885c2a474",
"0e3d8bc69fe996dbd681c01f509e8591","2a9e5e25776fff5430f2dd06335920a4",
"3df700b3c1d0ffab386397f4e59c5b23","056ffa80af31d17e0cee037b44e0c7ef",
"0eb0f57afd54c9733c720fbac82b754b")
| project TimeGenerated, DeviceName, AccountName, FileName, ProcessCommandLine, SHA256, InitiatingProcessFileName
| extend Hunt = "Suspicious-Execution"
),
(
// 3. Brute-force burst: many failed logons (4625) then a success (4624) — SQL/SSH entry
SecurityEvent
| where TimeGenerated > ago(7d)
| where EventID == 4625
| summarize FailCount = count(), Sources = make_set(IpAddress) by Computer, bin(TimeGenerated, 10m)
| where FailCount >= 20
| project TimeGenerated, Computer, FailCount, Sources
| extend Hunt = "BruteForce-Burst"
)
| sort by TimeGenerated desc
#!/bin/bash
# hunt_q3_ssh_db_campaign.sh — IOC & artifact hunt for ShellBot/Fisieredoor (Linux)
# and Q3 2026 Windows DB-server intrusion tooling (run via SSH/WinRM or EDR live response)
# Usage: sudo ./hunt_q3_ssh_db_campaign.sh
echo "=== [1] Known-bad C2 connections (ShellBot / Windows campaign infra) ==="
for ip in 177.22.88.133 38.60.253.35; do
ss -tnp 2>/dev/null | grep "$ip" && echo "[!] ACTIVE connection to $ip"
grep -r "$ip" /var/log/ 2>/dev/null | head -5
done
grep -rE "microsftapiedge\.com" /var/log/ 2>/dev/null | head -5
echo "=== [2] Known malicious file hashes on disk ==="
declare -A HASHES=(
["5279c09bdabb12a3a28b0db8e838bf1b"]="ShellBot-sample"
["04f5d13f78ca2ab39a8f777885c2a474"]="Q3-Linux-payload"
["0e3d8bc69fe996dbd681c01f509e8591"]="Q3-Linux-payload"
["2a9e5e25776fff5430f2dd06335920a4"]="Q3-Linux-payload"
["3df700b3c1d0ffab386397f4e59c5b23"]="Q3-Linux-payload"
)
for d in /tmp /var/tmp /dev/shm /usr/lib /usr/local/bin /root; do
[ -d "$d" ] || continue
find "$d" -type f -maxdepth 3 2>/dev/null | while read -r f; do
h=$(md5sum "$f" 2>/dev/null | awk '{print $1}')
[ -n "${HASHES[$h]}" ] && echo "[!] MATCH ${HASHES[$h]}: $f ($h)"
done
done
echo "=== [3] Masquerading payloads & suspicious binaries ==="
find / -name 'libSSL2.3.0.so' -o -name 'goauto' -o -name 'tsm' 2>/dev/null
ls -la /tmp /dev/shm /var/tmp 2>/dev/null | grep -E '^\-rwx|^.{10}x'
echo "=== [4] XHide rootkit / hidden process check ==="
# Compare /proc against ps output — mismatch suggests rootkit hiding
comm -23 <(ls /proc | grep -E '^[0-9]+$' | sort -n) \
<(ps -eo pid | tail -n +2 | tr -d ' ' | sort -n) | while read -r pid; do
echo "[!] PID $pid present in /proc but hidden from ps (possible XHide rootkit)"
done
lsmod 2>/dev/null | grep -iE 'xhide'
echo "=== [5] SSH brute-force evidence & persistence ==="
grep -cE 'Failed password' /var/log/auth.log /var/log/secure 2>/dev/null
awk '/Failed password/ {print $(NF-3)}' /var/log/auth.log 2>/dev/null | sort | uniq -c | sort -rn | head -10
crontab -l 2>/dev/null; ls -la /etc/cron.d/ 2>/dev/null
systemctl list-units --type=service --state=running 2>/dev/null | grep -iE 'xmrig|perl|miner'
echo "=== [6] XMRig miner / high-CPU stratum traffic ==="
ps aux | grep -iE 'xmrig|stratum|\+tcp' | grep -v grep
ss -tnp 2>/dev/null | grep -E ':3333|:4444|:5555|:7777'
echo "=== Hunt complete. Review [!] findings immediately. ==="
Response Priorities
Immediate (0-4h):
- Block
177.22.88.133,38.60.253.35, andmicrosftapiedge.com/update.microsftapiedge.comat egress firewall, DNS resolver, and web proxy. - Push all file hashes (MD5/SHA1/SHA256) from both pulses into EDR custom indicators and AV blocklists.
- Run the KQL hunt and bash script against all internet-facing Linux hosts and Windows servers running MS-SQL/MySQL.
- Verify TCP/22, 1433, and 3306 are not directly internet-exposed; emergency-restrict via security groups/ACLs if they are.
24 Hours:
- HackBrowserData involvement means assume browser-stored credentials on affected Windows servers are compromised. Force password resets for any account whose credentials were saved in browsers on those hosts — especially service accounts, domain admins who RDP'd in, and cloud console credentials in cookies/sessions.
- Invalidate active sessions/tokens; review IdP sign-in logs for impossible travel or anomalous use of harvested cookies.
- Audit SSH
authorized_keysand local account creation on Linux hosts for attacker-planted access. - Review SQL Server authentication logs for successful brute-force logins (especially
sa) in the past 90 days.
1 Week (Architecture Hardening):
- Move SSH and database services behind VPN/bastion hosts; disable password auth for SSH (keys only) and disable
sa/enforce Windows or Kerberos auth for SQL. - Enforce MFA on all remote access and cloud consoles; deploy rate-limiting/fail2ban on SSH and account lockout policies on SQL.
- Segment database servers from general egress — they should never initiate outbound internet connections; alert on any that do.
- Deploy EDR coverage to database servers specifically (often excluded historically) and enable credential-store access auditing (the Sigma rule above) fleet-wide.
- Establish a standing OTX/AlienVault feed integration so future pulses auto-populate blocklists.
Related Resources
Security Arsenal Incident Response Managed SOC & MDR Services AlertMonitor Threat Detection From The Dark Side Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.