Как пользоваться Hydra

Тестирование безопасности серверов и веб-приложений имеет очень важное значение, поскольку если уязвимость смогли найти вы, то ее найдет и злоумышленник, а значит он сможет получить доступ к вашим персональным данным или испортить приложение. Одним из самых эффективных и очень простых методов взлома есть перебор паролей. Поэтому очень важно убедиться, что ваш пароль будет сложно перебрать.

Hydra - это программное обеспечение с открытым исходным кодом для перебора паролей в реальном времени от различных онлайн сервисов, веб-приложений, FTP, SSH и других протоколов. Особенность инструмента в том, что здесь выполняется перебор не по хэшу, а напрямую с помощью запросов к серверу, это значит что вы сможете проверить правильно ли настроены фаерволы,  блокируются ли такие попытки, а также можете ли вы вообще определить такую атаку на сервер. В этой статье мы рассмотрим как пользоваться thc hydra для перебора паролей.

Установка THC Hydra

Первым делом нам необходимо установить этот инструмент. Это довольно популярная утилита для тестирования безопасности, поэтому вы можете найти ее в официальных репозиториях. Для установки нужных пакетов в Ubuntu выполните:

sudo apt install hydra

Чтобы установить программу в Red Hat/CentOS команда аналогичная:

sudo yum install hydra

Но в официальных репозиториях, как правило, находятся более старые версии программы. Если вы хотите самую свежую, то придется собрать ее из исходников. Но здесь нет ничего сложного. Сначала загрузим исходники последней версии с GitHub, на данный момент, это 8.4:

wget https://github.com/vanhauser-thc/thc-hydra/archive/v8.4.tar.gz

Затем необходимо их распаковать и перейти в папку с исходниками:

tar xvpzf thc-hydra-v8.4.tar.gz
$ cd thc-hydra-v8.4

Дальше выполните такие команды для компиляции и установки:

./configure
$ make
$ sudo make install

Разработчики поступили очень грамотно, когда настроили установку в /usr/local. Таким образом, утилита не распространится по всей файловой системе, а будет в одном месте. Если вы еще хотите установить графическую оболочку, то вам нужно переместиться в папку hydra-gtk и выполнить те же команды:

cd hydra-gtk
$ ./configure
$ make
$ sudo make install

Нужно заметить, что для ее сборки необходимы пакеты разработки gtk2. Но я бы не советовал вам использовать этот графический интерфейс. Если разобраться в работе с утилитой через терминал, то он совсем не нужен, тем более, что вся гибкость утилиты раскрывается через командную строку.

Программа THC Hydra

Перед тем как мы начнем рассматривать как пользоваться htc hydra, нам необходимо разобраться какие параметры команде передавать и как это делать. Давайте сначала рассмотрим общий синтаксис:

$ hydra опции логины пароли -s порт адрес_цели модуль параметры_модуля

Опции задают глобальные параметры утилиты, с помощью них вы можете настроить необходимые параметры, например, указать что нужно выводить информацию очень подробно, список логинов и паролей для перебора задается тоже с помощью опций, но я выделил его в отдельный пункт. Дальше нужно задать порт сервиса на удаленной машине и ip адрес цели. В конце мы задаем модуль перебора, который будем использовать и параметры модуля. Обычно это самая интересная часть но начнем мы с опций:

  • -R - восстановить ранее прерванную сессию Hydra;
  • -S - использовать SSL для подключения;
  • -s - указать порт;
  • -l - использовать логин;
  • -L - выбирать логины из файла со списком;
  • -p - использовать пароль;
  • -P - использовать пароль из файла со списком;
  • -M - взять список целей из файла;
  • -x - генератор паролей;
  • -u - по умолчанию hydra проверяет все пароли для первого логина, эта опция позволяет проверить один пароль для всех логинов;
  • -f - выйти, если правильный логин/пароль найден;
  • -o - сохранить результат в файл;
  • -t - количество потоков для программы;
  • -w - время между запросами в секундах;
  • -v - подробный вывод;
  • -V - выводить тестируемые логины и пароли.

Это были основные опции, которые, вы будете использовать. Теперь рассмотрим модули, а также способы аутентификации, которые вы можете подобрать:

  • adam6500;
  • asterisk;
  • cisco;
  • cisco-enable;
  • cvs;
  • ftp;
  • http-head;
  • http-get;
  • http-post;
  • http-get-form;
  • http-post-form;
  • http-proxy;
  • http-proxy-urlenum;
  • icq;
  • imap;
  • irc;
  • ldap2;
  • ldap3;
  • mssql;
  • nntp;
  • pcanywhere;
  • pcnfs;
  • pop3;
  • redis;
  • rexec;
  • rlogin;
  • rpcap;
  • rsh;
  • rtsp;
  • s7-300;
  • smb;
  • smtp;
  • smtp-enum;
  • snmp;
  • socks5;
  • ssh;
  • teamspeak;
  • telnet;
  • vmauthd;
  • vnc;
  • xmpp.

Как видите, количество доступных протоколов достаточно большое, вы можете проверить безопасность как ssh, ftp, и до веб-форм. Дальше мы рассмотрим как пользоваться hydra, как использовать самые часто применяемые протоколы.

Как пользоваться thc-hydra

Как вы уже догадались, hydra перебирает пароли из переданного ей файла, оттуда же берутся и логины. Также вы можете попросить программу генерировать пароли самостоятельно, на основе регулярного выражения. А вот уже их подстановка и передача на удаленный сервер настраивается с помощью строки параметров модуля. Естественно, что файлы с паролями нужно заготовить. В этой статье для примеров я буду использовать файл паролей от John the ripper, который вы можете без проблем найти в интернете. Также можно использовать словари топ500 паролей, и от Cain & Abel, где находится более 300000 пароля. Логин будем использовать только один - admin.

Перебор пароля FTP

Сначала поговорим про использование hydra в консольной версии. На самом деле, это основная программа. Команда будет выглядеть таким образом:

hydra -l admin -P john.txt ftp://127.0.0.1

Как вы помните опция -l задает логин пользователя, -P - файл со списком паролей. Далее мы просто указываем протокол и айпи цели. Готово, вот так просто можно перебрать пароль от вашего FTP, если вы установили его слишком простым и не настроили защиты. Как видите, утилита перебирает пароли со скоростью 300 шт в минуту. Это не очень быстро, но для простых паролей достаточно опасно. Если вы хотите получить больше информации во время перебора нужно использовать опции -v и -V вместе:

hydra -l admin -P john.txt -vV ftp://127.0.0.1

Также, с помощью синтаксиса квадратных скобок, вы можете задать не одну цель, а атаковать сразу целую сеть или подсеть:

hydra -l admin -P john.txt ftp://[192.168.0.0/24]

Также вы можете брать цели из файла со списком. Для этого используется опция -M:

hydra -l admin -P john.txt -M targets.txt ftp

Если подбор по словарю не сработал, можно применить перебор с автоматической генерацией символов, на основе заданного набора. Вместо списка паролей нужно задать опцию -x а ей передать строку с параметрами перебора. Синтаксис ее такой:

минимальная_длина:максимальная_длина:набор_символов

С максимальным и минимальным количеством, я думаю все понятно, они указываются цифрами. В наборе символов нужно указать a для всех букв в нижнем регистре, A - для букв в верхнем регистре и 1 для всех цифр от 0 до 9. Дополнительные символы указываются после этой конструкции как есть. Например:

  • 4:4:1 - пароль размером четыре символа, состоящий только из цифр. А именно все пароли в диапазоне 0000-9999;
  • 4:8:1 - пароль от четырех до восьми символов, только из цифр;
  • 4:5:aA1. - пароль, размером от 4 до 5 символов, состоит из цифр, букв верхнего и нижнего регистра или точки.

Вся команда будет выглядеть вот так:

hydra -l admin -x 4:4:aA1. ftp://127.0.0.1

Можно пойти другим путем и указать ip цели и порт вручную с помощью опции -s, а затем указать модуль:

hydra -l admin -x 4:4:aA1 -s 21 127.0.0.1 ftp

Пароли для ssh, telet и других подобных сервисов перебираются подобным образом. Но более интересно рассмотреть перебор паролей для http и html форм.

Перебор пароля аутентификции HTTP

Различные роутеры часто используют аутентификацию на основе HTTP. Перебор пароля от такого типа формы входа выполняется очень похожим образом на ftp и ssh. Строка запуска программы будет выглядеть вот так:

hydra -l admin -P ~/john.txt -o ./result.log -V -s 80 127.0.0.1 http-get /login/

Здесь мы использовали логин admin, список паролей из файла john.txt, адрес цели 127.0.0.1 и порт 80, а также модуль http-get. В параметрах модулю нужно передать только адрес страницы входа на сервере. Как видите, все не так сильно отличается.

Перебор паролей веб-форм

Самый сложный вариант - это перебор паролей для веб-форм. Здесь нам нужно узнать что передает на сервер нужная форма в браузере, а затем передать в точности те же данные с помощью hydra. Вы можете посмотреть какие поля передает браузер с помощью перехвата в wireshark, tcpdump, в консоли разработчика и так далее. Но проще всего открыть исходный код формы и посмотреть что она из себя представляет. Далеко ходить не будем и возьмем форму WordPress:

Как видите, передаются два поля log и pwd, нас будут интересовать только значения полей input. Здесь несложно догадаться, что это логин и пароль. Поскольку форма использует метод POST для передачи данных, то нам нужно выбрать модуль http-post-form. Синтаксис строки параметров будет выглядеть вот так:

адрес_страницы:имя_поля_логина=^USER^&имя_поля_пароля=^PASS^&произвольное_поле=значение:строка_при_неудачном_входе

Строчка запуска программы будет выглядеть вот так:

hydra -l user -P ~/john.txt -o ./result.log -V -s 80 127.0.0.1 http-post-form "/wp-admin:log=^USER^&pwd=^PASS^:Incorrect Username or Password"

Переменные ^USER^ и ^PASS^ содержат имя пользователя и пароль взятые из словаря, также, возможно, придется передать дополнительные параметры, они передаются также, только значения будут фиксированы. Заканчивается выражение строкой, которая присутствует на странице при неудачном входе. Скорость перебора может достигать 1000 паролей в минуту, что очень быстро.

Графическая утилита xhydra

Хотелось бы еще сказать несколько слов про графическую версию. Это просо интерфейс, который помогает вам сформировать команду для консольной hydra. Главное окно программы выглядит вот так:

Здесь есть несколько вкладок:

  • Target - цели атаки;
  • Passwords - списки паролей;
  • Tuning - дополнительные настройки;
  • Specific - настройки модулей;
  • Start - запуск и просмотр статуса атаки.

Я думаю, вы без труда во всем этом разберетесь когда освоите консольный вариант. Например, так выполняется настройка перебора паролей ftp:

Выводы

В этой статье мы рассмотрели как пользоваться hydra для перебора паролей от различных сетевых сервисов онлайн, а также тестирования безопасности своих систем. Помните, что использовать такие инструменты против чужих систем - преступление. Вы можете тестировать только свои машины и службы. Проводить время от времени такое тестирование в большой компании может быть крайне полезно.

Как закрыть порт iptables

Серверы и компьютеры, подключенные к интернету подвержены атакам и сканированию различных скриптов, программ и злоумышленников. А поскольку известно, что во всех системах могут быть уязвимости, то лучше, чтобы извне было видно минимум портов.

Некоторые порты должны быть видны постоянно, например, порт веб-сервера, другие используются только системными администраторами, а еще одни, вообще, должны быть доступны только локально. Несмотря на то что все сервисы имеют методы авторизации, и не позволят подключиться кому попало, они могут быть уязвимы, поэтому все лишнее лучше закрыть. В этой статье мы рассмотрим как закрыть порт iptables. Мы закроем нужные порты полностью, а также сделаем некоторые из них доступными на время, после попытки подключения к определенному порту.

Читать далее Как закрыть порт iptables

Сайт перешел на HTTPS

HTTPS - защищенный протокол передачи гипертекстовых данных - расширение протокола HTTP для поддержки шифрования данных механизмами SSL или TLS и повышения безопасности пользователей, предотвращает возможность получения личной информации злоумышленниками.

Читать далее Сайт перешел на HTTPS

Как включить режим разработчика Windows 10

Режим разработчика Windows 10В Windows 10 присутствует «режим разработчика», предназначенный, как это можно понять из названия, для программистов, но иногда необходимый и для обычного пользователя, особенно если требуется установка приложений Windows 10 (appx) не из магазина, требующих каких-то дополнительных манипуляций для работы, или, например, использование Linux Bash Shell.

В этой инструкции пошагово описаны несколько способов включить режим разработчика Windows 10, а также немного о том, почему режим разработчика может не работать (или сообщать о том, что «Не удалось установить пакет режима разработчика», а также «Некоторыми параметрами управляет ваша организация»).

Включение режима разработчика в параметрах Windows 10

Стандартный путь включения режима разработчика в Windows 10 — использование соответствующего пункта параметров.

  1. Зайдите в Пуск — Параметры — Обновление и безопасность.
  2. Выберите пункт «Для разработчиков» слева.
  3. Установите отметку «Режим разработчика» (если изменение опции недоступно, решение описано далее). Параметры режима разработчика Windows 10
  4. Подтвердите включение режима разработчика Windows 10 и подождите некоторое время, пока загрузятся необходимые системные компоненты. Подтвердить включение режима разработчика
  5. Перезагрузите компьютер.

Готово. После включения режима разработчика и перезагрузки вам станет доступна установка любых подписанных приложений Windows 10, а также дополнительные опции режима разработчика (в этом же окне параметров), позволяющие более удобно настроить систему для целей разработки.

Возможные проблемы при включении режима разработчика в параметрах

0x80004005 не удалось установить пакет режима разработчика

Если режим разработчика не включается с текстом сообщения: Не удалось установить пакет режима разработчика, код ошибки 0x80004005, как правило это говорит о недоступности серверов, с которых производится загрузка необходимых компонентов, что может быть следствием:

  • Отключенного или неправильно настроенного Интернет-подключения.
  • Использования сторонних программ для отключения «шпионства» Windows 10 (в частности, блокировка доступа к серверам Microsoft в брандмауэре и файле hosts).
  • Блокировки Интернет-соединений сторонним антивирусом (попробуйте временно отключить его).

Еще один возможный вариант, когда не удается включить режим разработчика: опции в параметрах разработчика не активны (серые), а вверху страницы сообщение о том, что «Некоторыми параметрами управляет ваша организация».

Параметры режима разработчика отключены

Такое сообщение говорит о том, что параметры режима разработчика были изменены в политиках Windows 10 (в редакторе реестра, редакторе локальной групповой политики или, возможно, с помощью сторонних программ). В таком случае используйте один из следующих способов. Также в этом контексте может быть полезной инструкция: Windows 10 — Некоторыми параметрами управляет ваша организация.

Как включить режим разработчика в редакторе локальной групповой политики

Редактор локальной групповой политики доступен только в редакциях Windows 10 Профессиональная и Корпоративная, если у вас Домашняя — используйте следующий способ.

  1. Запустите редактор локальной групповой политики (клавиши Win+R, ввести gpedit.msc)
  2. Перейдите к разделу «Конфигурация компьютера» — «Административные шаблоны» — «Компоненты Windows» — «Развертывание пакета приложений». Параметры развертывания приложений Windows 10
  3. Включите опции (двойной клик по каждой из них — «Включено», затем — применить) «Разрешить разработку приложений Магазина Windows и их установку из интегрированной среды разработки» и «Разрешить установку всех доверенных приложений». Включить режим разработчика в редакторе локальной групповой политики
  4. Закройте редактор и перезагрузите компьютер.

Включение режима разработчика в редакторе реестра Windows 10

Данный способ позволит включить режим разработчика во всех версиях Windows 10, включая Домашнюю.

  1. Запустите редактор реестра (клавиши Win+R, ввести regedit).
  2. Перейдите к разделу HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\AppModelUnlock
  3. Создайте параметры DWORD (при их отсутствии) AllowAllTrustedApps и AllowDevelopmentWithoutDevLicense и установите значение 1 для каждого из них. Включить режим разработчика в реестре Windows 10
  4. Закройте редактор реестра и перезагрузите компьютер.

После перезагрузки режим разработчика Windows 10 должен быть включен (при наличии подключения к Интернету).

На этом всё. Если что-то не работает или работает неожиданным образом — оставляйте комментарии, возможно, мне удастся как-то помочь.

Как убить процесс Linux

Несмотря на то что Linux стабильнее чем Windows, в плане работы программ и различных сервисов, случается всякое и иногда возникает необходимость завершить процесс Linux. Это может понадобиться, если программа зависла, когда вы запустили системный сервис в фоне через терминал, а не систему инициализации, а также во многих других случаях, когда убить процесс Linux проще, чем перезагружать всю систему.

В этой статье мы рассмотрим несколько самых распространенных способов завершить процесс Linux. Опишем подробно как происходит остановка процесса и как все сделать правильно.
Читать далее Как убить процесс Linux

Як вибрати ноутбук

Отже, ви вирішили купити ноутбук. Можливо, це ваш перший досвід, а можливо, попередня покупка була багато років тому, і ви вирішили освіжити в пам’яті інформацію про те, як правильно підходити до вибору цього пристрою. Що ж, буду радий вам допомогти.

Читать далее Як вибрати ноутбук

Установка FTP на Ubuntu 20.04

FTP или File Transfer Protocol - это достаточно древний, но в то же время надёжный и проверенный протокол выгрузки файлов на удалённый сервер или их скачивания. Также иногда этот протокол применяется веб-мастерами для управления файлами или организации хранилища данных.

В этой статье мы рассмотрим, как выполняется установка FTP на Ubuntu 20.04, как настроить все необходимые компоненты, в том числе и защищённое соединение. Мы будем использовать FTP-сервер VSFTPD или Very Secure FTP Daemon, который обеспечивает самую надёжную защиту от уязвимостей.
Читать далее Установка FTP на Ubuntu 20.04

Файловая система XFS

XFS - это высоко масштабируемая, высокопроизводительная файловая система, которая была изначально разработана в Silicon Graphics в 1993 году. Она была добавлена в основной состав ядра Linux в 2002 году. Сейчас она используется в качестве файловой системы по умолчанию в операционных системах семейства Red Hat.

В этой статье мы рассмотрим как работает файловая система XFS, ее преимущества, недостатки, а также как использовать ее на своем компьютере.

Читать далее Файловая система XFS

Как изменить букву флешки или присвоить постоянную букву для USB накопителя

Как назначить и изменить букву флешкиПо умолчанию, когда вы подключаете флешку или другой USB накопитель в Windows 10, 8 или Windows 7, ему присваивается буква диска, являющаяся следующей свободной по алфавиту после уже занятых букв других подключенных локальных и съемных накопителей.

В некоторых ситуациях может потребоваться изменить букву флешки, или присвоить букву для нее, которая не будет меняться со временем (это может быть нужным для некоторых программ, запускаемых с USB накопителя, прописывающих настройки с использованием абсолютных путей), об этом и пойдет речь в этой инструкции. См. также: Как изменить букву диска Windows 10Как изменить иконку флешки или жесткого диска.

Назначение буквы флешки с помощью управления дисками Windows

Какие-либо сторонние программы для того, чтобы присвоить букву флешке не требуется — сделать это можно с помощью утилиты «Управление дисками», которая присутствует в Windows 10, Windows 7, 8 и XP.

Порядок изменения буквы флешки (или другого USB накопителя, например, внешнего жесткого диска) будет следующим (флешка на момент выполнения действий должна быть подключена к компьютеру или ноутбуку)

  1. Нажмите клавиши Win+R на клавиатуре и введите diskmgmt.msc в окно «Выполнить», нажмите Enter. Запуск управления дисками Windows
  2. После загрузки утилиты управления дисками, в списке вы увидите все подключенные накопители. Нажмите правой кнопкой мыши по нужной флешке или диску и выберите пункт меню «Изменить букву диска или путь к диску». Изменение буквы флешки в управлении дисками
  3. Выберите текущую букву флешки и нажмите «Изменить». Назначение буквы для USB накопителя
  4. В следующем окне укажите желаемую букву флешки и нажмите «Ок». Выбор буквы для флешки
  5. Вы увидите предупреждение о том, что некоторые программы, использующие эту букву диска, могут перестать работать. Если у вас нет программ, которым требуется чтобы флешка имела «старую» букву, подтвердите изменение буквы флешки. Подтверждение изменения буквы флешки

На этом присвоение буквы флешке завершено, вы увидите ее в проводнике и других расположениях уже с новой буквой.

Как назначить постоянную букву для флешки

Если вам требуется сделать так, чтобы буква конкретной флешки была постоянной, сделать это просто: все шаги будут теми же, что были описаны выше, но важен один нюанс: используйте букву ближе к середине или концу алфавита (т.е. такую, которая случайно не окажется присвоенной другим подключенным накопителям).

Если, к примеру, назначить для флешки букву X, как у меня в примере, то в дальнейшем, всякий раз при подключении этого же накопителя к этому же компьютеру или ноутбуку (причем к любому из его USB портов) ему будет присваиваться назначенная буква.

Как изменить букву флешки в командной строке

Помимо утилиты управления дисками, назначить букву флешке или любому другому диску можно и с помощью командной строки Windows:

  1. Запустите командную строку от имени администратора (как это сделать) и по порядку введите следующие команды
  2. diskpart
  3. list volume (здесь обратите внимание на номер тома флешки или диска, для которого будет выполняться действие).
  4. select volume N (где N — номер из пункта 3).
  5. assign letter=Z (где Z — желаемая буква диска). Присвоить букву флешке с помощью командной строки
  6. exit

После этого можно закрыть командную строку: вашему накопителю будет присвоена нужная буква и в дальнейшем при его подключении Windows также будет использовать эту букву.

На этом завершаю и надеюсь, что всё работает как ожидается. Если вдруг что-то не получается, опишите ситуацию в комментариях, я постараюсь помочь. Возможно, окажется полезным: что делать, если компьютер не видит флешку.

Нужен ли антивирус на компьютере?

Недавно на многих сайтах читал о том, что какой то Карл считает, что антивирусные системы не нужны и они только вредят. С его мнением в интернете согласно очень большое количество людей, но я в количестве тех, кто согласен с ним лишь частично.

Читать далее Нужен ли антивирус на компьютере?