Руководства, Инструкции, Бланки

Стоперол Хидра Инструкция img-1

Стоперол Хидра Инструкция

Рейтинг: 5.0/5.0 (1734 проголосовавших)

Категория: Инструкции

Описание

Инструкция по эксплуатации Razer Hydra

Инструкция по эксплуатации Razer Hydra

Представляем Razer Hydra — первые в мире игровые контроллеры движения для ПК,
которые позволят вам использовать в играх естественные движения вашего тела.
Контроллер Razer Hydra откроет перед вами новый, захватывающий способ участия в
игровом процессе, интуитивно понятный каждому — просто протяните руки и погрузитесь
в трехмерный виртуальный мир, похожий на реальный.


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

1. Комплектация
2. Системные требования
3. Основные характеристики
4. Установка, регистрация и техническая поддержка
5. Настройка Razer Hydra
6. Использование Razer Hydra
7. Устранение неполадок
8. Юридическая информация

- Razer Hydra — игровые контроллеры движения для ПК
- Базовая станция
- USB-кабель
- Краткое руководство

2. СИСТЕМНЫЕ ТРЕБОВАНИЯ

- ПК с USB-портом
- Операционные системы Windows® 7, Windows Vista® или Windows® XP
- Подключение к Интернету (для установки драйвера)
- 75 МБ свободного места на жестком диске

Другие статьи

Брутфорсинг веб-сайтов с Hydra (часть вторая инструкции по Hydra) - портал для программистов и сисадминов

Брутфорсинг веб-сайтов с Hydra (часть вторая инструкции по Hydra)

Первая часть здесь: «THC-Hydra: очень быстрый взломщик сетевого входа в систему ». Рекомендуется начать знакомство именно с неё, т. к. она содержит подробное описание синтаксиса и инструкцию по работе с Hydra.

В этой части рассмотрены трудные моменты по перебору паролей на веб-сайтах. Трудными они являются из-за того, что все веб-сайты разные и содержат разные поля в формах. А названия этих полей нужно обязательно указать в Hydra. Более того, даже если указать всё правильно, это не означает, что Hydra будет работать корректно — в Интернете (в том числе англоязычном) очень много вопросов по этому поводу. В этой части будут рассмотрены эти проблемы и даны рекомендации как правильно настроить Hydra для перебора паролей на сайтах.

Помощь по модулям http-post-form и http-get-form

По умолчанию эти модули сконфигурированы на следование максимум по пяти редиректам подряд. Они всегда собирают новые куки для одинаковых URL без значений.

Параметр принимает три величины разделённых двоеточием ":", плюс опциональную величину.

(Примечание: если вам нужно двоеточие в строке опции в качестве значения, экранируйте его так ":", но не экранируйте "" на "\".)

Первое — это URL страницы на сервере, принимающей GET или POST.

Второе — это величины POST/GET (принятые хоть от браузера, прокси и т. д.) имена пользователя и пароли будут символизируют заполнители "^USER^" и "^PASS^" (параметры формы).

Третье — это строка, которая проверяет на *неверный* логин (по умолчанию).

Строке, соответствующей условию введения неверных учётных данных может предшествовать строка "F=", строке, соответствующей условию введения верных учётных данных должна предшествовать "S=".

Здесь многие ошибаются. Вы должны проверить веб-приложение, на что похожа строка, выдаваемая при неверных учётных данных и скопировать её в этот параметр!

Следующие параметры опциональные:

  • C=/page/uri определяет другую страницу для сбора базовых куки
  • (h|H)=My-Hdr: foo для отправки заданных пользователем HTTP заголовка при каждом запросе
  • ^USER^ и ^PASS^ также могут быть внесены в этот заголовок!

Справка: 'h' добавит заданный пользователем заголовок в конец не обращая внимания, был ли он уже отправлен Hydra или нет.

'H' заменит значение существующего заголовка той строкой, которая задана пользователем или добавит заголовок в конец

Обратите внимание, что если вам нужно двоеточие (:) в ваших заголовках, то его нужно экранировать обратным слэшем ().

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

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

Рассмотрим все элементы:

-L logins.txt -P passwords.txt — это имена пользователей и пароли, как их можно задать рассказывается в первой части — если вы не понимаете этот фрагмент, то начните чтение с первой части.

http-post-form — это протокол, точнее говоря, это указание на то, что брутфорсится форма ввода (form) сайта (http), которая отправляет параметры методом POST (post).

Вместо http-post-form может быть указан http-get-form — в случае, если форма отправляет параметры методом GET.

example.org – адрес сайта для подбора паролей

-m — ключ, который говорит о том, что сейчас будет передана специальная опция для модуля (в данном случае для модуля http-post-form)

"/signin.php:login_username=^USER^&login_password=^PASS^:Please login" — эта и есть передаваемая опция, уберём кавычки и разделим её на три части, разделителем служит двоеточие

/signin.php — адрес страницы, куда передаются данные формы, должен начинаться со слеша

login_username=^USER^&login_password=^PASS^ — это строка, которая передаётся форме. О ней подробнее рассказывалось чуть выше. ^USER^ — это заполнитель, который будет заменяться на имя пользователя. ^PASS^ — это заполнитель для пароля.

Слова login_username и login_password — это названия полей формы, они у каждой формы свои, их нужно задавать самому.

Please login — это строка, которую hydra будет искать в присланном от сайта ответе после введения учётных данных. Если эта строка присутствует, значит попытка аутентификация провалилась, учётные данные неверны и нужно пробовать следующие логины и пароли. Если эта строка отсутствует, значит произошёл вход. Эта строка индивидуальна для каждого сайта и вам самостоятельно нужно её выявлять и задавать.

Как видно, достаточно запутанно, плюс к этому, есть ещё и подводные камни. Давайте будем разбираться на конкретных примерах.

Как ввести данные в Hydra для перебора пароля на сайте

Рассмотрим на примере конкретного сайта. Форму можно исследовать двумя способами — статическим и динамическим. Давайте рассмотрим оба способа последовательно.

Дан сайт с адресом https://example.org/. На этом сайте есть форма для ввода пароля:

Теперь третий элемент — то, что мы будем искать в ответе. Например, в форме есть строка «Введите Ваше имя пользователя и пароль ». Практически наверняка после входа на сайт эта строка не отображается — поскольку она больше не нужна. Поэтому мы выбираем её для поиска: если она найдена, перебор будет продолжаться, если в ответе нет этой строки, значит мы успешно вошли, т. е. угадали логин и пароль.

Ещё можно попробовать ввести любые учётные и посмотреть на ошибку, которую выдаёт веб-сайт. Эту ошибку (часть этой строки) и нужно использовать.

Т.е. мы составили три подстроки, исходя из анализа формы:

Вот кусочек из сообщения отладки:

Это то, что отправляет сервер в ответ на попытку авторизации. Оказывается, никакие сообщения об ошибке не показываются, вообще ничего не показывается — происходит только редирект…

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

Например, т. к. для рассматриваемого сайта я знаю верные учётные данные, то я могу ввести их и, оставаясь в режиме отладки, посмотреть на разницу вывода:

Ну можно кричать «Эврика!», ведь заголовок ответа другой, а именно — при вводе верных учётных данных устанавливается куки, т. е. нам нужно искать строку Set-Cookie. Причём, если эта строка есть — значит всё прошло успешно. Перед этой строкой мы поставим S=. это даст указание hydra, что если строка найдена, то это успех, а не провал:

Т.е. теперь всё работает, при вводе ложных данных, hydra понимает, что данные ложные. А при вводе верных данных — понимает, что имя и пароль угаданы.

Все сайты разные, и для каждого движка нужно тестировать, прежде чем начинать атаку.

Взлом пароля для WordPress c hydra
Динамический анализ форм

Давайте теперь проведём динамический анализ формы. Я буду делать браузере Chrome (в Firefox также есть функционал для веб-разработчиков).

Переходим на сайт, который мы будем брутфорсить. Находим страницу авторизации https://notcodeby.net/wp-login.php. Теперь открываем в браузере Настройки и управление Google ChromeДополнительные инструментыИнструменты разработчика

В них находим вкладку Network.

Вводим в форму любые учётные данные и нажимаем Войти.

Смотрим на нашу панель разработчика:

Нас интересует строка, которая содержит адрес страницы wp-login.php и метод отправки POST. Кликаем на неё. Там где Form Data выбираем view source.

Интересующая нас строка:

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

Т.е. налицо простая и эффективная защита от брутфорсинга (хотя, говорят, это можно обойти)…

Помощь по модулям http-get и http-post

Оба этих модуля требуют страницу для аутентификации

Пример: "/secret" или "https://bla.com/foo/bar" или "https://test.com:8080/members"

Похожие темы

Установка и запуск Google Chrome в Kali Linux из-п. Google Chrome не работает из-под рута. А основной пользователь в Kali Linux — это рут. Что делать? Программы, в том числе и графические, р.

Обзор разделов инструментов Kali Linux 1.1.0. Част. Начало здесь: "Обзор разделов инструментов Kali Linux 1.1.0. Часть 1. Краткая характеристика всех разделов". Здесь обзор только НЕКОТО.

Установка WPScan на Ubuntu (Mint) VPS WPScan — это сканер уязвимостей WordPress. Вы можете использовать его для выявления уязвимых тем или плагинов WordPress на вашем веб-сайте. Се.

Двойная загрузка Kali на компьютерах Mac. Установочные требования для Kali Linux Начиная с выпуска Kali Linux 1.0.8, Kali Linux поддерживает EFI прямо из коробки. Это положительно сказалось н.

Защита с помощью пароля в Linux: файл /etc/shadow. Защита с помощью пароля на Linux Использование файла /etc/shadow Пароль в Linux системах, используемый для учётных записей, обычно доступен.

BFT HYDRA N инструкция по эксплуатации и монтажу - скачать pdf

BFT HYDRA N инструкция по эксплуатации и монтажу

Блок управления BFT HYDRA N инструкция по эксплуатации и монтажу на русском языке в формате pdf, размер файла 1.8 Mb. Используйте кнопки "Скачать инструкцию" или "Открыть в новом окне" (документ откроется в новом окне или вкладке браузера). Функция просмотра доступна при наличии плагина Adobe Acrobat в вашем браузере.

BFT HYDRA N инструкция

Формат файла: pdf

Руководство по установке и использованию

Информация, описание, технические характеристики изделия

Описание и информация о технических характеристиках по данному изделию пока что отсутствует. Содержание во всех разделах сайта периодически обновляется. Попробуйте зайти на страницу позже.

Отзывы по оборудованию и комментарии к материалу

Здесь можно оставить свои отзывы по оборудованию "BFT HYDRA N - Блок управления", а также написать комментарии к материалу.

Copyright © TechFile 2013 - 2016

Lierac Hydra-Chrono – инструкция по применению, состав

Lierac Hydra-Chrono Лиерак Гидро-хроно+/Hydra-Chrono+ флюид матирующий

Увлажняющий и матирующий флюид для нормальной и комбинированной кожи

Мультизащитный экстракт эйхорнии прекрасной, экстракты зеленого лимона и бадьяна

Растительный комплекс, сочетающий натуральную аминокислоту и экстракт японского ландыша, обеспечивает насыщение влагой глубоких слоёв кожи и стимулирует оба типа «гидроканалов» кожи. Входящие в его состав натуральные увлажняющие компоненты (NMF) интенсивно увлажняют поверхность кожи.
Мультизащитный экстракт эйхорнии прекрасной эффективно борется против агрессивного воздействия окружающей среды (свободные радикалы, загрязнение, колебания температур), продлевая молодость кожи.

Легкий флюид нежного розового цвета с тонким ароматом свежей зелени, обогащённый экстрактом зелёного лимона и бадьяна освежает кожу и матирует ее.

Наносить утром и/или вечером на очищенную кожу лица.

Другие лекарства в нашей аптеке

Стоперол хидра инструкция

Модель «Серж»

Спелеогидрокостюм сухого типа для использования в обводненных и сильнообводненных пещерах, погружений в сифонах и источниках, а так же подводной охоты. Главное преимущество модели «Серж»- ее легкость и компактность. В сложенном упакованном виде гидра модели «Серж»: 30*15*15 см.

Материал: двусторонний прорезиненный капрон («чернуха»).

Анатомические элементы кроя: колени, стопы, спина.

Обтюрация: две ручные и одна шейная латексные манжеты.

Размер: индивидуальные мерки.

В комплекте с гидрой идет чехол, загидровка, отрезы ткани на латки, инструкция к хранению и использованию гидры «эставелла».

Индивидуальные мерки

Необходимые индивидуальные мерки для изготовления гидрокостюма сухого типа

Фризы - HYDRA MOSAIC

Фриз из мозаики

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

В ассортименте HYDRA MOSAIC представлены два вида готовых фризов из мозаики – греческие меандры в бело-синей гамме.

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

Брут-форс веб-сайтов: инструкция по использованию patator, Hydra, Medusa

Брут-форс веб-сайтов: инструкция по использованию patator, Hydra, Medusa Брут-форс входа: эффективен даже на сайтах без уязвимостей

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

Кроме этого разнообразия, даже без проактивной защиты веб-форма может быть создана разработчиком так, что в неё уже после нажатия на кнопку «Отправить» добавляются поля, без которых сервер не принимает форму. Анализом статичного кода это выяснить иногда очень непросто. Также на стороне веб-мастера очень легко реализовать такие анти-брутфорс меры как добавление скрытых полей со случайными значениями, анализ заголовка Referer и прочее. Всё это требует дополнительных сил на анализ.

Ну а если в дело вступают серьёьзные проактивные защиты, такие как капча, блокировка попыток входа при нескольких неудачных попытках, двухфакторная аутентификация и т.д. то даже у опытных пентестеров опускаются руки.

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

Программы patator. Hydra. Medusa могут перебирать пароли для разнообразных служб, но мы остановимся именно на веб-формах. В этом разделе мы познакомимся с этими программами поближе, узнаем, как получить полный список передаваемых формой полей и научимся перебирать пароли в этих веб-формах с помощью patator, Hydra, Medusa.

Брут-форс формы, передающей данные методом GET, я буду показывать на примере Damn Vulnerable Web Application (DVWA). А перебор паролей формы, передающей данные методом POST я буду показывать на примере OWASP Mutillidae II. Я буду работать с этими уязвимыми веб-приложениями, предустановленными в Web Security Dojo.

Да и, пожалуй, рассмотрим ещё брут-форс входа на нескольких актуальных версиях реальных веб-приложений.

Передача данных из формы аутентификации на веб-сервер

Методы отправки данных

Как уже было упомянуто, веб-формы могут отправлять данные методом GET или POST.

Этот метод предназначен для получения требуемой информации и передачи данных в адресной строке. Пары «имя=значение» присоединяются в этом случае к адресу после вопросительного знака и разделяются между собой амперсандом (символ &). Удобство использования метода get заключается в том, что адрес со всеми параметрами можно использовать неоднократно, сохранив его, например, в закладки браузера, а также менять значения параметров прямо в адресной строке.

Метод post посылает на сервер данные в запросе браузера. Это позволяет отправлять большее количество данных, чем доступно методу get, поскольку у него установлено ограничение в 4 Кб. Большие объемы данных используются в форумах, почтовых службах, заполнении базы данных, при пересылке файлов и др.

Пример формы, которая отправляет данные методом GET:

Обратите внимание на action="handler.php" – значение этого атрибута говорит о том, что данные будут отправлены файлу handler.php. Т.е. если я введу в текстовое поле, например hackware, то после нажатия на кнопку «Отправить» будет открыта страница ./handler.php?str=hackware

Пример формы, которая отправляет данные методом POST:

Если я введу в текстовое поле, например hackware, то после нажатия на кнопку «Отправить» будет открыта страница ./handler.php, т.е. в адресной строке передаваемые данные не отображаются.

Пусть вас не сбивает с толку формы, в которых отсутствуют атрибуты method и/или action. Они не являются обязательными. Если они отсутствуют, то используются значения по умолчанию. Для method это get, а для action – сама страница с формой (т.е. данные отправляются тому же скрипту/файлу, который показывает форму).

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

Поведение веб-приложения при получении данных для входа

Проверка успешности входа

Как узнать, вошли ли мы? Т.е. как понять, что пароль успешно угадан? Для этого анализируется страница, которая присылается после попытки входа. Иногда мы не можем знать, что показывается залогиненому пользователю, поскольку у нас нет действительной учётной записи. Поэтому популярным стал метод от противного: мы пробуем ввести какой-либо логин и пароль и смотрим на ошибку. Нарпимер, это может быть «Account does not exist». Далее программа по перебору сравнивает выдаваемые ей страницы и если там отсутствует строка «Account does not exist», значит пароль подобран.

Также программы брут-форсинга могут работать и со строками, отображающимися при успешном входе.

Поведение веб-приложения при удачном или неудачном входе не ограничивается только показом сообщения. Также вместе или даже вместо показа какого-либо сообщения веб-приложение может:

  • осуществлять редирект (например, в случае удачного входа пользователь перенаправляется в админку или на свою страницу);
  • записывать кукиз (в случае верного логина и пароля сервер отправляет кукиз с данными сессии. И на основании этих кукиз веб-приложение показывает вошедшему пользователю кнопки редактирования, ссылку на админ.панель и т.д.).

И ещё по поводу отображаемых данных – многие популярные веб-приложения имеют поддержку многих языков. Это также важно учитывать, поскольку вы ожидаете от знакомого вам веб-приложения «Account does not exist», а с учётом своей локали оно будет показывать «??????????????»…

Кукиз, заголовки, скрытые поля, случайные данные в скрытых полях

Нужно помнить о таких возможных моделях поведения веб-приложения как:

  • присваивать кукиз с сессией каждому, кто открыл веб-форму, а при получении из неё данных, проверять, имеется ли такая сессия. Если сессии нет, то не принимать даже верный пароль. Т.е. перед каждой попыткой требуется получить веб-страницу с формой, при этом сохранить полученные кукиз для отправки их вместе с кандидатами в логины и пароли;
  • при каждом обновлении страницы форма может содержать скрытые поля со случайными данными. Это требует перед каждой попыткой получение формы, извлечение этих случайных данных, добавление их в передаваемое с логином и паролем тело запроса;
  • могут быть упрощённые варианты: статичные кукиз и статичные данные в скрытых полях формы. Это не требует получения их при каждой попытки входа. Но нужно не забывать добавлять значение скрытых полей в тело запроса, а про кукиз помнить, что сессия может закончиться по таймауту и нужно получить новое куки.
Сбор имён пользователей

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

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

Подготовка Web Security Dojo

Установим необходимые нам программы и немного обновимся (это внутри Web Security Dojo):

Установим свежую версию Medusa из исходных кодов:

Установим свежую версию Hydra из исходных кодов:

Скачаем последнюю версию скрипта patator:

Ещё обратите внимание, что я обновил Damn Vulnerable Web Application (DVWA) и Damn Vulnerable Web Application (DVWA) до последних версий. Как это сделать описано на соответствующих страницах по приведённым ссылкам.

Ещё нам понадобятся списки слов (словари). Скачаем парочку, если с ними не получится подобрать пароль, то позже скачаем ещё и другие словари:

Сбор данных о работе веб-формы

Нужно начать со сбора данных о работе веб-формы. Анализ статичных данных (HTML кода) может быть трудным и очень легко что-то пропустить. Поэтому мы будем анализировать «живые» данные, которые непосредственно отправляет браузер. Для подобного анализа нам нужен прокси. Мы воспользуемся Burp Suite Free Edition.

Настройка прокси в Burp Suite для анализа данных передаваемых из веб-формы

Запустите Burp Suite, это можно сделать из меню, либо, если вы скачали свежую версию, так:

Переходим во вкладку Proxy -> Options. Там в самом верху в Proxy Listeners нажимаем Add и добавляем новый прослушиватель: на любом не занятом порту, например, 7070. В качестве Specific Address выберите IP компьютера атакующего (т.е. той машины, где запущен Burp).

Здесь же перейдите во вкладку Request handling и поставьте галочку на Support invisible proxying (enable only if needed).

Когда добавите новый прослушиватель, поставьте галочку там, где Running (это будет означать, что он задействован в данное время).

Теперь спуститесь в самый низ, найдите Allow requests to web interface using fully-qualifyed DNS hostnames и поставьте там галочку.

Теперь перейдите в Proxy -> Intercept. отключите его.

Теперь в браузере открываете Настройки -> Advanced -> Network -> Connections Settings.

Там выберите Manual Proxy Configuration и в полях HTTP Proxy введите IP и порт прокси в Burp Suite.

Брут-форс веб-форм, использующих метод GET

Обратите внимание, для входа у нас запрашивается логин и пароль. Мы будем брутфорсить не эту форму (хотя ничего не помешало бы нам это сделать). Эта форма служит для доступа в DVWA, страницы которой содержат уязвимые веб-приложения, в том числе те, которые предназначены для входа, но от которых мы не знаем пароли. От этой формы мы знаем пару логин:пароль, введём их. Скорее всего, после этого в наш браузер будет записана куки. При каждом обращении к страницам DVWA, сервер будет запрашивать куки и сверять – имеется ли такая сессия. Если сессия имеется, то мы будем беспрепятственно просматривать страницы DVWA. Очень хорошо, что мы обратили на это внимание – ведь нам нужно настроить наши программы для брутфорса так, чтобы и они отправляли куки с валидной сессией, иначе они не смогут «общаться» с внутренними страницами DVWA, которые содержат веб-форму, которую мы хотим брут-форсить.

Перейдите в DVWA Security и поставьте низкий уровень безопасности (Low ), сохраните сделанные изменения:

Переходим во вкладку Brute Force.

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

Важной информацией является следующее:

  • при неверном пароле сервер выдаёт надпись «Username and/or password incorrect. »
  • судя по адресу http://localhost/dvwa/vulnerabilities/brute/?username=admin&password=password11&Login=Login# сервер использует отправку данных методом GET.

Кстати, то, что форма отправляет значения некоторых величин методом GET, вовсе не означает, что она одновременно не отправляет значения методом POST. Когда передо мной стояла задача реализации одновременной отправки данных методом GET и POST с помощью AJAX, то задача оказалась довольно простой в решении. В данном случае данные отправляются только методом GET, но нужно помнить, что могут быть более необычные варианты.

Теперь переходим в Burp Suite для анализа данных:

  • GET /dvwa/vulnerabilities/brute/?username=admin&password=password11&Login=Login HTTP/1.1
  • Cookie: security=low; PHPSESSID=1n3b0ma83kl75996udoiufuvc2

Первая говорит о том, что данные передаются только методом GET, а также содержит строку запроса /dvwa/vulnerabilities/brute/?username=admin&password=password11&Login=Login

Вторая содержи куки, без которого нас не пустят на внутренние страницы сервера. Т.е. их также нужно обязательно указывать.

В некоторых случаях также важной могла бы оказаться строка с Referer.

Но данное веб-приложение не проверяет Referer, поэтому в программе необязательно указывать этот заголовок.

Также посмотрим ответ веб-сервера:

Редиректа (Location:) и записи новых кукиз не происходит. А в ответе при неверном пароли присутствует слово «incorrect »:

Мы собрали достаточно данных, переходим к составлению команды для запуска брутфорса.

Использование patator для брут-форса веб-форм, передающих данные методом GET

Если предыдущий материал показался вам сложным, то у меня для вас плохая новость – сложное начинается только сейчас. Поэтому собрались! ))

patator предназначен для брут-форса большого количества разнообразных служб (и не только служб, кстати). Для брут-форса входа веб-приложений предназначен модуль http_fuzz.

Страница patator в Энциклопедии инструментов хакера является огромной. Это связано с большим количеством доступных модулей и примеров. Давайте выпишем только те опции, которые нам могут пригодиться для подбора пароля веб-сайтов:

Глобальные опции patator (применимы ко всем модулям, в том числе и для http_fuzz):

Опции модуля http_fuzz.

Давайте начнём строить нашу команду для запуска перебора паролей с помощью patator.

Начинаться она будет с ./patator.py http_fuzz. здесь ./patator.py – это расположение файла скрипта, а http_fuzz – название используемого модуля.

Как мы помним, серверу передаётся строка /dvwa/vulnerabilities/brute/?username=admin&password=password11&Login=Login, которая является относительным адресом страницы. Абсолютный адрес в нашем случае выглядит так http://localhost/dvwa/vulnerabilities/brute/?username=admin&password=password11&Login=Login. Этот адрес мы указываем с опцией url: url="http://localhost/dvwa/vulnerabilities/brute/?username=admin&password=password11&Login=Login"

Слово admin мы заменяем на заполнитель FILE0 а вместо password11 указываем второй заполнитель FILE1. В итоге адрес, который мы будем запрашивать каждый раз на веб-сервере, и который мы указываем с опцией url становится таким: url="http://localhost/dvwa/vulnerabilities/brute/?username=FILE0&password=FILE1&Login=Login"

Также нам нужно указать расположение файлов с именами пользователей и паролями. Обратите внимание, вместо FILE0 и FILE1 используется сокращённая запись 0= и 1=. Файлы расположены в той же директории, что и скрипт patator, поэтому к нашей команде я добавляю 0=namelist.txt 1=password_medium.txt

Далее мы добавляем используемый метод: method=GET

Куки передаются в заголовках, поэтому добавляем наши куки строкой: header='Cookie: security=low; PHPSESSID=1n3b0ma83kl75996udoiufuvc2'

Теперь после опции -x нам нужно указать действие и условие таким образом, чтобы при успешном входе подобранные логин и пароль выводились нам, а неудачные попытки – нет. Неудачной попыткой являются те, когда в присылаемом от сервера ответе присутствует слово incorrect. В качестве действия мы выбираем ignore. Тогда получается -x ignore:fgrep='incorrect'.

Соберём всё вместе, в конечном счёте получается следующая команда:

Обратите внимание, что если вы попытаетесь использовать эту же команду в Web Security Dojo в Damn Vulnerable Web Application (DVWA), скачаете эти же самые словари, которые я использую, то у вас всё равно ничего не получится! Поскольку вам значение 1n3b0ma83kl75996udoiufuvc2 (куки) нужно поменять на своё.

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

Чтобы посмотреть прогресс в самой программе, нажмите [ENTER]. Для просмотра всех доступных интерактивных команд, нажмите h.

Вот результат выполнения брут-форса:

С одной стороны, программу минимум мы выполнили и нашли пароль администратора. Но мы не нашли ни одного (из четырёх) паролей пользователя.

Скорость перебора составила 264 протестированных комбинации за секунду.

И ещё обратите внимание, что одну и ту же учётную запись мы взломали четыре раза. Это не ошибка patator – это проблема наших словарей, в которых одни и те же имена пользователя и/или пароли повторялись несколько раз. Для брут-форса веб-приложений это плохо. Кстати, давайте посчитаем,

Всего было протестировано 2096668 комбинации логин:пароль. Это можно проверить и самому. Посчитаем количество имён пользователя:

Посчитаем количество паролей:

Всего комбинаций: 2908*721=2096668

А теперь давайте удалим дубликаты и снова посчитаем количество комбинаций:

Т.е. если бы мы догадались начать с удаления дубликатов, то количество комбинаций, необходимых для тестирования, сократилось бы примерно на 350 тысяч… Пусть это послужит нам уроком.

Мы не узнали данных ни одного из четырёх пользователей. Нам нужны новые словари для продолжения брут-форса, но давайте введём полученные данные учётной записи admin:password и продолжим исследование веб-приложения. Мы видим фотографию пользователя:

Фотография размещена по адресу http://localhost/dvwa/hackable/users/admin.jpg. А что если мы заглянем в папку http://localhost/dvwa/hackable/users/.

Я почти уверен, что название файлов изображений соответствуют именам пользователей, т.е. это

Это отличный подарок для нас, поскольку в качестве новых словарей имён пользователя я собрался брать «First names facebook-firstnames.txt.bz2 (16,464,124 bytes)» отсюда. Это большой список и новый брут-форс сильно бы затянулся. Вместо этого я создаю файлик opened_names.txt и вписываю туда всего 4 строчки:

В качестве паролей я попробую словарик «500 самых плохих паролей »:

Теперь моя команда с новыми словарями выглядит так:

Ну наконец-то и на моей улице праздник. Буквально за считанные секунды я взломал пароли для трёх учётных записей из четырёх.

Из файла opened_names.txt я убираю все строки, кроме 1337 (чтобы уже взломанные пользователи не отнимали время). Попробую с таким сочетанием:

Возьмём молоток побольше - Rockyou.

Результат получен на удивление быстро:

Недостающая пара: 1337:charley

Ещё из скриншота видны ложные срабатывания, когда в пароле присутствуют специальные символы. Это может означать наличие другой уязвимости, например, SQL-инъекции.

Использование Medusa для брут-форса веб-форм, передающих данные методом GET

У программы Medusa также очень большая страница справки, которая содержит информацию по всем модулям программы. Выпишем информацию по модулю web-form. поскольку именно он применяется для брут-форса форм входа веб-сайтов.

Доступные опции модуля:

  • USER-AGENT:? Значение пользовательского агента (User-agent). По умолчанию: "I'm not Mozilla, I'm Ming Mong".
  • FORM:? Целевая форма для запроса. По умолчанию: "/"
  • DENY-SIGNAL:? Сообщение неудачной аутентификации. Попытка помечается как успешная, если этот текст отсутствует в ответе сервера. По умолчанию: "Login incorrect"
  • CUSTOM-HEADER:? Пользовательский HTTP заголовок.

Можно указать больше заголовков, используя эту опцию несколько раз.

Методы и поля для отправки веб-службе. Валидными методами являются GET и POST. Действительные данные, которые отправляет форма, также должны быть определены здесь. Особенно поля имя_пользователя и пароль. Поле имя_пользователя должно быть первым, за ним следует поле пароля. По умолчанию: "post?username=&password="

Пример использования: "-M web-form -m USER-AGENT:"g3rg3 gerg" -m FORM:"webmail/index.php" -m DENY-SIGNAL:"deny!" -m FORM-DATA:"post?user=&pass=&submit=True" -m CUSTOM-HEADER:"Cookie: name=value"

Если внимательно всмотреться в опции Medusa, то станет понятно, что программа patator является более гибкой и способной выполнять брут-форс веб-форм практически при любом поведении веб-приложения. Про Medusa этого сказать нельзя, но для нашей ситуации её функционала достаточно. Давайте составит команду для запуска брут-форса под наши условия.

  • Начинается команда с вызова бинарного файла Medusa – /usr/local/bin/medusa.
  • Далее после опции -h нам нужно указать адрес хоста, который будет брут-форситься: -h localhost
  • Теперь опциями -U и -P укажем файлы с именами пользователей и паролями: -U opened_names.txt -P 500-worst-passwords.txt
  • После опции -M нужно указать используемый модуль: -M web-form

Все остальные величины являются опциями модуля web-form и начинаются с -m.

  • После -m FORM указываем адрес формы, которой отправляются логин и пароль: -m FORM:"/dvwa/vulnerabilities/brute/"
  • С -m DENY-SIGNAL указываем фразу или слово, которые говорят о неудачной аутентификации: -m DENY-SIGNAL:"incorrect"
  • Метод отправки, а также сами отправляемые данные указываются после -m FORM-DATA. Здесь нужно быть особенно внимательным. В самом начале указывается метод передачи данных (post или get). Первым обязательно должно идти поле с именем пользователя, а вторым – поле с паролем. Заполнители не указываются. Для нашего примера верной является такая строка: -m FORM-DATA:"get?username=&password=&Login=Login"
  • С -m CUSTOM-HEADER указываются заголовки. Можно использовать много раз для передачи нескольких заголовков. В нашем случае обязательным являются только куки: -m CUSTOM-HEADER:"Cookie: security=low; PHPSESSID=1n3b0ma83kl75996udoiufuvc2"

Итак, собираем всё вместе в одну команду:

И всё в этой команде хорошо и правильно, кроме одного, Medusa вылетает с ошибкой не успев перебрать ни одного пароля:

Автор уже извещён о данной ошибке: https://github.com/jmk-foofus/medusa/issues/14. Будем надеяться, что он её поправит.

Использование THC-Hydra для брут-форса веб-форм, передающих данные методом GET

Как обычно, начнём знакомство с Hydra со страницы с опциями и выпишем те из них, которые нужны для брут-форса веб-форм.

Опции модулей http-get-form, https-get-form, http-post-form, https-post-form

Модули требует страницу и параметры веб-формы.

По умолчанию этот модуль настроен следовать максимум пяти редиректам подряд. Он каждый раз собирает новое куки с того же URL без переменных. Параметр принимает три разделённых ":" значения, плюс опциональные значения.

(Примечание: если вам нужно двоеточие в строке опций в качестве значения, экранируйте его с "\:", но не экранируйте "\" с "\\".)

  • <url>:<параметры формы>:<строка условия>[: [: ]
  • Первое — это страница на сервере (URL) на которую отправляются данные методом GET или POST.
  • Второе — это переменные POST/GET получаемые либо из браузера, либо прокси и т. д. Имена пользователей и пароли будут подставлены вместо заполнителей "^USER^" и "^PASS^" (ПАРАМЕТРЫ ФОРМЫ).
  • Третье — это строка, которая проверяет неверный вход (по умолчанию). Перед условием неверного входа должна стоять "F=", перед условиям успешного входа должна стоять "S=". Это то место, где больше всего людей ошибаются. Вы должны проверить веб-приложение, на что похожа строка, которую он выдаёт при неуспешном входе и указать её в этом параметре!

Следующие параметры опциональны:

задаёт другую страницу с которой собрать начальные кукиз.

для отправки с каждым запросом заданного пользователем HTTP заголовка

^USER^ и ^PASS^ также могут быть размещены в этих заголовках!

Примечание: 'h' добавит определённый пользователем заголовок в конец, независимо от того, отправила ли уже Hydra заголовок или нет.

'H ' заменит значение этого заголовка, если оно существует, тем, которое указал пользователь или добавит заголовок в конец.

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

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

Собираем нашу команду:

  • Как всегда, она начинается с бинарного файла THC-Hydra: hydra
  • Опциями -L и -P задаём файлы со списками имён пользователя и паролей: -L opened_names.txt -P 500-worst-passwords.txt
  • Установим количество потоков: -t 10
  • Из четырёх схожих модулей выбираем http-get-form и через символы :// указываем адрес localhost. Здесь же через слеш нам нужно указать адрес страницы формы (/dvwa/vulnerabilities/brute/ ), передаваемые форме данные, где необходимо указать "^USER^ " и "^PASS^ " в тех местах, куда будут подставлены имена и пароли (username=^USER^&password=^PASS^&Login=Login ) и третье это строка, которая проверяет верный или неверный ввод (incorrect ). Все эти данные разделены двоеточиями. Получается:
  • Не забываем, что нам обязательно нужно передать куки, для этого используем опцию h и через двоеточие ещё дописываем (если внутри заголовка присутствует своё двоеточие, то обязательно экранируем его): h=Cookie\: security=low; PHPSESSID=1n3b0ma83kl75996udoiufuvc2

В конечном счёте у нас получилось:

И опять, хорошая команда, правильно составлено, но есть одно «но»:

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

Неудовлетворённость существующими программами была вызвана следующими их недостатками:

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

Это не пустая болтовня о неудовлетворительном качестве альтернативных инструментов. Мы только что в этом убедились сами.

Брут-форс веб-форм, использующих метод POST

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

Использование patator для брут-форса веб-форм, передающих данные методом POST

Теперь давайте перейдём к брутфорсу веб-входа, когда данные передаются с использованием POST.

Там есть страничка входа http://localhost/mutillidae/index.php?page=login.php, она отправляет данные методом POST. Начнём, естественно, с анализа, введём произвольные данные в форму и нажмём отправить.

Как видим, вход не произошёл, из важного:

  • мы остались на странице http://localhost/mutillidae/index.php?page=login.php, т.е. скорее всего, данные отправляются этому файлу, причём скорее всего используется метод POST
  • при ошибке входа показывается надпись «Password incorrect ».

Переходим теперь в Burp Suite:

Здесь важными являются строки:

  • POST /mutillidae/index.php?page=login.php
  • Referer: http://localhost/mutillidae/index.php?page=login.php
  • Cookie: showhints=1; PHPSESSID=1n3b0ma83kl75996udoiufuvc2
  • username=admin&password=password&login-php-submit-button=Login

Они говорят нам о том, что данные передаются методом POST странице /mutillidae/index.php?page=login.php. Также передаются кукиз, которые содержат «PHPSESSID=1n3b0ma83kl75996udoiufuvc2». Сами передаваемые данные имеют вид: «username=admin&password=password&login-php-submit-button=Login».

Анализирует ответ сервера:

Редиректов и записи новых куки нет.

Начинаем строить нашу команду.

  • Она начинается с ./patator.py http_fuzz (файл программы и указание используемого модуля).
  • Далее с опцией url мы указываем адрес страницы, на которую отправляются данные: url="localhost/mutillidae/index.php?page=login.php"
  • Опцией method мы задаём метод отправки данных: method=POST
  • С patator мы ещё не применяли опцию body. теперь пришло её время. В ней мы передаём те данные, которые оправляются серверу. Не забываем добавить заполнители FILE0 и FILE1: body='username=FILE0&password=FILE1&login-php-submit-button=Login'
  • С опциями 0= и 1= мы передаём в программу словари имён пользователя и паролей: 0=namelist_new.txt 1=500-worst-passwords.txt
  • Поскольку какие-то кукиз у нас уже есть, они были записаны автоматически, скорее всего, при первом открытии сайта. Непонятно, с какой периодичностью они будут изменяться, но ясно, что это будет происходить автоматически, как и в первый раз, поэтому мы указываем: accept_cookie=1. Эта опция означает принять кукиз от веб-приложения и отправить из при следующей проверке логина и пароля.
  • И опять мы выбираем игнорировать (не показывать нам) все попытки входа, если в ответе содержится слово incorrect: -x ignore:fgrep='incorrect'
  • После опции -t можно указать количество потоков: -t 50

Как видим, результаты есть:

При моих параметрах, иногда возникала ошибка 500 Internal Server Error. которая в данной ситуации означает лишь то, что я заDoS’ил сервер.

Брут-форс входа в phpMyAdmin, WordPress, Joomla. Drupal

[ДОПИСЫВАЕТСЯ - БУДЕТ ДОБАВЛЕНО ПОЗЖЕ]

Заключение

Итак, из тройки patator, Hydra и Medusa полностью адекватно работающей оказалась только одна программа – patator.

Более того, гибкость patator позволяет проводить брут-форс в обстоятельствах, которые были бы не по зубам Hydra и Medusa (если бы они работали).

Если плачевные результаты Hydra и Medusa связаны с моими неправильными действиями, то просьба написать в комментариях, в чём именно мои ошибки.

Поделиться "Брут-форс веб-сайтов: инструкция по использованию patator, Hydra, Medusa"