大数跨境

挖矿木马/tmp/272587863,启用netstat.service,伪装bluetoothd,清除SSH后门

挖矿木马/tmp/272587863,启用netstat.service,伪装bluetoothd,清除SSH后门 张开辉网络营销工作室
2026-10-15
4

挖矿木马事件总概况:挖矿木马/tmp/272587863,启用netstat.service,伪装bluetoothd


初始木马进程PID: 916 (取得Root权限)

CPU:199.7

父进程PID:753(取得Root权限,单次总线程数量7个)

伪装systemd持久化服务名称:netstat.service

伪装蓝牙守护进程:/usr/local/bin/bluetoothd

挖矿远程终端IP和端口:  185.112.146.184:6280

SSH植入密钥或公钥后门:/root/.ssh/authorized_keys

实例名称:@10-11-164-56

案例操作系统:Ubuntu 24.04 LTS (Noble Numbat)

报警通知时间:2026年10月14日晚20:59分(北京时间)

作者简介: 张开辉,福州张开辉网络营销工作室创始人,全球OWASP安全组织中国区成员,担任2020年11月11-13日东盟国家电机电器云展会网络安全负责人,独创使用Python进行安全防护及报警程序(未公开),全国首个公开SEO和GEO的外贸实战案例的营销人员,本记实案例由张开辉原创,如需转发需转发全文。


第一:发现木马CPU100%的排查第一步:防火墙禁止所有入口流量仅自己可进

1、查询本机上网IP和代理IP, 并使用网页版的控制台的防火墙功能,仅允许自己IP进入服务器,禁止所有端口进入。切断木马的连接。(因大部分木马虽断网但在服务器内会继续运行程序,并链接远程终端,可以查询相关的日志并知道对方的IP)

第二:发现木马CPU100%的排查第二步:登录后台,使用 top 命令查到高CPU的进程。

root@10-11-164-56:~# top

发现进程号916  因执行程序 272587863 , CPU达到 199.7 。这是非常明显的异常。

第三:按常规分析木马进程916的程序及位置等。

# 查看可执行文件路径 命令 ls -l /proc/916/exe

root@10-11-164-56:~# ls -l /proc/916/exe

lrwxrwxrwx 1 root root 0 Oct 14 23:12 /proc/916/exe -> /tmp/272587863

# 查看进程树(看父进程是谁) 命令 pstree -p 916

root@10-11-164-56:~# pstree -p 916

272587863(916)─┬─{272587863}(918)

├─{272587863}(919)

├─{272587863}(920)

├─{272587863}(921)

├─{272587863}(923)

├─{272587863}(1354)

└─{272587863}(1355)

#检查服务日志:journalctl -u <服务名> -n 100

root@10-11-164-56:~# journalctl -u 272587863 -n 100

-- No entries --

备注:木马就把日志删除非常干净了。

# 先查网络连接(挖矿会连矿池) 命令 netstat -antp | grep 916  或者  ss -antp | grep 916

root@10-11-164-56:~# netstat -antp | grep 916

tcp 0 0 10.11.164.56:41096 185.112.146.184:6280 ESTABLISHED 916/272587863

root@10-11-164-56:~# ss -antp | grep 916

ESTAB 0 0 10.11.164.56:41096 185.112.146.184:6280 users:(("272587863",pid=916,fd=13))

#检查可疑目录  命令 ls -la /tmp /var/tmp /dev/shm

root@10-11-164-56:~# ls -la /tmp /var/tmp /dev/shm

/dev/shm:

total 0

drwxrwxrwt 2 root root 40 Oct 14 23:12 .

drwxr-xr-x 18 root root 3940 Oct 14 23:12 ..

/tmp:

total 7420

drwxrwxrwt 11 root root 4096 Oct 14 23:12 .

-rwx------ 1 root root 7552312 Oct 14 23:12 272587863

备注其它省略

第四:常规清除木马进程916


#先取证(可选,建议做) # 记录916连接信息  命令

ss -antp | grep 916 > /root/malware_$(date +%s).log

ps -ef >> /root/malware_$(date +%s).log

root@10-11-164-56:~# ss -antp | grep 916 > /root/malware_$(date +%s).log

root@10-11-164-56:~# ps -ef >> /root/malware_$(date +%s).log

# 计算文件哈希 命令

md5sum /tmp/272587863

sha256sum /tmp/272587863

root@10-11-164-56:~# md5sum /tmp/272587863

8d95e7231dd1ad84d00b02af125716df /tmp/272587863

root@10-11-164-56:~# sha256sum /tmp/272587863

78774375e567f22479880778fdbb20aa106c56ca37b1d0d3c075e9798066df88 /tmp/272587863

#杀死916进程 前 先看父进程是谁  命令 ps -o ppid= -p 916

root@10-11-164-56:~# ps -o ppid= -p 916

753

备注:753 是启动这个挖矿进程的父进程。它可能再次拉起恶意进程。

# 强制杀死 命令 kill -9 916

root@10-11-164-56:~# kill -9 916

#删除恶意文件 # 先删除文件(即使进程在运行也能删,但文件句柄还会占用空间)命令rm -f /tmp/272587863

root@10-11-164-56:~# rm -f /tmp/272587863

备注:会无反应,表示删除成功。

# 确认删除 命令 ls -l /tmp/272587863

root@10-11-164-56:~# ls -l /tmp/272587863

ls: cannot access '/tmp/272587863': No such file or directory

第五:检查持久化机制(关键!否则会被重新拉起)


# 检查所有 crontab 命令

crontab -l

ls -la /etc/cron.d/ /etc/cron.daily/ /etc/cron.hourly/ /etc/cron.weekly/ /etc/cron.monthly/

cat /etc/crontab

for u in $(cut -f1 -d: /etc/passwd); do echo "=== $u ==="; crontab -l -u $u 2>/dev/null; done

# 检查 systemd 服务(挖矿常伪装成服务)

systemctl list-units --type=service | grep -iE 'tmp|272587863|kdev|kinsing'

ls -la /etc/systemd/system/ | grep -vE '^d|total'

grep -rl "272587863\|/tmp/" /etc/systemd/system/ 2>/dev/null

其中操作中,要认真分析

root@10-11-164-56:~# ls -la /etc/systemd/system/ | grep -vE '^d|total'

-rw-r--r-- 1 root root 206 Oct 14 20:58 netstat.service

备注:2026年10月14日20:58分,有个netstat.service 服务,是跟报警时间非常临近,非常可疑。netstat.service 尤其可疑,名字伪装成网络工具,但创建时间就在今天(Oct 14 20:58),而挖矿进程 23:12 启动 —— 时间线吻合。

其他继续检查

# 检查 ld.so.preload 劫持

cat /etc/ld.so.preload 2>/dev/null

# 检查启动项

cat /etc/rc.local 2>/dev/null ls -la /etc/init.d/

# 检查 SSH authorized_keys(是否被留后门)

cat /root/.ssh/authorized_keys 2>/dev/null

在检查到SSH后门,发现异常。

root@10-11-164-56:~# cat /root/.ssh/authorized_keys 2>/dev/null

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH+dcRD2RWrvqm4DENbL0rvehoVR7fecCNR3QKa2vXtg root@10-11-164-56

# 查找最近修改的可疑文件

find /tmp /var/tmp /dev/shm -type f -mmin -120 2>/dev/null

find / -name "*272587863*" 2>/dev/null

# 查看是否有其他同类进程

ps -ef | grep -vE 'grep|sshd|systemd' | awk '$3>50'

# 查看登录记录(判断入侵途径)

last -20

lastb -20

grep -i "Failed password" /var/log/auth.log | tail -20

第六:了解木马父进程753


上述步骤得到 753 是启动这个挖矿进程的父进程,按常规了解一个这个753进程。

ps -p 753 -o pid,ppid,user,%cpu,cmd

ls -l /proc/753/exe

root@10-11-164-56:~# ps -p 753 -o pid,ppid,user,%cpu,cmd  (备注 #确认 753 是什么)

PID PPID USER %CPU CMD

753 1 root 0.0 /usr/local/bin/bluetoothd

root@10-11-164-56:~# ls -l /proc/753/exe (备注 #确认 753 是什么)

lrwxrwxrwx 1 root root 0 Oct 14 23:12 /proc/753/exe -> /usr/local/bin/bluetoothd

root@10-11-164-56:~# systemctl status netstat.service (备注# 查看这个服务的状态)

● netstat.service - System Service for netstat

Loaded: loaded (/etc/systemd/system/netstat.service; enabled; preset: enabled)

Active: active (running) since Wed 2026-10-14 23:12:21 CST; 29min ago

Main PID: 753 (bluetoothd)

Tasks: 12 (limit: 4636)

Memory: 25.6M (peak: 26.1M)

CPU: 59min 5.331s

CGroup: /system.slice/netstat.service

├─ 753 /usr/local/bin/bluetoothd

└─1808 /tmp/272587863

Oct 14 23:12:21 10-11-164-56 systemd[1]: Started netstat.service - System Service for netstat.

root@10-11-164-56:~# journalctl -u netstat.service -n 50 (备注# 查看这个服务的日志)

Oct 14 23:11:07 10-11-164-56 systemd[1]: netstat.service: Unit process 117458 (3244108054) remains running after unit stopped.

备注:木马父进程仍在继续工作,并没有停止。

root@10-11-164-56:~# systemctl cat netstat.service (备注# 查看它实际执行什么)

# /etc/systemd/system/netstat.service

[Unit]

Description=System Service for netstat

After=network.target

[Service] ExecStart=/usr/local/bin/bluetoothd

Nice=-20

Restart=always

RestartSec=3

KillMode=process

[Install]

WantedBy=multi-user.target

其他检查,

1. 检查是否有开机自启的可疑项

root@10-11-164-56:~# systemctl list-unit-files --state=enabled | grep -viE 'ssh|network|systemd|cron|rsyslog|docker|ufw|apparmor|dbus|getty|multi|remote|snap|cloud|unattended|polkit|rsync|iscsi|open-iscsi|modem|e2scrub|sysstat|man-db|apt|dpkg|logrotate|apport|uuidd'

2. 检查 /etc/profile.d/ 和 bashrc(用户登录触发)

root@10-11-164-56:~# ls -la /etc/profile.d/

root@10-11-164-56:~# grep -rn "tmp\|272587863\|curl\|wget" /etc/profile.d/ /etc/profile /root/.bashrc /root/.profile 2>/dev/null | grep -v "^Binary"

3. 检查进程 753 是否还存在

root@10-11-164-56:~# ps -ef | grep -E "753|272587863" | grep -v grep

root 753 1 0 23:12 ? 00:00:00 /usr/local/bin/bluetoothd

root 1808 753 99 23:32 ? 00:26:36 /tmp/272587863

备注:关于 /usr/local/bin/bluetoothd   这是关键伪装。

  • 正常的蓝牙守护进程在 /usr/sbin/bluetoothd 或 /usr/lib/bluetooth/bluetoothd

  • /usr/local/bin/ 是手动安装程序的位置,systemd 服务通常不会放这里

  • 攻击者故意起名 bluetoothd 让它看起来像系统进程

4. 查看最近的登录情况(判断入侵途径)

root@10-11-164-56:~# last -20

root@10-11-164-56:~# grep -i "Accepted\|Failed" /var/log/auth.log | tail -30

输入内容省略

第七:明确判断木马,进行常规清除


上一段的检查,可以得到完整证据链:

netstat.service (伪装成系统服务)

└─ ExecStart=/usr/local/bin/bluetoothd  ← 伪装成蓝牙守护进程

└─ PID 753 (bluetoothd)

└─ /tmp/272587863 (PID 1808) ← 真正的挖矿程序,已复活!

关键证据:

  • systemctl cat netstat.service 显示 Restart=always、Nice=-20(最高优先级)

  • systemctl status 显示 PID 753 的 cgroup 下又拉起了 1808 /tmp/272587863

  • ps -ef 确认 1808 正在运行,99% CPU,已跑 26 分钟

  • 日志显示之前还有 117458 (3244108054) 这个变种名

之前的 kill -9 916 和 rm 只清除了当前实例,守护进程 753 立即又拉起了一个新的(PID 1808)

解决方案如下:

1. 先停掉并禁用恶意服务(阻止复活)

systemctl stop netstat.service

systemctl disable netstat.service

2. 杀掉守护进程和挖矿进程

kill -9 753 1808

ps -ef | grep -E "bluetoothd|272587863" | grep -v grep

3. 删除恶意文件

# 删除服务定义

rm -f /etc/systemd/system/netstat.service

systemctl daemon-reload

systemctl reset-failed

# 删除伪装成 bluetoothd 的木马

ls -l /usr/local/bin/bluetoothd

rm -f /usr/local/bin/bluetoothd

# 删除挖矿程序

rm -f /tmp/272587863

# 确认全部删除

ls -l /usr/local/bin/bluetoothd /tmp/272587863 /etc/systemd/system/netstat.service 2>&1

4. 验证是否彻底清除

# 不应该有任何输出

ps -ef | grep -E "bluetoothd|272587863|3244108054" | grep -v grep (备注# 不应该有任何输出)

systemctl status netstat.service

这个会提示:

root@10-11-164-56:~# systemctl status netstat.service

Unit netstat.service could not be found.

ss -antp | grep -E "185.112.146.184|6280" (备注# 不应该有任何输出)

# 再观察几分钟,确认没有新进程出现

watch -n 5 'ps -ef | grep -E "272587863|bluetoothd" | grep -v grep; ss -antp | grep 185.112' (备注# 不应该有任何输出)

#/usr/local/bin/bluetoothd 再次删除确认

ls -l /usr/local/bin/ | head -50

# 看看 /usr/local/bin 下还有什么可疑文件

file /usr/local/bin/bluetoothd

root@10-11-164-56:~# file /usr/local/bin/bluetoothd

/usr/local/bin/bluetoothd: cannot open `/usr/local/bin/bluetoothd' (No such file or directory)

第八:事后马上把简单密码更改复杂无规律密码,把22端口改为其它5位数端口,同时替换SSH公钥后门仅密钥登录加二维实时动态口令登录,进行时服务器安全升级等。


特别是/root/.ssh/authorized_keys 里新增的公钥 RSA key:  ssh-ed25519 ... root@10-11-164-56, 要删除或做替换处理。这个后门留不得。

#开启SSH的Fail2Ban功能

root@10-11-164-56:~# systemctl start fail2ban

root@10-11-164-56:~# systemctl enable fail2ban

第九:张开辉针对“挖矿木马/tmp/272587863,启用netstat.service,伪装bluetoothd,植入SSH后门”结语


服务器重启并运营多个小时后,正常运营。

挖矿病毒只是表象。攻击者既然能用 root 植入挖矿,也可能:

  • 装了 SSH 后门

  • 改了系统文件,如源文件 /etc/apt/sources.list 也是要重点检查的。

  • 留了其他定时任务

  • 窃取了数据

张开辉认为第一时间如较短时间几秒内就有木马入侵报警通知,及时排除相关的进程,就可以短时间内快速清除并减少损失。


【声明】内容源于网络
0
0
张开辉网络营销工作室
1234
内容 190
粉丝 0
张开辉网络营销工作室 1234
总阅读1.3k
粉丝0
内容190