暴力写入攻击通过高频ctime更新、nlink异常波动及inode号紧邻复用暴露,可用find/stat/lsof等命令组合快速识别并溯源。

暴力写入系统服务配置文件(如 /etc/ssh/sshd_config、/etc/systemd/system/*.service、/etc/nginx/nginx.conf)往往不是为修改功能,而是为持久化后门、禁用安全策略或劫持启动流程。这类攻击不依赖高权限进程,而靠反复覆盖写入——Inode 元数据的异常变动比文件内容本身更早暴露问题。
盯住 ctime 高频刷新
每次 chmod、chown、重定向覆盖(> /etc/ssh/sshd_config)、或 sed -i 修改都会触发 ctime 更新。人工运维极少在 60 秒内对同一服务配置文件执行 5 次以上 ctime 变更。
- 查最近 3 分钟内 ctime 变更超 8 次的服务类配置文件:
find /etc /usr/lib/systemd /etc/nginx -type f \( -name "sshd_config" -o -name "*.service" -o -name "nginx.conf" -o -name "httpd.conf" \) -cmin -3 | xargs -r stat -c "%n %z %i" 2>/dev/null | sort - 重点关注输出中时间戳密集、且 inode 号相同但时间差小于 5 秒的条目——这是脚本循环写入的典型特征
识别 nlink 异常归零再跳升
攻击者用 ln -sf 替换服务文件,或用 cp 覆盖失败后残留临时文件,会导致硬链接数(nlink)剧烈波动:正常配置文件 nlink 多为 1 或 2;若观察到某路径 nlink 在 0→1→0→2 短时反复,基本可判定被自动化工具操作。
宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。
- 对关键路径做两次快照比对:
stat -c "%n %h %z" /etc/ssh/sshd_config(间隔 20 秒再执行一次) - nlink 值突变为 0 后又恢复,且 ctime 更新间隔极短,说明有进程正强制重建该文件链接
捕获 inode 号紧邻复用现象
删除旧配置再立即创建新文件时,ext4 文件系统倾向于分配相邻 inode 号。暴力写入脚本不等待回收,会快速触发“删-建”循环,留下如 inode 98765 → 98766 → 98767 的连续号段。
- 监控指定目录下新建文件的 inode 分布:
find /etc/systemd/system -maxdepth 1 -type f -name "*.service" -printf '%i %T@ %p\n' 2>/dev/null | sort -n | tail -10 - 若末尾 5 行 inode 号连续或差值 ≤ 3,且对应时间戳集中在同一分钟内,就是高置信度攻击信号
联动日志与进程溯源
Inode 变动只是表象,需结合上下文确认源头:
- 查触发写入的进程:
lsof +D /etc/ssh/ 2>/dev/null | awk '$4 ~ /[0-9]+[uw]/ {print $2,$3,$4,$9}' | sort -u(找正在写 ssh 目录的 PID) - 匹配 auth 日志中的异常时间点:
journalctl --since "2026-05-27 12:50:00" | grep -E "(sshd|systemd|nginx)" | head -15 - 检查 crontab 或 systemd timer 是否配置了高频任务:
systemctl list-timers --all | grep -E "(min|hour)"和crontab -l; ls /etc/cron.d/










