漏洞复现篇:ssh爆破

1.ssh定义与原理

SSH是一种广泛应用于远程登录、命令执行、文件传输等场景的网络协议,它为用户提供了在不安全网络上进行安全通信的能力。其工作原理基于公钥加密技术,确保数据在传输过程中不被窃听、篡改或伪造。

1.1主要功能与特性

  • 数据加密:SSH对所有传输的数据(包括用户名、密码、命令、文件内容等)进行加密,有效防止中间人攻击和数据泄露。

  • 身份验证:SSH支持多种身份验证方式,包括密码认证、公钥认证(推荐)以及基于证书的身份验证等,确保只有授权用户能访问远程系统。

  • 安全的命令执行:通过SSH,用户可以在远程主机上执行命令,如同直接在本地操作一样,这对于远程系统管理、脚本执行等非常有用。

  • 文件传输:SSH包含了一个内置的文件传输工具——SSH File Transfer Protocol(SFTP)或Secure Copy(SCP),可安全地在本地与远程主机之间传输文件。

1.2实际应用与场景

  • 服务器管理:运维人员常使用SSH远程登录到服务器进行日常维护、故障排查、软件安装等操作。

  • 开发环境搭建:开发者通过SSH连接到开发服务器或云平台实例,构建、部署和调试应用程序。

  • 数据备份与迁移:利用SSH的文件传输功能,安全地在不同系统间备份或迁移重要数据。

  • VPN替代方案:对于仅需访问特定服务(如内部网站、数据库等)的远程办公场景,设置SSH隧道可以提供轻量级且安全的访问方式。

SSH作为一项基础且重要的网络安全技术,凭借其强大的加密能力、丰富的功能和广泛的适用性,在远程访问、系统管理、数据传输等领域发挥着不可或缺的作用。

2.ssh爆破

SSH爆破,也称为SSH密码暴力破解,是一种针对SSH服务的恶意攻击手段,攻击者通过自动化工具尝试大量猜测用户名和密码组合,以期非法获取SSH服务的访问权限。

2.1攻击原理与目标

  1. 信息收集:收集目标系统的IP地址、SSH端口号(默认为22)以及可能的用户名列表。这些信息可以通过网络扫描(如使用Nmap)、公开信息查询、社工等方式获取。

  2. 构建字典:准备一个包含潜在密码的字典文件。字典可能包含常见密码、弱密码、特定组织或个人习惯使用的密码、默认密码、先前泄露的密码列表等。

  3. 选择工具:使用专门设计用于进行密码暴力破解的工具,如 Hydra、Medusa、Patator、sshfucker(Python库)等。这些工具能够快速、自动化地尝试字典中的用户名和密码组合。

  4. 实施爆破:向目标SSH服务发送大量的登录请求,每个请求携带不同的用户名和密码组合。工具会持续尝试,直到找到匹配的凭据或者达到预设的尝试次数或时间限制。

SSH爆破是针对远程访问安全的严重威胁,防范此类攻击需要结合强密码策略、公钥认证、严格的访问控制、实时监控等多种措施。

3.准备工作

          本次复现用到VMware Workstation Pro ,复现全过程都在虚拟机操作环境中实现

攻击机:kali2023.1           

靶机:kali2022.2

ifconfig     #查看攻击机ip地址

ifconfig     #查看靶机ip地址

kali2023.1攻击机IP:192.168.223.133               kali2022.2靶机IP:   192.168.223.134
我们确定了攻击机和靶机的IP地址后,就可以开始信息收集了

nmap 192.168.223.134     #nmap 【靶机ip地址】

这里我们可以看到靶机开启了22端口

因为ssh爆破会使用到字典,那么我们先写两个用户名和密码的字典,用来支持后门的爆破

我在root目录下写了user.txt和password.txt存放爆破过程中需要用的一些简单的账户密码

 例如:

 切换到命令行

ls          #列出当前目录文件

那么我们就可以开始ssh爆破了,这里使用的是hydra

hydra -L users.txt -P password.txt ssh://192.168.223.134     


#-L users.txt: 从名为users.txt的文件中读取用户名列表
#-P password.txt: 从名为password.txt的文件中读取密码列表
#ssh://192.168.223.134: 指定攻击的目标为IP地址为192.168.223.134的主机上运行的SSH服务

 这里我们看到爆破出了两个用户的账户密码

 接下来我们就用爆破到的root用户ssh登录到靶机

ssh root@192.168.223.134     #ssh [用户名]@[IP地址] 

 输入yes,下面用root用户的密码登录

登录成功

ls     #查看当前目录文件

ifconfig     #查看IP

可以看到我们是已经进入了靶机,只不过我靶机和攻击机的界面很相似,你们在做的时候可以更改名称以更好辨认

进入靶机后就可以使用内网渗透等技术进行操作啦,本次的ssh爆破复现到这里就结束啦,喜欢的可以点个赞或关注博主哦,后续有会有很多漏洞复现以及内网渗透的手段会写给大家,希望大家多多支持!

  • 32
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当出现"-bash: ssh: command not found"的错误提示时,表示你的系统中没有安装OpenSSH客户端。OpenSSH是一种用于远程登录和安全文件传输的工具。要解决这个问题,你可以按照以下步骤进行: 1. 首先,确保你的系统中没有安装OpenSSH客户端。你可以通过运行以下命令来检查: `which ssh` 如果这个命令没有返回任何结果,说明OpenSSH客户端没有安装。 2. 如果OpenSSH客户端没有安装,你可以使用以下命令在CentOS上安装OpenSSH客户端: `sudo yum install openssh-clients` 这个命令将自动安装OpenSSH客户端,并将其添加到系统路径中,这样就可以在终端中使用ssh命令了。 3. 安装完成后,你可以再次运行以下命令来验证ssh命令是否可用: `which ssh` 如果这个命令返回了ssh的安装路径,说明ssh命令已成功安装并可用。 4. 如果你在安装OpenSSH客户端时遇到了问题,可能是由于网络连接问题或软件源配置问题导致的。你可以尝试使用其他软件源来安装OpenSSH客户端,或者检查网络连接是否正常。 引用: centos ssh命令找不到怎么办?-bash: ssh: command not found scp不能使用 。 引用:ssh远程登陆执行命令:未找到命令_ssh未找到命令_maker&sky的博客-CSDN博客 。 引用:关于ssh远程执行命令出现xxx: command not found问题_ssh远程执行脚本找不到命令_咸鱼c君的博客-CSDN博客 。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [centos ssh命令找不到?重装ssh服务?和xshell连接不上虚拟机?](https://blog.csdn.net/BigData_C/article/details/126140627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ssh脚本远程执行命令出现xxx: command not found解决方案](https://blog.csdn.net/GElinuxOS/article/details/129876790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值