Как расшифровать код подтверждения на гидре при восстановлении пароля на телефоне
Программа hydra поддерживает огромное количество служб, благодаря своей быстроте и надёжности она завоевала заслуженную признательность среди тестеров на проникновение. Будучи очень мощной и гибкой, программу hydra нельзя отнести к простым и легко дающимся новичкам. Не надо отчаиваться, если вам не удалось оседлать hydra, я рекомендую вам посмотреть на программу BruteX. Она значительно автоматизирует процесс подбора, более того, она использует ту же самую hydra, но сама вводит необходимые ключи и даже не нужно искать файлы с именами и паролями, поскольку они поставляются вместе с программой.
Установка Hydra
Первым делом нам необходимо установить этот инструмент. Это довольно популярная утилита для тестирования безопасности, поэтому вы можете найти ее в официальных репозиториях. Для установки нужных пакетов в Ubuntu выполните:
sudo apt install hydra
Чтобы установить программу в Red Hat/CentOS команда аналогичная:
sudo yum install hydra
Но в официальных репозиториях, как правило, находятся более старые версии программы. Если вы хотите самую свежую, то придется собрать ее из исходников. Но здесь нет ничего сложного. Сначала загрузим исходники последней версии с GitHub, на данный момент, это 8.4:
Затем необходимо их распаковать и перейти в папку с исходниками:
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. Но я бы не советовал вам использовать этот графический интерфейс. Если разобраться в работе с утилитой через терминал, то он совсем не нужен, тем более, что вся гибкость утилиты раскрывается через командную строку.
Перед тем как мы начнем рассматривать как пользоваться htc hydra, нам необходимо разобраться какие параметры команде передавать и как это делать. Давайте сначала рассмотрим общий синтаксис:
$ hydra опции логины пароли -s порт адрес_цели модуль параметры_модуля
Опции задают глобальные параметры утилиты, с помощью них вы можете настроить необходимые параметры, например, указать что нужно выводить информацию очень подробно, список логинов и паролей для перебора задается тоже с помощью опций, но я выделил его в отдельный пункт. Дальше нужно задать порт сервиса на удаленной машине и ip адрес цели. В конце мы задаем модуль перебора, который будем использовать и параметры модуля. Обычно это самая интересная часть но начнем мы с опций:
Это были основные опции, которые, вы будете использовать. Теперь рассмотрим модули, а также способы аутентификации, которые вы можете подобрать:
Как видите, количество доступных протоколов достаточно большое, вы можете проверить безопасность как ssh, ftp, и до веб-форм. Дальше мы рассмотрим как пользоваться hydra, как использовать самые часто применяемые протоколы.
Перебор паролей FTP
Сначала поговорим про использование hydra в консольной версии. На самом деле, это основная программа. Команда будет выглядеть таким образом:
hydra -l admin -P john.txt ftp://127.0.0.1
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 а ей передать строку с параметрами перебора. Синтаксис ее такой:
минимальная_длина:максимальная_длина:набор_символов
Вся команда будет выглядеть вот так:
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
hydra -l admin -P
адрес_страницы:имя_поля_логина=^USER^&имя_поля_пароля=^PASS^&произвольное_поле=значение:строка_при_неудачном_входе
Строчка запуска программы будет выглядеть вот так:
/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. Главное окно программы выглядит вот так:
GPG шифрование
Всегда самым очевидным способом защитить свои коммуникации было шифрование. Раньше для этого применялось симметричное шифрование, требовавшее передачи ключей по надежному каналу. С развитием электронных коммуникаций, увеличением объема данных и возможностей прослушки надежная передача ключей стала трудной задачей.
История PGP / GPG шифрования
Авторы алгоритма шифрования с открытым ключом, слева направо: Диффи, Хеллман, Меркль
В 1999 был создан GPG — свободный, бесплатный, открытый и полностью совместимый со стандартом аналог PGP. Именно GPG стал самым популярным и зрелым инструментом асимметричного шифрования.
Термины GPG шифрования
Прежде чем приступить к использованию GPG, нужно понять несколько главных особенностей этого инструмента. Первая и основная особенность — это понятие «ключи». Каждый пользователь создает себе свой личный ключ. Ключ пользователя состоит из двух частей
- Публичный ключ (из публичной части)
- Секретный ключ (из секретной части)
Публичный ключ (далее просто «ключ») представляет собой своего рода визитную карточку, которую пользователь раздает всем своим контактам, желающим переписываться с шифрованием.
GPG4USB
Вторая особенность — ключи, основанные на разных алгоритмах совместимы между собой. Неважно, использует ли пользователь RSA или ELGamal, для шифрования не нужно забивать голову такими деталями. Это достигается за счет работы по упомянутому выше стандарту и через некоторые криптографические приемы. Это одно из главных преимуществ GPG. Достаточно знать нужные команды, и программа сделает все сама. В библиотеку входит большое количество асимметричных алгоритмов, симметричным шифров и односторонних хэш-функций. Разнообразие также является преимуществом, потому что позволяет создать одновременно и общие рекомендованные конфигурации, подходящие для большинства, и возможность тонкой настройки для более опытных пользователей.
Как установить GPG шифрование
Для начала работы нужно установить сам GPG. Пользователи Linux могут поставить его из любого пакетного менеджера, поискав там «gnupg», или собрать вручную. Пользователи Windows могут воспользоваться сильно устаревшим клиентом GPG4Win, который имеет несколько неприятных багов и больше функций, или портативным и более свежим клиентом GPG4USB, который имеет меньше функций, но намного проще и стабильнее. Кстати, мы уже писали о том как с помощью клиента GPG4USB зашифровать свою переписку.
GPG ключ
Независимо от операционной системы и клиента, после установки нужно будет создать свой ключ, введя в терминале или кликнув в клиенте соответствующую команду. Программа попросит определиться с алгоритмом шифрования. Обычно их два — это RSA и ELGamal (на самом деле три, если на Linux Вы отважились поставить экспериментальную ветку «modern» с криптографией на эллиптических кривых). Конкретных рекомендаций по алгоритмам нет, они разные и каждый выбирает себе схему по нраву.
Затем необходимо определиться с размером ключа в битах. Здесь тоже нет короткого и однозначного ответа. У слишком длинных ключей есть и недостатки. Одно можно сказать с уверенностью: при выборе RSA и ELGamal не используйте ключи меньше 2048 бит, они крайне не безопасны. Далее программа попросит заполнить несколько форм: E-mail, Имя и комментарий. E-mail и Имя — это публичная информация, которую сможет увидеть каждый, с кем вы будете переписываться.
• В качестве почты можно указать другие виды связи, например ID какого-либо сервиса или мессенджера (Tox, Jabber, BitMessage и т. д.), разделив знаком «@» сам идентификатор/адрес и название сервиса. Чаще всего содержание именно этого поля используется для идентификации владельца ключа.
• Имя выбирать по своему усмотрению. Например, часто используемый ник или вообще «Anonymous».
• Поле комментария заполнять не обязательно. Можно ввести дополнительный. адрес или свою должность. Комментарий будет виден другим пользователям.
Каждый GPG-ключ уникален. Запоминать и сравнивать такие большие блоки ключей вручную невозможно, поэтому для этого существуют отпечатки ключей. Каждый отпечаток ключа тоже уникален, формируется из публичной части, предоставляя короткую уникальную строку для идентификации. В строке отпечатка содержится 40 символов с разделением на 4 символа пробелами. Важно знать, что последние 8 или 16 символов являются еще и ID ключа. При использовании команд из терминала надо будет указывать ID для работы. Отпечатки удобны для быстрого сравнения двух ключей, или короткого указателя нужного ключа при нехватке места.
Подписи в GPG
Подписи тоже можно применять на файлах. Особенно часто эта функция применяется разработчиками ПО, связанного с безопасностью. Делается это для того, чтобы предотвратить подмену файлов злоумышленниками, которые могут встроить в программы вредоносный код. Подписываются обычно архивы или сборки, сама подпись сохраняется в отдельный файл с расширением .asc или .sig. Ключ публикуется в нескольких местах и/или загружается на сервер, где его очень трудно подменить. Сам процесс проверки называется «верификация подписи».
Функция Web of Trust
Еще одна функция GPG, которую стоит упомянуть — это Web of Trust. Она используется для подтверждения принадлежности публичного ключа конкретному человеку. Для этого знакомые друг с другом пользователи GPG обмениваются ключами при личной встрече.
Каждый из них сверяет отпечаток ключей и создает для каждого полученного ключа электронный сертификат, доказывающий достоверное соответствие между определенной персоной и публичным ключом.
Создание сертификата называется «подписывание ключей». Сам сертификат потом загружается на сервер ключей, и любой может его запросить. Подразумевается, что чем больше пользователей подписали ключ, тем выше к владельцу доверие.
Модель использования WoT предполагает, что пользователи всегда указывают в ключах свои реальные имена и все желающие установить сеть доверия могут физически встретиться для личного обмена ключами. Это делает подобную схему трудно выполнимой при анонимном общении.
При псевдонимном общении для обмена можно использовать каналы связи или сервисы с аутентификацией, которая будет подтверждать достоверность. В любом случае, сети доверия при анонимном или псевдонимном общении не такие стойкие, частично из-за отсутствия «крепкого набора», формирующего основную группу доверенных пользователей, частично из-за человеческого фактора. Решение о целесообразности подобной сети доверия лежит целиком на группе пользователей, желающих ее построить.
Зачем нужно шифрование
Это нарушает конституционные права граждан на тайну переписки, однако влияние этих организаций такое сильное, что остановить неправомерный сбор информации невозможно. Использование GPG не снимет слежку с миллионов людей и не исправит магическим образом весь мир. Это всего лишь инструмент в руках человека. Инструмент, позволяющий сохранить письма и слова только для тех, кому они предназначены, и ни для кого больше. Это немного, но по крайне мере это возвращает право каждого человека на тайну переписки.
Вас может заинтересовать обзор расширения браузера для передачи зашифрованных файлов MiniLockЕсли сбор данных и слежка кажутся слишком отдаленными, можно рассмотреть шифрование с еще более практичной стороны. Та же электронная почта в открытом виде проходит десятки промежуточных узлов. На каждом может быть сколько угодно уязвимостей и дыр безопасности, которые могут быть использованы кем угодно.
В мире, где цифровые коммуникации играют ключевую роль, шифрование — это элементарное правило безопасности, предотвращающее огромное количество проблем. Глупо не воспользоваться возможностью повысить безопасность, учитывая что программа распространяется бесплатно, и освоить ее можно достаточно быстро. А подробнее ознакомиться с командами можно в официальном руководстве.
Почему интернет не безопасен?
Когда пользователь заходит на сайт или ищет информацию через стандартные браузеры (Google Chrome, Firefox и другие) без дополнительных средств, запрос сначала направляется провайдеру, который раздаёт интернет. Провайдер подчиняется законам страны, поэтому заблокированные правительством сайты не открываются через обычные браузеры. То есть, запрос поступает провайдеру, а он обязан отказать пользователю в доступе на запрещённый ресурс.
Но главная опасность в другом: интернет и анонимность постепенно перестают быть синонимами. Серверы по всей стране значительно расширились, чтобы соответствовать требованиям по хранению персональных данных пользователей, как этого требует Федеральный закон №242 от 21 июля 2014 года (вступил в силу в 2016 году, текст закона по ссылке). Это значит, что вся информация о наших действиях в интернете хранится у провайдера в течение года. Органам даже не требуется решение суда, чтобы оперативно получить эти данные от провайдера.
Трафик от мессенджеров (WhatsApp, Viber, Telegram и другие) также хранится у провайдеров. Однако переписка в них зашифрована, и предполагается, что прочитать её не могут те, кому не положено. В связи с этим уже стало понятно, какие из них готовы выдавать своих пользователей, а какие нет. Некоторые мессенджеры небезопасны с этой точки зрения.
VPN
Верная помощь для доступа к заблокированным сайтам и защита передаваемой информации при подключении к интернету.
ВПН-сервер — это бесплатный (за счёт рекламы) или платный сервис, который за 100-500 рублей в месяц даёт вам подключаться к интернету через него.
Во-первых, провайдер не видит, куда вы ходите в интернете, потому что теперь ваш компьютер не обращается к сайтам напрямую, но просит это делать ВПН-сервер. Поэтому вы имеете доступ к сайтам, заблокированным провайдером (торрент-трекеры, бесплатные книги, "экстремистские материалы", информация о веществах).
Во-вторых, всё, что вы передаёте ВПН-серверу (и всё, что он приносит вам из интернета) — зашифровано, поэтому никто посередине цепочки не может прочитать: что вы пишете, читаете, куда заходите, что скачиваете, ваши логины / пароли и данные банковских карт — теперь это может увидеть только тот, от кого / кому это было отправлено (сайт, где вы сидите) и сам ВПН-сервис.
Под VPN ваши данные и реальное местоположение скрыты надёжно, однако есть угрозы: 1) сам ВПН-сервис (может читать ваши данные и знает кто вы) и 2) хакер, подключившийся к соединению где-то между вами и сайтом, который вы посещаете, может делать вид, что он и есть этот сайт.
По пункту №1: Не пользуйтесь ВПН, находящимся в РФ. Лучше — ВПН из стран вроде Панамы, Коста-Рики, Белиза.
По пункту №2: Просто обращайте внимание на предупреждение браузера про устаревший / несоответсвующий / отсутсвующий сертификат — это может означать, что вместо сайта с вами "общается" злоумышленник.
Не используйте ВПН с протоколом PPTP (он уязвим к хакерским атакам), ваш выбор — OpenVPN или L2TP/IPSec. Чтобы начать, забейте в поиске "купить впн".
Подробная инструкция по подключению ВПН и правильному использованию: Windows Android iOS Mac OSX на роутере
Tor Browser
Это специальный браузер, который для использования нужно лишь скачать. Он тоже обеспечивает как вашу анонимность (нельзя связать вашу деятельность в сети и реальный компьютер), а также шифрует данные — но есть отличия.
Трафик тоже шифруется и идёт в сеть не через один промежуточный сервер, а через три. Провайдер и первый узел (сервер) знают лишь, что с вашего IP-адреса используют ТОР, и больше ничего. Второй узел вообще ничего не знает, а вот третий (на выходе из сети ТОР) знает, на какой сайт заходите и что там делаете (пароли, что пишете и смотрите и т.п.) — и сам сайт тоже знает, но они не знают, кто вы такой.
Преимущество по сравнению с ВПН — вашу анонимность раскрыть сложнее, а вот украсть личные данные (что смотрите и пишете, пароли и пр.) — легче. Владельцы ВПН знают и кто вы, и что делаете, а выходные узлы ТОР, провайдер в регионе того узла и нужный вам сайт — только что делаете. Т.е. в сравнении с ВПН, больше людей могут смотреть то, что вы отправляете нужному сайту, а он шлёт вам: выходной узел ТОР или провайдер в его стране могут оказаться недобросовестными — они могут использовать ваши логины / пароли, например (узлы ТОР в этом смысле надёжнее провайдеров — создатели ТОРа постоянно инспектируют их).
Кстати, ваш местный провайдер не знает, что вы делаете, но знает, что вы используете ТОР — и может пытаться заблокировать его работу.
[Как обойти блокировку ТОР: Tor Browser iOS]
2FA и PGP
Об этих способах защиты у нас есть отдельные статьи, поэтому остановимся на них совсем кратко.
2FA (двухфакторная аутентификация) — дополнение к вашему паролю для входа на ресурс, поддерживается многих сайтах, в том числе на Гидре.
По сути вам надо ввести помимо капчи, логина и пароля актуальный код, который постоянно обновляется в специальном приложении на смартфоне или планшете. Это позволяет защитить аккаунт двойным способом: даже если кто-то уведёт ваши данные, он не сможет авторизоваться без доступа к вашему телефону/планшету. Из минусов — в случае кражи/потери устройства, восстановить доступ к аккаунту будет невозможно. Однако есть при этом у вас в аккаунте указан публичный PGP-ключ, восстановить доступ получится с его помощью.
Двухфакторная аутентификация может быть не только в виде дополнительного кода, но также в виде ключа PGP (можно выбрать оба способа сразу или только один из них). Принцип работы PGP-ключа рассказан в статьях Дополнительная безопасность при общении и Безопасность: как пользоваться PGP-ключом.
Важно напомнить, что указанный вами на Гидре в личном кабинете публичный ключ pgp невозможно поменять! Поэтому не теряйте пароль от приложения gpg4usb, ведь тогда в случае 2FA с помощью PGP вы не сможете восстановить доступ к аккаунту. Это сделано для нашей безопасности, чтобы никто не смог обманом получить данные.
Безопасность — достижима. VPN и TOR не идеальны, но усилия, нужные для вычисления пользователя довольно велики, и если вы — не очень интересная личность, их вполне достаточно.
Потеряли телефон с приложением-аутентификатором и не можете войти в аккаунт? Рассказываем, какие у вас есть варианты.
15 сентября 2021
Для защиты аккаунтов очень важна двухфакторная аутентификация: если утек пароль — а утекают они регулярно, — второй фактор помешает злоумышленникам взломать аккаунт. Один из удобных способов двухфакторной аутентификации — при помощи специального приложения, генерирующего одноразовые коды, вроде Google Authenticator и его аналогов. Но рано или поздно у многих пользователей возникает вопрос: что делать, если телефон с приложением-аутентификатором потерян/разбит/забыт/украден? Рассказываем, какие есть варианты.
Как восстановить аутентификатор, если смартфон с приложением недоступен
Если у вас больше нет доступа к смартфону, на котором установлен аутентификатор, попробуйте вспомнить: возможно, вы все еще залогинены на одном из ваших устройств в тот аккаунт, к которому пытаетесь получить доступ? Дальнейшие действия зависят от ответа на этот вопрос.
Восстанавливаем аутентификатор, если доступ к аккаунту есть на каком-то другом устройстве
Иногда в тех же настройках можно посмотреть секретный ключ или QR-код аутентификатора — некоторые сервисы (но далеко не все) это позволяют. В таком случае вам останется просто ввести эти данные в приложение-аутентификатор на новом устройстве.
К сожалению, этот способ срабатывает не всегда, даже если вы все еще залогинены в аккаунт на одном из устройств. Проблема в том, что не у всех сервисов совпадает набор настроек в веб-версии и в мобильном приложении — нужной опции там, где вы залогинены, может просто не быть.
Как восстановить аунтентификатор, если доступа к аккаунту нет
Если вы уже не залогинены в аккаунт и смартфон с приложением-аутентификатором вы потеряли, сбросили к заводским настройкам или у вас его украли — в общем, у вас так или иначе больше нет к нему доступа, — то восстановить аутентификатор не получится. Как и в том случае, когда описанный выше способ не сработал.
После этого выберите удобный вам вариант — обычно сервисы поддерживают доставку кода в SMS, голосовым звонком или на электронную почту — и дождитесь получения кода. Скорее всего, это не займет много времени, и уже совсем скоро вы сможете войти в аккаунт.
Если из-за утраты аутентификатора вы потеряли доступ к аккаунту в корпоративном или в небольшом публичном сервисе, у которого нет удобной страницы автоматического восстановления доступа, то вам следует связаться с локальным администратором или службой поддержки. Придется описать ситуацию и, скорее всего, тем или иным образом подтвердить, что вы — настоящий владелец аккаунта.
После того как вы наконец сможете войти в аккаунт, привяжите аутентификацию к приложению на новом смартфоне. Ну а чтобы не проходить все вышеописанные процедуры в следующий раз, когда смартфон с аутентификатором потеряется, будет разумно прямо сразу создать резервную копию.
Читайте также: