
Быстрый массовый сканер SSH, инструмент для взлома логинов, захвата баннеров и проверки парольной аутентификации, использующий модули python-masscan и shodan.
Быстрый инструмент для массового сканирования SSH, взлома логинов, захвата баннеров и проверки аутентификации по паролю, использующий модули python-masscan и shodan.
[ hacker@blackarch ~ ]$ sshprank -H
__ __
__________/ /_ ____ _________ _____ / /__
/ ___/ ___/ __ \/ __ \/ ___/ __ `/ __ \/ //_/
(__ |__ ) / / / /_/ / / / /_/ / / / / ,<
/____/____/_/ /_/ .___/_/ \__,_/_/ /_/_/|_|
/_/
--== [ от nullsecurity.net ] ==--
использование
sshprank <режим> [опции] | <прочее>
режимы
-h <хосты[:порты]> - одиночный хост, CIDR, диапазон IP или файл со списком
хостов для взлома. несколько портов через запятую,
напр.: 127.0.0.1:22,222,2022 или 192.168.1.0/24:22
или 192.168.1.10-192.168.1.50:22 или 10.0.0.1-50
(порт по умолчанию: 22)
-m <опции> [-r <число>] - передать произвольные опции masscan, просканировать
заданные хосты и взломать логины. найденные sshd
сервисы будут сохранены в 'sshds.txt' в формате,
поддерживаемом для опции '-h' и даже для '-b'.
используйте '-r' для генерации случайных IPv4
адресов вместо сканирования заданных хостов.
эти опции всегда включены: '-sS -oX - --open'.
ПРИМЕЧАНИЕ: если вы собираетесь использовать опцию
'--banner', вам нужно указать '--source-ip <some_ipaddr>',
что требуется masscan. лучше проверьте опции masscan!
-s <стр;стр;лимит> - поиск SSH-серверов через shodan и взлом логинов.
см. примеры ниже. обратите внимание: нужен лучший
API-ключ, чем тот, что я предлагаю, чтобы искать более
100 (= 1 страница) SSH-серверов. так что если вы
используете этот, укажите '1' для 'page'.
-b <хосты[:порты]> - захватить баннер sshd с заданной цели(ей)
(порт по умолчанию: 22)
формат: как у опции '-h'
-p <хосты[:порты]> - проверить sshd на поддержку аутентификации по паролю
(порт по умолчанию: 22)
формат: как у опции '-h'
опции сканирования
-r <число> - сгенерировать <число> случайных IPv4 адресов,
проверить открытый порт sshd и взломать логин
(только с опцией -m!)
опции учётных данных
-U <пользователь|файл> - одиночное имя пользователя или список (по умолчанию: root)
-P <пароль|файл> - одиночный пароль или список (по умолчанию: root)
-c <файл> - список комбинаций пользователь:пароль
опции перебора
-e - исключить хост после первого найденного логина.
продолжить с другими хостами
-E - полностью выйти из sshprank после первого
найденного логина
-z - случайным образом перемешать список целей перед
взломом (только с -h <файл>). сохраняет в
'random_targets.txt'
-Z <число> - случайный перебор: выбирать случайную цель + учётные
данные при каждой попытке. <число> всего попыток,
0 = бесконечно (используйте с -h, -U/-P)
опции выполнения
-C <команда|файл> - прочитать команды из файла (построчно) или
выполнить одну команду на хосте, если логин
взломан
-N - не выводить результаты выполнения ssh-команд
опции потоков
-x <число> - количество потоков для параллельного взлома хостов
(по умолчанию: 50)
-S <число> - количество потоков для параллельного взлома сервисов
(по умолчанию: 20)
-X <число> - количество потоков для параллельного взлома логинов
(по умолчанию: 5)
-B <число> - количество потоков для параллельного захвата баннеров
(по умолчанию: 70)
опции таймаута
-T <сек> - количество секунд для таймаута аутентификации и
соединения (по умолчанию: 5 с)
-R <сек> - количество секунд для таймаута чтения (баннера)
(по умолчанию: 3 с)
опции вывода
-o <файл> - записать найденные логины в файл. формат:
<хост>:<порт>:<пользователь>:<пароль>
(по умолчанию: owned.txt)
-v - подробный режим. показывает найденные логины,
sshd и т.д. (по умолчанию: выкл)
прочие опции
-i <строка> - подменить строку версии SSH-клиента, отправляемую
sshd (по умолчанию: строка версии paramiko по умолчанию)
-w <файл> - файл сессии: если существует, восстановить прогресс
из него (пропустить уже опробованные учётные
данные). при ctrl+c / -E состояние автоматически
сохраняется в ./sshprank_session.json
(или в <файл>, если указан -w). передайте его
обратно через -w для возобновления.
-H - вывести справку
-V - вывести информацию о версии
примеры
# взлом целей из заданного списка с пользователем admin, списком паролей
# и 20 потоками хостов
$ sshprank -h sshds.txt -U admin -P /tmp/passlist.txt -x 20
# сначала сканировать, затем взломать найденные sshd сервисы используя
# 'root:admin'
$ sudo sshprank -m '-p22,2022 --rate 5000 --source-ip 192.168.13.37 \
--range 192.168.13.1/24' -P admin
# сгенерировать 1 тыс. случайных IPv4 адресов, затем сканировать порты
# (tcp/22 здесь) с 1 тыс. пакетов/с и взломать логины используя 'root:root'
# на найденных sshd
$ sudo sshprank -m '-p22 --rate=1000' -r 1000 -v
# найти 50 SSH-серверов через shodan и взломать логины используя
# 'root:root' на найденных sshd
$ sshprank -s 'SSH;1;50'
# захватить баннеры и вывести в файл в формате, поддерживаемом для
# опции '-h'
$ sshprank -b hosts.txt > sshds2.txt
# проверить, поддерживают ли sshd аутентификацию по паролю
$ sshprank -p sshds.txt -v
# перемешать список целей и взломать
$ sshprank -h sshds.txt -z -U root -P /tmp/passes.txt
# случайный перебор: 500 случайных попыток из списков IP/пользователей/паролей
$ sshprank -h sshds.txt -U /tmp/users.txt -P /tmp/passes.txt -Z 500
# случайный перебор бесконечно (ctrl+c для остановки)
$ sshprank -h sshds.txt -U /tmp/users.txt -P /tmp/passes.txt -Z 0
# подменить версию SSH-клиента и взломать
$ sshprank -h sshds.txt -i 'SSH-2.0-OpenSSH_8.9p1'
# проверить pwauth с подменённой версией
$ sshprank -p sshds.txt -i 'SSH-2.0-OpenSSH_7.4' -v
# файл сессии: ctrl+c, затем запустить снова для возобновления
$ sshprank -h sshds.txt -U /tmp/users.txt -P /tmp/passes.txt -w sess.json
noptrix
Смотрите docs/LICENSE.
Настоящим подчеркиваем, что материалы, связанные с взломом, найденные на nullsecurity.net, предназначены только для образовательных целей. Мы не несем ответственности за любые убытки. Вы несете ответственность за свои собственные действия.