首页/安全/取证与溯源速查/登录提示脚本与 motd 后门
Linux 取证135 条

登录提示脚本与 motd 后门

Ubuntu/Debian 会在登录时执行 /etc/update-motd.d/ 下脚本,输出拼接成欢迎信息;这里的脚本以 root 权限运行,容易被用作触发点。

取证与溯源速查安全更新于 2026-10-13

登录时以 root 运行的脚本

Ubuntu、Debian 系在登录时会执行 /etc/update-motd.d/ 下的脚本,把它们的标准输出拼接成欢迎信息展示给登录者,这套机制由 PAM 的 pam_motd 模块触发。关键在于这些脚本以 root 权限运行,因此这个目录是理想的持久化位置:只要有人登录,脚本就会被执行,不需要额外的触发条件。

只读核查,不执行

核查方式是列出目录内容、按时间排序看哪些脚本是后来加进来的,再逐个读取内容确认没有下载、执行或反向连接的逻辑。重要的是不要在当前终端直接运行这些脚本——它们可能立即触发攻击者设定的动作。

基本信息

适用平台Ubuntu/Debian 系(update-motd 机制);其他发行版可能没有该目录
相关路径/etc/update-motd.d/、/etc/motd、/etc/issue、/etc/issue.net
触发方式SSH 或本地登录时由 PAM 调用
运行权限以 root 执行,影响面大
替代机制其他发行版多用静态 /etc/motd 或 PAM 横幅配置

典型使用场景

  • 主机长期被控且找不到持久化点:检查这个目录里的脚本
  • 登录时出现异常提示:确认提示由哪个脚本产生
  • 批量核查多台主机:比对脚本清单与预期基线
  • 清理后复核:删除可疑脚本并确认登录提示恢复正常
  • 建立基线:把正常脚本的名称与哈希记录下来,便于对比

核查脚本与横幅

核查脚本与横幅
# 按时间排序查看脚本,新增的脚本通常时间更近
ls -lt --time-style=long-iso /etc/update-motd.d/ | head

# 逐个查看内容,重点关注下载、执行与网络调用
head -20 /etc/update-motd.d/* 2>/dev/null

# 静态横幅与 PAM 配置
cat /etc/motd /etc/issue /etc/issue.net 2>/dev/null | head -20
grep -R 'pam_motd\|motd' /etc/pam.d/ 2>/dev/null

# 记录文件哈希作为基线,后续比对
sha256sum /etc/update-motd.d/* > /mnt/ev/motd-baseline-$(date +%Y%m%d).txt

目录内常见脚本与判断

脚本名正常作用异常迹象
00-header显示系统标识内容被替换为异常命令
10-help-text显示帮助信息被追加额外命令
50-motd-news显示公告指向未知外部地址
90-updates-available显示可更新包数被替换为下载脚本
无编号的奇怪名称不属于默认集合新增即可疑,需逐行核对
不要在当前终端直接执行这些脚本进行「测试」:它们以 root 运行,可能立即触发下载与执行动作,也会刷新时间戳。
非 Debian 系主机通常没有该目录,此时应转向 /etc/motd、/etc/profile、/etc/profile.d/ 与 PAM 配置等常见登录触发点,核查思路一致:看谁以高权限在登录时执行了什么。

易错点

  • 直接运行脚本验证:以 root 触发攻击动作,并刷新文件时间戳
  • 只看 /etc/motd:忽略了真正被改的是 update-motd.d 下的脚本
  • 只检查 Debian 系路径:其他发行版的登录触发点完全不同
  • 只看文件内容不看时间戳:无法判断脚本是何时被加入的
  • 清理后不做基线记录:下次出现同类改动时没有对照

数据来源与参考

  • Ubuntu 官方文档(update-motd)
  • pam_motd 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌