权限维持 | SSH软链接后门

01 后门命令

经典后门:对sshd建立软链接,即可使用任意密码登录。


1、创建后门


ln -sf /usr/sbin/sshd /路径名/su; /路径名/su -oPort=端口号


2、任意密码登


ssh 用户名@x.x.x.x -p 端口号


02 原理

       在sshd服务配置启用PAM认证的前提下,PAM配置文件中控制标志为sufficient时,只要pam_rootok模块检测uid为0(root)即可成功认证登录。

       通俗点来说,一是sshd服务启用PAM认证机制,在/etc/ssh/sshd_config文件中,设置UsePAM 为yes。如果不启用PAM,系统严格验证用户密码,不能建立后门。

       二是在/etc/pam.d/目录下,对应文件里包含”auth sufficient pam_rootok.so”配置,只要PAM配置文件中包含此配置即可SSH任意密码登录。

       对比一下/etc/pam.d/sshd配置文件和/etc/pam.d/su配置文件,不难发现,前者没有包含如上配置,而后者包含该配置。

       直接启动/usr/sbin/sshd,默认使用/etc/pam.d/sshd的pam配置文件,因而不能建立任意密码登录的后门。

        而通过软链接的方式,实质上PAM认证是通过软链接的文件名(如:/tmp/su,/home/su),在/etc/pam.d/目录下寻找对应的PAM配置文件(如:/etc/pam.d/su)。

sshd_config配置

PAM配置文件

03 利用

        使用命令创建后门;通过前后对比,可以看到开启了12345端口并处于监听状态。

       在cmder中连接ssh,输入任意密码,成功登录。

       软链接的路径不是绝对的,你可以任意设置,也可以使用除su以外的文件名,只要/etc/pam.d/目录下能找到对应的文件,且该文件中包含”auth sufficient pam_rootok.so”配置即可。(不懂的再看看原理,不再赘述)

       可以看到,在/etc/pam.d/目录下,还有以上文件包含了该配置,这些文件名都可以用来创建后门。我们甚至还可以创建一个包含该配置的文件到/etc/pam.d/目录下来创建后门。

       当然,我们还可以使用其他用户来登录。

04 检测防御

       这类后门会开启监听端口,我们可以先查看/etc/pam.d/目录下有哪些文件包含该配置,然后通过管道符找到异常端口及进程,再通过进程找到异常文件,杀掉进程,不启用PAM认证即可。

05 免责声明

        安全小白团是帮助用户了解信息安全技术、安全漏洞相关信息的微信公众号。安全小白团提供的程序(方法)可能带有攻击性,仅供安全研究与教学之用,用户将其信息做其他用途,由用户承担全部法律及连带责任,安全小白团不承担任何法律及连带责任。