固件或mbr中不存在“身份凭证嗅探后门”,因其缺乏网络协议栈、文件系统驱动和键盘中断处理等必要能力;凭证嗅探必须依赖运行中的操作系统环境,应优先排查pam模块、内核模块、ld_preload注入及ssh配置等用户态与内核层入口。

固件或MBR中并不存在“身份凭证嗅探后门”这种常见形态。这类说法混淆了攻击层级与行为逻辑——凭证嗅探(如窃取SSH密码、抓取PAM认证过程、记录键盘输入)必须依赖运行中的操作系统环境,需要内核调度、进程内存、系统调用或用户态服务支撑。而UEFI固件和MBR仅在启动早期执行极简代码,不具备网络协议栈、文件系统驱动、键盘中断处理等基础能力,无法完成实时捕获、解析、外传账号密码的完整链路。
为什么固件/MBR不适合做凭证嗅探
UEFI固件可加载.efi应用,但受限于运行环境:无标准libc、无socket API、无持久存储接口;MBR仅512字节,通常只含引导跳转指令。真实攻击中,若需嗅探凭证,攻击者会采用更可行的路径:
- PAM模块劫持(如篡改/lib64/security/pam_unix.so,记录明文密码到/tmp/.log)
- 内核模块hook sys_read/sys_recvfrom,在SSH或Web登录时截获输入缓冲区
- 用户态LD_PRELOAD注入(如劫持sshd或login进程,hook getpass函数)
- TTY层日志重定向(修改/etc/ttys或systemd-logind配置,将登录会话输出转发至恶意管道)
真正该重点排查的凭证嗅探入口
如果你观察到异常密码泄露、重复登录失败后成功、或SSH登录日志缺失,应优先检查以下位置:
- PAM配置与模块完整性:运行rpm -V pam(CentOS/RHEL)或dpkg --verify libpam-modules(Debian/Ubuntu),比对/lib64/security/pam_unix.so哈希值是否匹配官方包
- 可疑LD_PRELOAD滥用:检查/etc/ld.so.preload是否被写入路径;用cat /proc/$(pgrep sshd)/environ 2>/dev/null | tr '\0' '\n' | grep PRELOAD查看sshd进程是否加载了非常规库
- 键盘记录类内核模块:运行lsmod | grep -E '(key|hid|input|log)',特别关注名称含logger、sniff、hook或拼写异常的模块;检查/proc/sys/kernel/modules_disabled是否被设为1(防卸载)
- SSH服务配置异常:用sshd -T | grep -E "(LogLevel|PasswordAuthentication|PermitRootLogin)"确认未启用调试日志或弱策略;检查/etc/ssh/sshd_config末尾是否追加了ForceCommand或AuthorizedKeysCommand指向可疑脚本
如果仍怀疑启动环节异常,只做安全读取验证
仅当出现启动早期网络连接、GRUB菜单延迟卡顿、或Live系统挂载原盘后发现EFI分区存在非签名.efi文件时,才需谨慎验证底层:
- 查看UEFI启动项:efibootmgr -v | grep -A2 -B2 "Loader",确认所有Path都指向/EFI/fedora/shim.efi、/EFI/ubuntu/grubx64.efi等已知可信路径
- 备份并比对MBR:dd if=/dev/sda of=mbr.bin bs=512 count=1 && sha256sum mbr.bin,与同版本系统初始安装时的哈希比对(不要自行覆盖或修改)
- 扫描EFI分区可疑文件:mount /dev/sda1 /mnt && find /mnt/EFI -name "*.efi" -exec file {} \; | grep -v "PE32+ executable",剔除明显非PE格式的伪造文件











