项目地址:https://github.com/ex0dus-0x/brut3k1t

1. Introduction

brut3k1t是一款服务端的暴力破解模块,支持多种协议的字典攻击。目前完整支持的协议有:

ssh  
ftp  
smtp  
XMPP  
instagram  
facebook  

将来会针对不同协议和服务实现对应的爆破模块(包括 Twitter, Facebook, Instagram)。

2. 安装

安装过程很简单。brut3k1t 需要解决一些依赖,如果你没有的话,程序会安装对应依赖。

  • argparse - 用于解析命令行参数
  • paramiko - 用于 SSH 连接和认证
  • ftplib - 用于 FTP 连接和认证
  • smtplib - 用于 SMTP (email)连接和认证
  • fbchat - 用于连接 Facebook
  • selenium - 用于 web 抓取,用于 Instagram (之后会用于 Twitter)
  • xmppy - 用于 XMPP 连接 ...以及将来会使用更多!

下载很简单。使用 git clone

git clone https://github.com/ex0dus-0x/brut3k1t  

切换路径:

cd /path/to/brut3k1t  

3. 使用

使用 brut3k1t 比直接运行 Python 文件稍微复杂一点。

python brut3k1t -h 可以显示帮助菜单。

usage: brut3k1t.py [-h] [-s SERVICE] [-u USERNAME] [-w PASSWORD] [-a ADDRESS]  
               [-p PORT] [-d DELAY]

Server-side bruteforce module written in Python

optional arguments:  
-h, --help            show this help message and exit
-a ADDRESS, --address ADDRESS
                    Provide host address for specified service. Required
                    for certain protocols
-p PORT, --port PORT  Provide port for host address for specified service.
                    If not specified, will be automatically set
-d DELAY, --delay DELAY
                    Provide the number of seconds the program delays as
                    each password is tried

required arguments:  
-s SERVICE, --service SERVICE
                    Provide a service being attacked. Several protocols
                    and services are supported
-u USERNAME, --username USERNAME
                    Provide a valid username for service/protocol being
                    executed
-w PASSWORD, --wordlist PASSWORD
                    Provide a wordlist or directory to a wordlist

用法示例

破解 192.168.1.3 上运行的 SSH 服务器,使用 rootwordlist.txt 作为字典文件。

python brut3k1t.py -s ssh -a 192.168.1.3 -u root -w wordlist.txt  

程序将自动将端口设置为 22,但如果是不同的端口,使用 -p 指定。

使用 wordlist.txt 字典破解 25 端口的 test@gmail.com,3 秒延迟。破解 email 必须指定 SMTP 服务器的地址。例如 Gmail = smtp.gmail.com。你可以在 Google 上搜索相关内容。

python brut3k1t.py -s smtp -a smtp.gmail.com -u test@gmail.com -w wordlist.txt -p 25 -d 3  

使用 wordlist.txt 字典破解 5222 端口的 test@creep.im。XMPP 与 SMTP 类似,而你需要提供 XMPP 服务器的地址,此例是 creep.im

python brut3k1t.py -s xmpp -a creep.im -u test -w wordlist.txt  

破解 Facebook 颇具挑战性,因为你需要目标用户 ID 而不是用户名。

python brut3k1t.py -s facebook -u 1234567890 -w wordlist.txt  

使用用户名 test 和字典文件 wordlist.txt 破解 Instagram 账号,五秒延迟。

注意事项

  • 如果不提供 -p 标志,将使用该服务的默认端口。你不需要为 Facebook 和 Instagram 提供,他们是基于 web 的。
  • 如果你不提供 -d 标志,默认是 1。
  • 记得使用 -a 标志指定 SMTP 和 XMPP 服务器的地址。
  • Facebook 要求 用户 ID。可能会遇到一些挫折,因为一些人不会把他们的 ID 公开在资料中。
  • 确保指定字典文件及其路径。如果在 /usr/local/wordlists/wordlist.txt 中,使用 -w标志指定。
  • 注意一些协议并不是基于默认端口的。FTP 服务器并不一定会在 21 端口上运行。请牢记于心。
  • 用于教育和友情检测,以及学习代码和安全实践。没有脚本小子!

更多特性尽请期待