SSH密码暴力破解及其防御

一、SSH概述

ssh(secure shell  安全核)由IETF的网络工作小组所定制;SSH为建立在应用层和传输层基础上的安全协议。SSH是目前较为可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH客户端使用与于多种平台。几乎所有UNIX平台——包括HP-UX、Linux、AIX、Solaris、DigitalUNIX、lrix以及其他平台,都可以运行SSH。
telnet也是一种用于用远程登录的协议,但是telnet是一种不安全的协议,传输的数据没有进行任何的加密,即明文方式传输。
SSH加密远程登录管理服务器,加密的数据传输。

二、SSH远程登录的身份验证

从客户端来看,SSH提供两种级别的安全验证。
第一种:基于口令的安全验证
这种方式只要知道自己的账号和口令就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证连接到的服务器就是自己想要连接的服务器。可能会有背的服务器冒充真正的服务器,也就是受到“中间人攻击”
第二种:基于密钥的安全验证
需要依靠 密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器用这种方式,你必须知道自己密匙的口令。
第二种验证方式不仅加密所有传送的数据,而且“中间人攻击”也是不可能,因为中间人没有你的密匙。
RSA——SSH默认的加密方式,非对称的公钥加密算法,安全数据传输慢。他能够抵抗目前为止已知的绝大多数密码攻击。

三、破解

Hydra是一款爆破工具,可以对多种服务的账号和密码进行爆破,包括web登录、数据库、SSH、FTP等服务。
常见用法及参数:
kali@kali:~$ sudo hydra -h

Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [service://server[:PORT][/OPT]]

Options:
-R:继续从上一次进度接着破解
-S:大写,采用SSL链接
-s :小写,可通过这个参数指定非默认端口
-l :指定破解的用户,对特定用户破解
-L :指定用户名字典
-p :小写,指定密码破解,少用,一般是采用密码字典
-P :大写,指定密码字典
-e :可选选项,n:空密码试探,s:使用指定用户和密码试探
-C :使用冒号分割格式,例如“登录名:密码”来代替 -L/-P 参数
-M :指定目标机器列表文件(ip/named)
-o :指定结果输出文件
-f :在使用-M参数以后,找到第一对登录名或者密码的时候中止破解
-t :同时运行的线程数,默认为16
-w

破解案例
环境搭建:centos+kali
centos启动配置好ssh服务,此处不再进行ssh配置的叙述。
1、指定用户root,针对单台服务器
在这里插入图片描述
2、指定用户字典,针对单服务器
在这里插入图片描述
3、指定用户字典,针对多台服务器 -M host.txt 结果输出到 tmp/out.txt
在这里插入图片描述

四、防御

使用基于密钥的身份验证
修改SSH服务的配置文件,实现免密登录
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值