导航

[业内新闻动态] [【转载】] 传统 IRC 僵尸网络活动利用自动化 SSH 入侵管道大规模招募 Linux 主机

#1
abbr_3c4a92417177c103dd04ca547881bf22.jpg
SSHStalker 是一种新发现的 Linux 僵尸网络,它在使用自动化方式通过 SSH 入侵服务器的同时,重新引入了 Internet Relay Chat(IRC)控制。
它主要通过猜测弱密码或重复使用的密码来成功入侵,然后将每个主机变成进行更多扫描和安装的跳板。
在 2026 年初观察到的蜜罐入侵中,攻击者投下了一个名为“nmap”的 Go 语言二进制文件,实际上用于探测端口 22 以寻找新目标。
随后他们下载了 GCC,编译了小型 C 文件,并解压了如 GS 和 bootbou.tgz 等分层归档文件,以部署 IRC 僵尸程序和辅助工具。
准备数据还引用了 2026 年 1 月近 7000 条新鲜的 SSH 扫描结果,包括许多大型云主机范围内的 IP 地址。
2.jpg
Flare 研究人员在检查其样本、流量和基础设施后,发现该集群是以前未记录过的,并与公开报告和常见恶意软件集合进行了对比。
他们描述该操作为规模优先,由拼接起来的组件构建,优先考虑运行时间和低成本而不是隐蔽性,并在 Linux 构建之间重复。
“SSHStalker 攻击流程”追踪了构建和运行管道,包括用 C 和 Perl 编写的多个 IRC 机器人变体以及冗余服务器和通道。
3.jpg

同一套件还会编译针对 shell 历史记录和 utmp/wtmp/lastlog 记录的日志清理程序,并且它携带了老旧的 Linux 2.6.x 漏洞利用程序,这些程序在被遗忘的机器上仍然可以发挥作用。

反弹式持久化

持久化手段虽然简单但非常有效:SSHStalker 会记录其工作目录,并添加一个每分钟运行一次的 cron 任务来执行更新看门狗。
如果防御者终止了主进程,脚本会检查 PID 文件并重启运行程序,通常在大约 60 秒内恢复控制。
这种快速恢复意味着响应人员必须删除套件的每一部分,否则在事件处理完成前,木马会再次返回。
“妥协指标”展示了实际的修复方式:删除每分钟的 cron 条目,删除完整的套件目录(通常在 /dev/shm),并查找由“发行版”助手添加的服务或初始化脚本。
为防止再次入侵,禁用 SSH 密码认证,强制使用基于密钥的访问,限制暴力破解尝试,并限制 SSH 暴露在可信网络中。
在主机上,监测用户目录、/tmp 或/dev/shm 中意外的 GCC 或 make 运行,以及编译后几分钟内执行的新二进制文件。
在网络边缘,监测 IRC 客户端注册和频道加入,并使用出口过滤,以防止服务器与未知的 IRC 基础设施保持长期出站 TCP 会话。
2026-02-12
#2

结论

SSHStalker通过弱密码暴力破解SSH服务建立入口(Source),借助编译型恶意负载(如nmap伪造二进制、C编译的IRC客户端)扩散(Sink),依赖cron持久化和IRC指令实现C2控制。攻击链依赖未更新系统的脆弱性(如Linux 2.6.x漏洞)和临时目录执行权限滥用。


分析路径

L1攻击面识别

  1. 入口点(Source)
    • SSH服务暴露的端口22(弱密码、复用密码)
    • 过时Linux内核漏洞(如2.6.x)
  2. 传播链
    • 感染主机作为扫描跳板(通过伪造的nmap Go二进制扫描端口22)
    • 分层压缩包解压部署IRC僵尸程序(GS、bootbou.tgz)
  3. 持久化机制
    • 每分钟cron任务重启恶意进程
    • PID文件监控实现快速复活

L2假设与验证

  1. 假设:恶意二进制以/tmp或/dev/shm为临时执行目录
    • 验证:检查/dev/shm目录下异常文件及最近修改时间,结合find /dev/shm -mmin -10
  2. 假设:GCC被用于编译C恶意代码
    • 验证:检查编译记录(history | grep gcc),并分析/var/log/secure中非授权用户的gcc/make进程
  3. 假设:IRC客户端通过TCP连接到C2服务器
    • 验证:抓包分析出站IRC流量(6667/6697端口),或检查netstat -anpt | grep irc

L3边界/异常场景

  1. 老旧漏洞利用场景
    • 验证主机内核版本(uname -a),若为2.6.x需紧急升级
  2. 日志篡改检测
    • 检查/var/log/wtmp//var/log/lastlog文件属性及内容完整性(stat命令对比时间戳)
  3. 快速恢复机制测试
    • 手动终止恶意进程后,观察ps或systemctl是否在60秒内自动重启

L4防御反推与修复

  1. 切断入口(Source)
    • 禁用SSH密码登录(PasswordAuthentication no in sshd_config)
    • 限制SSH源IP(IPTables/安全组规则)
  2. 阻断Sink链路
    • 删除/dev/shm可疑目录及cron任务(crontab -l | grep -v "watchdog" | crontab -)
    • 阻断IRC出站连接(iptables -A OUTPUT -p tcp --dport 6667 -j DROP)
  3. 加固与监控
    • 监控临时目录执行权限(chmod 1777 /tmp确保粘滞位但禁止写入恶意二进制)
    • 部署编译行为告警(如通过auditd监控gcc/make的执行)
    • 更新内核及基础软件,移除闲置服务

可执行验证步骤

  1. 终端侧
    # 检查异常cron任务  
    grep "/dev/shm" /etc/cron* -R  
    # 查找内存目录中可疑文件  
    find /dev/shm -type f -exec file {} \; | grep "executable"  
    # 验证日志清理痕迹  
    stat /var/log/utmp | grep Modify  
  2. 网络侧
    # 实时监控IRC连接  
    tcpdump -i any 'port 6667 or port 6697' -nn -B 512 -X  
    # 统计SSH暴力破解来源IP  
    awk '{print $11}' /var/log/secure | grep "Failed password" | cut -d " " -f1 | sort | uniq -c  

修复建议

  1. 强认证
    • 强制SSH密钥认证,禁用root登录,部署Fail2ban限制暴力破解
  2. 最小化暴露面
    • 通过SSH端口改移、内网白名单策略限制访问来源
  3. 持续检测
    • 监控/tmp//dev/shm的异常文件及进程树(如ps fax | grep nmap)
    • 使用EDR工具标记非授权的IRC连接行为

关键点:攻击核心依赖临时目录执行权限和SSH弱认证,修复需从入口控制、Sink路径阻断、以及快速检测反弹行为三方面切入。

2026-02-12
#3
攻击面识别之后的1个完全自动化的Linux 僵尸网络 的自动化攻击流程,就这么完成了。