SSH后门
SSH软连接后门
后门原理
在sshd服务配置运行PAM认证的前提下,PAM配置文件中控制标志为sufficient时只要pam_rootok模块检测uid为0(root)即可成功认证登陆。
也就是说,软连接后门是利用了PAM配置文件的作用,在我们将sshd文件软连接名称设置为 su 之后,在启动过程中他会去 PAM 配置文件夹中寻找是否存在对应名称的配置信息(su),然而 su 在 pam_rootok 只检测 uid 0 即可认证成功,这样就导致了可以使用任意密码登录:
ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oport=12346
根据原理我们可以知道配置文件的核心是pam配置中的pam_rootok.so,所以只需包含这句话就可以实现后门功能,而且默认的配置文件中除了su,还有其他的可利用的配置文件。
echo "auth sufficient pam_rootok.so" >> /etc/pam.d/hacker cat /etc/pam.d/hacker ln -sf /usr/sbin/sshd /tmp/hacker;/tmp/hacker -oport=12347
在etc/pam.d/
目录下查找包含pam_rootok.so
配置的文件
我们可以发现还有 chsh
,chfn
包含着 pam_rootok.so
。
tips:软连接的路径对后门没有影响,无论是 /tmp/su
还是 /home/su
还是 /usr/local/su
都可以,只要文件位置有su文件。
配置信息的关键口令是:auth sufficient pam_rootok.so
,所以我们可以在找不到其他的可以进行软连接的文件时,自己创建一个包含 auth sufficient pam_rootok.so
的文件进行软连接。
优点:能够绕过一些网络设备的安全流量监测,但是本地在查看 时会暴露端口,建议设置成 8081,8080等端口。
小结
Linux软连接ssh后门需要ssh配置允许PAM认证才能使用。
如果被控主机不允许root登陆可用其他已存在用户登陆。
通过软连接的方式,实质上PAM认证是通过软连接的文件名(如:/tmp/su,/home/su)在
/etc/pam.d/
目录下寻找对应的PAM配置文件(如:/etc/pam.d/su)任意密码登陆的核心是
auth sufficient pam_rootok.so
,只要PAM配置文件中包含此配置即可SSH任意密码登陆,实践表明,可成功利用的PAM配置文件除了su还有chsh、chfn。