PAM - Pluggable Authentication Modules

从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)

支持 HackTricks 的其他方式:

WhiteIntel 是一个由 暗网 提供动力的搜索引擎,提供免费功能,用于检查公司或其客户是否受到 窃取恶意软件侵害

WhiteIntel 的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。

您可以访问他们的网站并免费尝试他们的引擎:


基本信息

PAM(可插拔认证模块) 充当一个安全机制,验证试图访问计算机服务的用户的身份,根据各种标准控制他们的访问。它类似于数字看门人,确保只有授权用户可以与特定服务交互,同时可能限制其使用以防止系统超载。

配置文件

  • Solaris 和基于 UNIX 的系统通常使用位于 /etc/pam.conf 的中央配置文件。

  • Linux 系统 更倾向于采用目录方式,在 /etc/pam.d 中存储特定服务的配置。例如,登录服务的配置文件位于 /etc/pam.d/login

登录服务的 PAM 配置示例可能如下所示:

auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so

PAM管理领域

这些领域或管理组包括authaccountpasswordsession,每个负责认证和会话管理过程的不同方面:

  • Auth:验证用户身份,通常通过提示输入密码。

  • Account:处理账户验证,检查诸如组成员资格或时间限制等条件。

  • Password:管理密码更新,包括复杂性检查或防止字典攻击。

  • Session:管理服务会话开始或结束期间的操作,例如挂载目录或设置资源限制。

PAM模块控制

控制指导模块对成功或失败的响应,影响整体认证过程。这些包括:

  • Required:必需模块失败会导致最终失败,但只有在检查所有后续模块后才会发生。

  • Requisite:失败会立即终止进程。

  • Sufficient:成功会绕过同一领域的其余检查,除非后续模块失败。

  • Optional:仅在堆栈中是唯一模块时才会导致失败。

示例场景

在具有多个auth模块的设置中,流程遵循严格顺序。如果pam_securetty模块发现登录终端未经授权,则会阻止root登录,但由于其“required”状态,仍会处理所有模块。pam_env设置环境变量,可能有助于用户体验。pam_ldappam_unix模块共同工作以对用户进行身份验证,其中pam_unix尝试使用先前提供的密码,增强了认证方法的效率和灵活性。

参考资料

WhiteIntel是一个由暗网推动的搜索引擎,提供免费功能,用于检查公司或其客户是否已受到窃取恶意软件损害

WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。

您可以访问他们的网站并免费尝试他们的引擎:

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)

支持HackTricks的其他方式:

最后更新于