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

作者:FancyPig | 发布时间: | 更新时间:

杂谈

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

相关阅读

data-postsbox="{"id":10194,"title":"使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包","author":"FancyPig","author_id":1,"cover_image":"","cover_video":"","views":5499,"comment_count":3,"category":"cybersecurity","is_forum_post":false}">{"id":10194,"title":"使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包","author":"FancyPig","author_id":1,"cover_image":"","cover_video":"","views":5499,"comment_count":3,"category":"cybersecurity","is_forum_post":false}

图文教程

环境准备

  • 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端口的包

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

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

我们在抓取过程中发现

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

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

返回包长度(len)为36

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

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

medusa

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

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

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

Metasploit渗透框架

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

msfconsole
search ssh_login

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

use auxiliary/scanner/ssh/ssh_login

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

show options

我们这里可以使用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开始运行

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

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

patator

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

patator ssh_login host=192.168.244.131 user=FILE0 0=user.txt password=FILE1 1=password.txt

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

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

BrutesPray

安装BrutesPray

apt-get update
apt-get install brutespray

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

sudo nmap -sS -p22 192.168.244.131 -oX ssh.xml

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

brutespray -t 1 -U user.txt -P password.txt -t 192.168.244.131 --file ssh.xml

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

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

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

标签:wireshark, 暴力破解, 虚拟机, hydra, ssh