杂谈
很多人会说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](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316055953158.webp)
开始抓取后,我们打开终端运行hydra,开始暴力破解
hydra -t 1 -L user.txt -P password.txt -e ns -vV 192.168.244.131 ssh
我们在抓取过程中发现
![图片[2]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316060241335.webp)
几乎所有尝试密码错误的加密包长度(len)都是相同的,发送包长度(len)为84,返回包长度(len)为52
![图片[3]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316060321579-1024x391-1.webp)
那么,暴力破解成功的时候len是多少呢?这里看到已经破解成功了
![图片[4]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316060526720-1024x421-1.webp)
返回包长度(len)为36
![图片[5]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316060627302-1024x356-1.webp)
因此,我们可以通过请求频繁,最终返回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](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316061814264.webp)
当暴力破解成功时,我们会发现返回包长度为656
![图片[7]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316061912578.webp)
![图片[8]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316062133828.webp)
Metasploit渗透框架
输入msfconsole
打开框架,然后搜索ssh
暴力破解的模块
msfconsole
search ssh_login
![图片[9]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316083653674.webp)
我们这里需要使用auxiliary/scanner/ssh/ssh_login
模块
use auxiliary/scanner/ssh/ssh_login
然后输入下面的命令查看我们可以使用的参数
show options
![图片[10]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316083816623.webp)
我们这里可以使用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](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316093521552.webp)
可以看到基本上密码失败的请求包和相应包长度均为100、132
![图片[12]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316091500684.webp)
直到最后找到密码,发现返回的加密包的长度(len)为168
![图片[13]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316093404762-1024x563-1.webp)
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](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316095606604.webp)
![图片[15]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316095816849-1024x507-1.webp)
如果不确认的话,我们直接输入正确的用户名和密码进行暴力破解
![图片[16]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316095441476.webp)
我们可以发现返回的加密包长度(len)为48
![图片[17]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220316095307943.webp)
BrutesPray
安装BrutesPray
apt-get update
apt-get install brutespray
![图片[18]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220317090522592.webp)
扫描需要提前用nmap导出xml结果,才能使用,我们这里知道只需要扫描22端口就行了,因此使用下面的命令
sudo nmap -sS -p22 192.168.244.131 -oX ssh.xml
![图片[19]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220317091422268.webp)
然后我们使用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](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220317091526357-1024x593-1.webp)
这里看到最后一次是暴力破解成功了
![图片[21]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](20220317091959942.png)
发现返回的加密包长度也是656
![图片[22]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](20220317092053910.png)
貌似使用的和medusa是同一个内核,这里看到实锤了
![图片[23]-如何通过Wireshark分析ssh暴力猜解等异常行为-FancyPig's blog](20220317092211862.png)
暂无评论内容