Статья THC-Hydra: очень быстрый взломщик сетевого входа в систему (часть первая)
Программа hydra поддерживает огромное количество служб, благодаря своей быстроте и надёжности она завоевала заслуженную признательность среди тестеров на проникновение. Будучи очень мощной и гибкой, программу hydra нельзя отнести к простым и легко дающимся новичкам. Не надо отчаиваться, если вам не удалось оседлать hydra, я рекомендую вам посмотреть на программу BruteX. Она значительно автоматизирует процесс подбора, более того, она использует ту же самую hydra, но сама вводит необходимые ключи и даже не нужно искать файлы с именами и паролями, поскольку они поставляются вместе с программой. Если я вас заинтересовал, то рекомендую статью «BruteX: программа для автоматического брутфорса всех служб».
Этот инструмент — THC-Hydra — предназначен только для законных целей.
Программа прекрасно компилируется и работает на Linux, Windows/Cygwin, Solaris, FreeBSD/OpenBSD, QNX (Blackberry 10) и OSX. Лучше всех пользователям Kali Linux – у них программа уже установлена.
В настоящее время поддерживаются следующие протоколы: Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 и v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC и XMPP.
hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvVd46] [service://server[:PORT][/OPT]]
Прибавилось ли понимания после увиденного синтаксиса? )) Не переживайте, сейчас рассмотрим опции THC-Hydra, а потом углубимся в понимание работы с этой программой.
-R восстановить предыдущую прерванную/оборванную сессию -S выполнить SSL соединение -s ПОРТ если служба не на порту по умолчанию, то можно задать порт здесь -l ЛОГИН или -L ФАЙЛ с ЛОГИНАМИ (именами), или загрузить несколько логинов из ФАЙЛА -p ПАРОЛЬ или -P ФАЙЛ с паролями для перебора, или загрузить несколько паролей из ФАЙЛА -x МИНИМУМ:МАКСИМУМ:НАБОР_СИМВОЛОВ генерация паролей для брутфорса, наберите "-x -h" для помощи -e nsr "n" — пробовать с пустым паролем, "s" — логин в качестве пароля и/или "r" — реверс учётных данных -u зацикливаться на пользователя, а не на парлях (эффективно! подразумевается с использованием опции -x) -C ФАЙЛ формат где "логин:пароль" разделены двоеточиями, вместо опции -L/-P -M ФАЙЛ список серверов для атак, одна запись на строку, после двоеточия ':' можно задать порт -o ФАЙЛ записывать найденные пары логин/пароль в ФАЙЛ вместо стандартного вывода -f / -F выйти, когда пара логин/пароль подобрана (-M: -f для хоста, -F глобально) -t ЗАДАЧИ количество запущенных параллельно ЗАДАЧ (на хост, по умолчанию: 16) -w / -W ВРЕМЯ время ожидания ответов (32 секунды) / между соединениями на поток -4 / -6 предпочитать IPv4 (по умолчанию) или IPv6 адреса -v / -V / -d вербальный режим / показывать логин+пароль для каждой попытки / режим отладки -q не печатать сообщения об ошибках соединения -U подробные сведения об использовании модуля server цель: DNS, IP или 192.168.0.0/24 (эта ИЛИ опция -M) service служба для взлома (смотрите список поддерживаемых протоколов) OPT некоторые модули служб поддерживают дополнительный ввод (-U для справки по модулю)
Как использовать hydra
THC-Hydra поставляется без логинов/паролей. Нам нужно самим где-то их раздобыть. И вот здесь нам поможет недавняя статья «Списки слов для атаки по словарю: пароли, имена пользователей, каталоги». Изучайте её, скачивайте свои пароли.
Ещё файлы с дефолтными паролями позволяет генерировать утилита от hydra — dpl4hydra.sh. Чтобы узнать, какие устройства есть в базе, зайдите
Чтобы воспользоваться программой dpl4hydra.sh на Kali Linux, нам сначала нужно её скачать (по какой-то причине авторы Kali не включили её в стандартную установку).
wget https://raw.githubusercontent.com/vanhauser-thc/thc-hydra/master/dpl4hydra.sh
touch /usr/local/etc/dpl4hydra_full.csv /usr/local/etc/dpl4hydra_local.csv
Маленький хакер. Первый шаг
В статье вы получите минимально необходимую теорию для начала вашего увлекательного путешествия в мир компьютерной безопасности. Интересовались темой: CTF или attack-defence? Но не могли получалось погрузиться в данную область? Тогда эта статья для вас! Тренироваться мы будем использовать сервис HTB . Темы которые мы бегло рассмотрим: Kali Linux, SSH, FTP, Telnet. Статья будет разделена на две части: Необходимая теория, Где применять.
Подготовительные работы
Не важно какая ОС стоит на вашем ПК, вам необходимо поставить себе на виртуальную машину — Kali Linux. Подробнее тут. В нашей работе потребуется использовать следующие инструменты:
- telnet — протокол и одноименная утилита. Реализует текстовый интерфейс взаимодействия с другими сервисами. Ранее применялся также для удаленного администрирования.
- nmap — утилита для сканирования сети.
- hydra — поможет подобрать пароль (используя словари).
Все эти утилиты уже установлены по умолчанию в дистрибутив. Но нам так же потребуется словари для перебора (SecLists). Перед началом установим их:
sudo apt-get install seclists
Необходимая теория
Nmap
Перед началом атаки, потребуется «изучить» цель. Nmap, может применяться в очень большом множестве задач. Мы же сосредоточимся на обнаружение служб/сервисов.
Выполнение команды nmap 10.0.0.1 , в результате покажет список открытых портов целевой машины. Важно знать, что запуск с ключем -sS позволит вам быть менее заметным для систем обнаружения. Так как с этим параметром, утилита не завершает трехстороннее рукопожатие, тем самым служба, которая ответит на открытие порта — будет считать что это настоящее соединение.
nmap -sV -p 22 10.0.0.1 запуск утилиты с ключом -sV — говорит о необходимости определить версию службы, которая слушает порт. А -p 22 , указывает какой именно порт мы сканируем.
Telnet
В очень простых заданиях, будет доступна служба telnet . В таком случае подключение простое:
Первый аргумент, это IP адрес цели, а второй — порт, который слушает служба. После начала сеанса, служба потребует вас ввести username/password, в редких случаях система пропустит без пароля.
Hydra
Самый простой способ попробовать проникнуть в систему — это проверить ее на использование небезопасных паролей. Для этого в Kali Linux, уже перед установлена утилита hydra. Чтобы подобрать пароль от telnet службы, необходимо выполнить следующую команду:
hydra \ -C /usr/share/seclists/Passwords/Default-Credentials/telnet-betterdefaultpasslist.txt \ telnet://10.0.0.1:23
где -C указывает на файл с парами login:password, а второй аргумент для указания ://: . В папке /usr/share/seclists размещены словари часто используемых реквизитов для входа. Обратите внимание на то, что словари разложены по папкам. Обращайте внимание на то какой список вы используете.
Практика
От практики зависит ваше развитие. Конечно если пытаться применить знания в живую, то скорей всего вы не сможете так легко найти уязвимые системы. Технологии безопасности далеко шагнули. Чтобы начать практиковаться на простых целях, рекомендую использовать платформу: HTB. На ней есть бесплатный тариф, которого хватит для первого погружения в дисциплину. А полученных знаний из этой статьи должно хватить для прохождения первых заданий из раздела Starting Point. Tier 0.
Заключение
Надеюсь что данная статья, поможет начинающим в области этичного хакинга сделать первые шаги. В начале всегда сложно, не знаешь с чего начать. А данная дисциплина особо сложна для входа.