排查Linux系统中非法.forward文件需聚焦可信性判断:检查属主、修改时间、权限异常;分析内容是否含外部邮箱、管道调用脚本、双通道转发等风险特征;验证MTA是否启用并执行该规则;联动登录记录、历史命令、可疑文件及进程网络行为综合研判。

排查 Linux 系统中非法添加的 .forward 文件,核心不是找“有没有”,而是判“是否可信”。它常被攻击者用于静默外泄邮件、执行恶意脚本或配合横向渗透,必须结合属主、时间、内容、MTA 加载状态和系统行为联动分析。
扫描所有用户主目录下的.forward文件
攻击者通常在提权后的普通账户下植入该文件,系统账户(如 root)主目录一般不启用邮件转发,可暂略。运行以下命令快速定位:
find /home -maxdepth 2 -name ".forward" -type f -ls 2>/dev/null
重点关注三类异常:
- 属主非对应用户(例如
/home/bob/.forward属于root:root) - 修改时间极新(如 24 小时内创建,但用户从未配置过邮件转发)
- 权限过宽(如
-rw-rw-rw-或-rw-r--r--且属组可写)
逐行分析.forward内容风险特征
用 cat 查看可疑文件,不只看目标邮箱,更要看行为逻辑:
- 目标为外部邮箱(如
hacker@yandex.com),且与业务完全无关 - 含管道符
|调用脚本(如|"/tmp/.x.sh"),这是典型后门,脚本可能解析邮件头、提取附件、回传凭证 - 出现
\username后接陌生邮箱(如\alice,attacker@proton.me),表示本地留副本+外发双通道 - 指向
/dev/null却无运维依据(例如非监控告警类账户,却丢弃全部来信) - 多目标混用:同时包含
root、daemon和外部邮箱,意图扩大影响面
确认MTA是否实际加载并执行该规则
.forward 文件存在 ≠ 生效。需验证邮件服务是否启用、是否触发、是否有日志证据:
- Postfix 默认开启
forward_file,但加固环境可能关闭;检查postconf | grep forward_file输出是否为yes - 该规则仅在用户真实收信时触发,空账户或未启用邮箱不会执行
- 查日志确认执行痕迹:
grep "forward.*用户名" /var/log/mail.log,注意时间戳是否与可疑修改时间吻合
联动排查账户与系统异常行为
单独看 .forward 容易误判,必须结合上下文交叉验证:
- 查登录记录:
last -n 50 | grep 用户名,确认该账户近期是否有异常 IP 登录 - 查历史命令:
cat /home/用户名/.bash_history | tail -20,看是否有人为配置转发的痕迹 - 查可疑文件:
ls -la /tmp /var/tmp /dev/shm,匹配.forward中调用的脚本路径(如/tmp/.m.sh) - 查进程与网络:
ps aux | grep -E "(sh|bash).*\.sh"或lsof -i | grep ESTABLISHED,确认脚本是否正在运行、是否外连











