Как стать автором
Обновить

Кот под колпаком. Часть 1

Время на прочтение6 мин
Количество просмотров7.6K

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


В данном цикле статей мы хотим поделиться своими "находками" по теме интерфейсов управления и/или распределенного запуска программы hashcat, хранению статистики по "взломанным" хешам. В первой части рассмотрим некоторые существующие решения, далее подробнее рассмотрим продукт Hashtopolis.


В общем если тема вам близка — просим "под кат" и в комментарии.


Поговорим о котах


Немного о самом hashcat (хешкэт)


Hashcat — это, по словам создателей, самый быстрый в мире инструмент для восстановления паролей. Версии доступны для Linux, macOS и Windows, и могут быть представлены в вариантах на базе CPU или GPU.

Hashcat получил свою популярность благодаря найденным его создателем недостаткам в других программах, использующих шифрование данных. На данный момент Hashcat активно используется для подбора WPA/WPA2 паролей, взлома паролей от документов MS Office, PDF, 7-Zip, RAR, TrueCrypt.

Источник
Что за взлом хэшей такой?
На сегодняшний день самым распространенным способом аутентификации остается «аутентификация по паролю». Пользователь (или «процесс») в том или ином виде передает пароль на проверку целевой системе, где происходит сравнение полученных данных и того представления, что хранится в системе. Например, в случае дайджест-аутентификации пароль не предаётся и не хранится в открытом виде, а с помощью криптографии происходит преобразование некоторого идентификатора сессии наложением хеш значения пароля. На целевой системе выполняется похожая процедура, и если результаты двух операций совпадают — аутентификация считается пройденной, генерируется авторизационный cookie, или TGT, или что-то еще.

Механизм аутентификации в Web'е кратко изложен тут: https://habr.com/ru/post/28534/, а подробно здесь: https://habr.com/ru/company/dataart/blog/262817/

Перед исследователем безопасности (или аудитором) возникает другая задача — пароли подобрать/угадать, перехватить или обойти аутентификацию.

В случае атак на пароли, можно провести разделение на две категории (а всё остальное в третью, например атака «подсматривание за вводом пользователя»):

  1. online-атаки: множественные попытки аутентификации путем подбора пароля, что может «наделать много шума» или вызвать блокировку учетных записей. Это похоже на «ковыряние» отмычками в замочной скважине — хозяева могут полицию вызвать, а то и травмы нанести;
  2. offline-атаки: атакующему удалось получить хеши, и более целевая система не требуется для подбора пароля, весь процесс проходит на стороне атакующего. Как если бы удалось получить «слепок» замка и «ковырять» вдали от охраняемой двери.

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

Большинство атак на пароли и хэши можно разделить на:

  • «словарные» (англ. «dictionary», «wordlist»)
  • «в лоб» (или «брутфорс» от англ. «bruteforce», т.е. «грубая сила»)
  • «гибридные» (словарь + некоторая маска для брутфорса)

В результате поисков в сети готовых «интерфейсов» для работы с hashcat мы наткнулись на следующие решения:


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

Начнем обзор с Hashpass. Он заинтересовал богатством функций (на первый взгляд): очередь хэшей на взлом, визуализация на глобальной карте пойманных WPA-handshake'ов, С2С для «шпионских» малинок, поддержка SMS информирования, красивые обои занятный интерфейс с визуализацией. Панель статуса задания в Hashpass выглядит вот так:

image

При погружении в описание проекта на GitHub обнаружилось, что для распределенного взлома хешей «dj-zombie» разработал отдельный проект Hive. Найти актуальной информации об этом проекте нам не удалось. Т.е. «из коробки» получить «дирижерскую палочку» для параллельного взлома на нескольких хостах нельзя. В качестве stand-alone решения Hashpass весьма интересен, а учитывая связанный с ним проект Rotten Pi — на Hashpass определенно стоит обратить внимание.

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

Проект Hashview не уступает своему собрату Hashpass по богатству функционала, а подход к «визуальной составляющей» интерфейса, как нам кажется, реализован лучше.

Пример экрана статистики:

image

Вот что может предложить Hashview:

  • Совместная работа — в приложении поддерживается создание отдельных аккаунтов и распределение ролей
  • Поддержка OTP (One Time Password) для аутентификации пользователей
  • Прямой доступ к командному интерфейсу hashcat инстанса
  • Создание очередей задач по взлому хешей
  • Уведомления на электронную почту о событиях
  • Поиск по внутренней базе данных хешей, имени пользователя, паролю
  • Визуализация метрик и система создания отчетов

Для установки сервера Hashview требуется работающий hashcat на хосте, действующее окружение RVM, MySQL, Redis. Официально заявлена поддержка Ubuntu версий 14.04 и 16.04, в других дистрибутивах Linux работа Hashview подтверждена сообществом.

А теперь о «минусах»:

  • Проект официально поддерживает hashcat 4.x, о поддержке 5й версии неизвестно (есть тикет https://github.com/hashview/hashview/issues/448)
  • Поддержка агентов официально всё еще в «Alpha» версии, а в нашем случае важна поддержка агентов Windows (https://github.com/hashview/hashview/wiki/04-Distributed-Cracking)

Оба проекта, Hashpass и Hashview, создают впечатление заброшенности, коммиты в репозитории были давно, а документация не актуализируется.

Мы решили отложить Hashview на одну полочку с Hashpass и перейти к следующему проекту.

Hashtopolis увидел свет в 2016 году как развитие «обертки» для hashcat — Hashtopus (https://github.com/curlyboi/hashtopus). Вначале он назывался «Hashtopussy», но по соображениям «политкорректности» был переименован в «Hashtopolis». Официальная страничка проекта: https://hashtopolis.org. По сути это форум, на котором можно по крупицам собрать полезную информацию о продукте. Также был найден канал на Discord: https://discord.gg/S2NTxbz

Возможности и особенности Hashtopolis:

  • «Легко + удобно» установить и использовать сервер/агенты
  • Доступ из любого места через веб-интерфейс
  • Адаптивность серверной части с распространенными конфигурациями веб-хостинга
  • Автономные агенты на контролируемых crack-станциях
  • Управление файлами словарей и правил
  • Автообновление Hashtopolis and Hashcat
  • Взламывание нескольких хеш-списков одного и того же типа, как если бы они были одним списком
  • Единый файл для запуска агента в Windows, Linux и OS X
  • Файлы и хэши, помеченные как «секретные»(secret), распространяются только агентам, помеченным как «доверенные» (trusted)
  • Множество параметров импорта и экспорта данных
  • Богатая статистика по хешам и запущенным задачам
  • Визуальное представление распределения «порций хешей» (chunk distribution)
  • Многопользовательская работа с приложением
  • Поддержка уровней доступа пользователей
  • Различные типы уведомлений
  • Возможность создания мини-задач для взлома хешей силами CPU
  • Гранулярное распределение доступа за счет применения групп при назначении агентов и пользователей

Самой «подкупающей» фишкой Hashtopolis для нас стала поддержка уведомлений в Telegram прямо «из коробки». Этот мессенджер мы используем повседневно. Получать своевременные уведомления о «взломанных» хешах показалось крайне привлекательным. Конечно, данный функционал можно реализовать скриптами, но эта особенность не была единственной, которая привлекла в Hashtopolis.

Hashtopolis может управлять инстансами hashcat, начиная с версии 4.0.0. Также реализована поддержка «generic crackers» (некий общий командный интерфейс к ПО для «взлома хешей»). Дополнительные сведения о «generic crackers» тут

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

Список заданий:



Красивая статистика по работе агента:



Дополнительные источники информации, к которым мы обращались по теме Hashtopolis:

  • Репозиторий проекта на GitHub: https://github.com/s3inlc/hashtopolis
  • Wiki страницы проекта на GitHub: https://github.com/s3inlc/hashtopolis/wiki
  • Блог одного из разработчиков проекта (s3inlc): https://s3inlc.wordpress.com
  • Документация Hashtopolis API представлена в PDF-документе: https://github.com/s3inlc/hashtopolis/blob/master/doc/protocol.pdf

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

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

В следующей части разберем установку и конфигурацию продукта Hashtopolis.
Теги:
Хабы:
Всего голосов 4: ↑2 и ↓20
Комментарии1

Публикации

Истории

Работа

Ближайшие события