Crowbar

Password Attacks v4.2 · 13.07.2020 не обновлялся >2 лет

Брутфорсер для протоколов, слабо поддерживаемых другими инструментами: OpenVPN с клиентскими сертификатами, RDP без блокировки аккаунтов, SSH-ключи и VNC-ключи.

v4.2
13.07.2020 current
Добавлен 26.06.2026 · Обновлён 06.07.2026 · Password Attacks
Установка
# 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 - Инструмент для перебора

Что такое Crowbar?

Crowbar (ранее известный как Levye) — это инструмент для перебора, который может использоваться при проведении пентестов. Он был разработан для перебора некоторых протоколов иным образом, чем другие популярные инструменты для перебора. Например, в то время как большинство инструментов для перебора используют имя пользователя и пароль для атаки на SSH, Crowbar использует SSH-ключи. Это позволяет использовать любые полученные во время пентестов приватные ключи для атак на другие SSH-серверы.

В настоящее время Crowbar поддерживает:

  • OpenVPN (-b openvpn)
  • Remote Desktop Protocol (RDP) с поддержкой NLA (-b rdp)
  • Аутентификацию приватными ключами SSH (-b sshkey)
  • Аутентификацию ключами VNC (-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 зависит от вашей ОС:

  • Debain 9/10 & Kali Rolling использует freerdp2-x11
  • Debian 7/8 & Kali 1/2 использует пакет freerdp-x11.
  • В противном случае вы можете попробовать xfreerdp.
  • Резервным вариантом будет компиляция и настройка freerdp по инструкции: http://opentechnotes.blogspot.co.uk/2015/02/compile-headless-freerdp-credential-checking.html

Не забудьте исправить ./lib/main.py, чтобы он указывал на новый бинарный файл!


Использование

  • -b: Целевая служба. Crowbar поддерживает: openvpn, rdp, sshkey, vnckey
  • -c: Статический пароль для входа
  • -C: </путь/к/файлу> со списком паролей
  • -d: Выполнить сканирование TCP-портов (nmap) для диапазона IP-адресов (-s/-S) перед попыткой перебора. Это позволит определить, открыт ли порт цели
  • -D: Включить режим отладки
  • -h: Показать меню помощи
  • -k: </путь/к/файлу-или-папке> для файлов ключей (для SSH или VNC)
  • -l: </путь/к/файлу> для сохранения файла журнала (по умолчанию ./crowbar.log)
  • -m: </путь/к/файлу> для файла конфигурации OpenVPN
  • -n: Количество потоков
  • -o: </путь/к/файлу> для сохранения успешных попыток (по умолчанию ./crowbar.out)
  • -p: Номер порта (если служба работает не на порту по умолчанию)
  • -q: Включить тихий режим (показывать только успешные входы)
  • -s: Целевой IP-адрес/диапазон (в нотации CIDR)
  • -S: </путь/к/файлу>, который содержит целевые IP-адреса
  • -t: Значение тайм-аута
  • -u: Одно имя пользователя
  • -U: </путь/к/файлу>, который содержит список имен пользователей
  • -v: Включить подробный режим (показывает все попытки)

Если вы хотите увидеть все параметры использования, пожалуйста, используйте: ./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,

Демонстрационные видео

  • https://www.youtube.com/watch?v=4QZAWGsveSM

Перебор - Remote Desktop Protocol (RDP)

Ниже приведены несколько примеров атак на 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


Перебор - Приватные ключи SSH

Ниже приведены несколько примеров атак с использованием 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

Ниже приведен пример атаки на службу VNC с помощью Crowbar.

Попытка перебора VNC для одного IP-адреса с использованием файла пароля и указанным номером порта:

# ./crowbar.py -b vnckey -s 192.168.2.105/32 -p 5902 -k ~/.vnc/passwd


Перебор - OpenVPN

Ниже приведен пример атаки на 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 включит режим отладки и выведет гораздо больше информации.


Сессии Black Hat


Категории

  • Атаки на сети

Код

  • https://github.com/galkan/crowbar

Ведущий разработчик

  • Gokhan Alkan - https://github.com/galkan

Социальные сети


Благодарности

  • Bahtiyar Bircan
  • Ertuğrul Başaranoğlu
  • g0tmi1k

Закладки

  • Patator - Многоцелевой инструмент для перебора протоколов, которые не поддерживаются Crowbar
  • Debian OpenSSL Predictable PRNG - Уязвимые предсказуемые SSH-ключи для систем на базе Debian (2011)
  • ssh-badkeys - Коллекция статических приватных SSH-ключей
Комментарии
Войдите, чтобы оставить комментарий