如何通过Wireshark分析ssh暴力猜解等异常行为

杂谈

很多人会说ssh协议本身是加密的根本没法分析暴力猜解行为,但实际上,我们通过加密包的长度是可以分析暴力猜解行为的,下面我会以常见的几种暴力破解软件为例,分析其中的特征

相关阅读

如何通过Wireshark分析ssh暴力猜解等异常行为-自由者联盟

图文教程

环境准备

  • kali linux虚拟机(作为暴力破解攻击的机器,本地IP为192.168.244.128
  • ubuntu虚拟机(作为靶机,本地IP为192.168.244.131

ubuntu虚拟机需要事先安装好ssh,可以输入下面命令快速安装

sudo apt install openssh-server

hydra

我们使用hydra暴力破解,首先准备两个文件

  • user.txt存储要暴力破解的用户名
  • password.txt存储要暴力破解的密码

譬如,user.txt如下

root
es
mysql
fancypig

password.txt如下

123456
test
qwedsazxc
!@#qwer

我们这里设计的时候,故意将真实的账户和密码都放到这两个文件的最后,然后我们用hydra的单线程进行暴力破解,并打开kali linux虚拟机中的wireshark,这里我们过滤器里设置port 22只抓22端口的包

图片[1]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

开始抓取后,我们打开终端运行hydra,开始暴力破解

hydra -t 1 -L user.txt -P password.txt -e ns -vV 192.168.244.131 ssh

我们在抓取过程中发现

图片[2]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

几乎所有尝试密码错误的加密包长度(len)都是相同的,发送包长度(len)为84,返回包长度(len)为52

图片[3]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

那么,暴力破解成功的时候len是多少呢?这里看到已经破解成功了

图片[4]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

返回包长度(len)为36

图片[5]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

因此,我们可以通过请求频繁,最终返回len=36来判断服务器ssh被入侵。

同样的方式我们还可以分析其他的软件。

medusa

medusa -h 192.168.244.131 -U user.txt -P password.txt -M ssh -t 1

然后我们可以观察到暴力破解错误的基本上都是差不多的

图片[6]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

当暴力破解成功时,我们会发现返回包长度为656

图片[7]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog
图片[8]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

Metasploit渗透框架

输入msfconsole打开框架,然后搜索ssh暴力破解的模块

msfconsole
search ssh_login
图片[9]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

我们这里需要使用auxiliary/scanner/ssh/ssh_login模块

use auxiliary/scanner/ssh/ssh_login

然后输入下面的命令查看我们可以使用的参数

show options
图片[10]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

我们这里可以使用RHOST来指定IP地址

set rhost 192.168.244.131

USER_FILE来指定我们的用户名字典

set USER_FILE user.txt

PASS_FILE指定密码字典

set PASS_FILE password.txt

设置每次破解的账户名和密码打印出来

set verbose yes

输入run开始运行

图片[11]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

可以看到基本上密码失败的请求包和相应包长度均为100、132

图片[12]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

直到最后找到密码,发现返回的加密包的长度(len)为168

图片[13]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

patator

我们输入完成的字典进行暴力破解

patator ssh_login host=192.168.244.131 user=FILE0 0=user.txt password=FILE1 1=password.txt
图片[14]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog
图片[15]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

如果不确认的话,我们直接输入正确的用户名和密码进行暴力破解

图片[16]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

我们可以发现返回的加密包长度(len)为48

图片[17]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

BrutesPray

安装BrutesPray

apt-get update
apt-get install brutespray
图片[18]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

扫描需要提前用nmap导出xml结果,才能使用,我们这里知道只需要扫描22端口就行了,因此使用下面的命令

sudo nmap -sS -p22 192.168.244.131 -oX ssh.xml
图片[19]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

然后我们使用ssh.xml进行暴力破解

brutespray -t 1 -U user.txt -P password.txt -t 192.168.244.131 --file ssh.xml
图片[20]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

这里看到最后一次是暴力破解成功了

图片[21]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

发现返回的加密包长度也是656

图片[22]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog

貌似使用的和medusa是同一个内核,这里看到实锤了

图片[23]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容