Взлом пароля методом грубой силы. Изучаем bruteforce атаку. Брутфорс битрикс


Логин ADMIN и все-все-все - статистика брутфорса административной части 1С-Битрикс

25.10.2013

Недавно пришла в голову занятная идея объединить статистику по имеющимся попыткам брутфорса административных разделов сайтов на 1С-Битрикс, где есть модуль проактивной защиты, ведётся журналирование не менее чем на 30 дней и у меня есть доступ.

Идея возникла не на пустом месте, а после смутного ощущения, что очередного злоумышленника я явно где-то встречал. Как выяснилось, это не простое совпадение.

В таблице приведены исходные данные журналов событий 4 сайтов по попыткам авторизации. Из журнала не удалены логи ошибок авторизации легальных пользователей и «спам-ботов», хотя нас интересуют только попытки брутфорса.

скачать (бесплатно, без смс)

Список логинов, фигурирующих в таблице (если указано число после логина, то данный логин фигурирует в нескольких вкладках)

Сразу следует оговориться, что брутфорс по логину admin на самом деле встречался на всех 4 сайтах. ADMIN – вообще самый распространённый для попыток брутфорса логин. Просто эти данные оказались в данном случае вне пределов месячного журнала.

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

Например, с IP 188.186.4.245 многократно в течение краткого промежутка времени пытались проникнуть на сайты Z и L под логином webmaster.

В то же время под логином manager попытки проникновения заметны разного характера. с IP 188.186.4.245 на всё тех же Z и L, а вот на сайте Б были предприняты одиночные попытки с IP 111.63.14.245 и 198.100.167.13. Последние 2 адреса всего лишь "случайно ошиблись адресом"?

Давайте посмотрим!

Сайт Б

ИП 111.63.14.245

Неплохая производительность для "случайной ошибки"

Тот же сайт Б

ИП 109.238.189.252

В то же время замечены в схожем поведении ИП адреса:

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

Разберём обе схемы по шагам:

Схема 1 – брутфорс

  1. Парсим список сайтов на 1С-Битрикс. Данный этап может быть пропущен, поскольку базу сайтов, объединённых 1 признаком (например принадлежностью к CMS 1С-Битрикс) можно легко купить у людей, занимающихся именно сбором такой информации.
  2. Собираем базу будущего «словаря» (по сути это 2 колонки: логин и пароль). База может состоять как всего из 1 логина (например, admin), так и из нескольких наиболее подходящих, по мнению автора, для использования «по умолчанию». Естественно, список логинов может быть составлен вручную. Список потенциальных паролей зачастую получают, взломав какой-нибудь форумный движок и слив из него базу пользователей в незашифрованном виде. Безусловно этот этап так же может быть пропущен, поскольку такие базы есть в продаже.
  3. Запускаем брутфорс базы сайтов по базе «словаря». Самыми распространёнными на данном этапе являются аренда виртуального сервера в «абузоустойчивых» странах (т.е. у хостера, игнорирующего жалобы приходящие извне на клиентов) или запуск на локально машине (Да-да! Некоторые даже не пользуются ни Proxy, ни VPN, хотя такие вопиющие случаи конечно сходят на нет). Вариант с запуском брутфорса из распределённого ботнета или с чужого (предварительно взломанного) сервера возможен, однако редок – для этого требуется либо больше материальных вложений, либо большая профессиональная подготовка. И то и другое позволяют производить гораздо более разрушительные целенаправленные атаки.

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

Конечно, бывают исключения, как недавний всплеск DDoS из-за попыток брутфорса сайтов на движке WordPress, когда злоумышленники вели атаку настолько активно, что приводили к ошибке отказа оборудования!

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

Происходит ли при этом брутфорс по следующей части словаря или атакующий надеется «а вдруг они там поставили логин-пароль попроще» я затрудняюсь сказать.

Иногда повторная атака производится с того же IP адреса, иногда он изменяется.

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

Схема 2 – брутфорс с использованием Proxy/Socks

Схема отличается только последним этапом:

  1. Парсим список сайтов на 1С-Битрикс.
  2. Собираем базу будущего «словаря».
  3. Собираем (а чаще покупаем) базу Proxy/Socks серверов. Как правильно используются платные базы, содержащие анонимные прокси сервера. Такие базы необходимо часто обновлять, поскольку они быстро устаревают и сервера в них входящие перестают функционировать.
  4. Запускаем брутфорс базы сайтов по базе «словаря» с использованием Proxy/SOCKS. Т.е. фактически атака идёт «пачками» запросов. И каждая такая «пачка» идёт через свой Proxy/Socks сервер, получая новый IP адрес. Размер пачки зависит только от базы, поскольку размер её значительно меньше списка комбинаций логин-пароль, имеющихся в «словаре». Правда можно использовать каждый из прокси серверов для каждой жертвы.

Данный способ медленнее, поскольку все запросы идут через промежуточное звено, посредника, однако и значительно более сложный для отражения – вся «пачка» запросов с 1 Proxy может успеть пройти за 1 секунду и состоять всего из нескольких запросов, что делает невозможным ручную фильтрацию и затрудняет автоматическую фильтрацию.

В простейшем случае (если у вас сайт-визитка) можно противопоставить атакующем закрытие админки по IP (т.е. создание белого списка IP адресов с которого доступ возможен). Однако ИНОГДА этого будет недостаточно, если у вас есть форма авторизации – так можно атаковать не только админку, но и любую форму авторизации.

Если же это не помогает…

Надо думать и искать способ, брать за образец методы борьбы с DDoS (по сути это тоже разновидность), идеи есть!..

Резюме

Чем бы мне хотелось закончить эту статью?

admin
admin1
admin2
administrator
adm
bitrix
director
manager
master
redactor
root
site
user
web
webmaster
www

И другие простые логины.

Особенно admin!

Переводя рекомендации в понятную каждому аналогию – Мойте руки перед едой, чистите зубы после еды и посещайте стоматолога раз в полгода!

Задойный А.В.

xn--80ahcjeib4ac4d.xn--p1ai

Брутим пароли с Гидрой (hydra) — KPlus [dot] blog

Статья носит носит строго познавательный характер, за применение кем либо описанных в статье методик автор ответственности не несет.

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

И такой инструмент уже имеет место быть. Быстрый, сочный, достойный внимания — THC-Hydra. Версия 7.5 (из репозитория epel) поддерживает подбор по/для: asterisk cisco cisco-enable cvs firebird ftp ftps http[s]-{head|get} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp rexec rlogin rsh sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp. Примеры эксплуатации мы рассмотрим чуть ниже, а пока — посмотрим как можно заполучить данный инструмент в свой арсенал.

Установка

Пользователям CentOS будет достаточно подключить репозиторий epel и выполнить:

# yum install -y epel-release $ yum install -y hydra

Или для сборки из сорсов (актуально для linux, *bsd, solaris и т.д., а так же MacOS и мобильных системах, базирующихся на Linux):

$ mkdir ~/hydra_src && cd ~/hydra_src $ wget https://github.com/vanhauser-thc/thc-hydra/archive/master.zip && unzip master.zip && rm -f master.zip $ cd thc-hydra-master/ $ yum install gcc mysql-devel libssh # Для Debian - libmysqld-dev и libssh-dev $ make clean && ./configure $ make && make install $ ./hydra -h Hydra v8.2-dev (c) 2014 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SOuvVd46] [service://server[:PORT][/OPT]] Options: -R restore a previous aborted/crashed session -S perform an SSL connect -s PORT if the service is on a different default port, define it here -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE -p PASS or -P FILE try password PASS, or load several passwords from FILE -x MIN:MAX:CHARSET password bruteforce generation, type "-x -h" to get help -e nsr try "n" null password, "s" login as pass and/or "r" reversed login -u loop around users, not passwords (effective! implied with -x) -C FILE colon separated "login:pass" format, instead of -L/-P options -M FILE list of servers to attack, one entry per line, ':' to specify port -o FILE write found login/password pairs to FILE instead of s

blog.kplus.pro

Защищаем SSH от брутфорса на любом порту / Хабр

Сегодня меня заинтересовал опрос надо ли перевешивать SSH на нестандартный порт. Сам опрос не так интересен как способ автора zivot_je_cudo защищать SSH от подбора пароля: после неверной попытки подключения блокировать новые попытки в течение 20 секунд. Задержка, видимо, выбрана эмпирически, исходя их двух противположных пожеланий: чтобы не заблокировать в случае опечатки себя надолго, и в тоже время усложнить жизнь подбиральщика. Я хочу поделиться своим способом противодействия брут-форсу, который применяю уже несколько лет. Он имеет два преимущества: — дает мне больше попыток для набора правильного пароля — но при этом блокирует брутфорсеров «навечно».

Как можно достичь этих двух противоположных целей?

Я использую модуль iptables под названием hashlimit, который умеет подсчитывать кол-во пакетов в определенный промежуток времени и через некоторое время сбрасывать счетчик. Все делается тремя правилами:iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m hashlimit --hashlimit 1/hour --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name SSH --hashlimit-htable-expire 60000 -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -j DROP

iptables -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

Что делает второе и третье правило понятно. Все самое интересное в первом: оно разрешает 2 попытки подключения в течение часа. Как только вы превышаете 2 попытки за указанное время, правило с -j ACCEPT перестает работать, пользователь вместо этого попадает в следующее правило с -j DROP (точно также можно поставить TARPIT). После этого вы не сможете подключиться, и начинается обратный отсчет 60 000 миллисекунд, после которых информация о вашей попытке «протухает» (параметр --hashlimit-htable-expire). То есть реально вам придеся ждать не 1 час, а всего 1 минуту. Вся военная хитрость состоит в том, что если вы не дождетесь этого времени и попробуете еще раз подключиться, то пакет будет убит, а счетчик снова сброшен в начальное состояние — 1 минуту! Таким образом, если вы нетерпеливый брутфорсер и будете тупо долбать порт после блокировки, то вы с каждой попыткой будете продлевать свой бан! То есть забаните себя навечно! Добропорядочный же пользователь наборот имеет несколько попыток подключения без ожидания между ними прежде чем попадет в «баню». Модуль hashlimit сохраняет свое состояние в /proc — поначалу там пусто: # cat /proc/net/ipt_hashlimit/SSH

после первой попытки подключения туда попадает инфа: # cat /proc/net/ipt_hashlimit/SSH 55 ХХ.ХХ.ХХ.ХХ:0->0.0.0.0:0 11533000 230400000 115000000

первое число — кол-во оставшихся секунд, можно смотреть как оно равномерно тикает: # cat /proc/net/ipt_hashlimit/SSH 20 ХХ.ХХ.ХХ.ХХ:0->0.0.0.0:0 117429000 230400000 115000000

После того как я это сделал, мне очень захотелось проверить. И надо же! На ловца зверь бежит! Меня тут же начал брутфорсить какой-то китаец. Первые 4 попытки прошли, а дальше он в течение часа (!) тупо долбился в закрытую дверь. За весь этот час ему удалось проверить всего 4 пароля! Дальше, видимо, надоело.

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

Что делать, если вы вдруг с нескольких попыток не смогли ввести пароль? Не суетиться — подождать спокойно минуту и попробовать еще несколько раз. А если уж снова не смогли — то лучше пойти проспаться, в таком состоянии в консоль лучше не лазить :))

Успехов.

P.S. И да, чуть не забыл — у меня SSH на нестандартном порту :)

UPD: Немного про настройку hashlimit.UPD2: Как достичь того же самого с помощью более распространенного модуля recent: раз, два.UPD3: Само собой способ годится не только для защиты от подбора пароля по SSH, но может быть использован и для различных других сервисов, где слишком частое подключение сигнализирует о чем-то неладном.UPD4: Ограничение подключений с помощью самого SSHD.

habr.com

Взлом пароля методом грубой силы. Изучаем bruteforce атаку.

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

Что такое хешкрекинг?

Восстановление паролей к хешам, или хешкрекинг (от англ. hash cracking), — весьма увлекательный процесс, для которого требуются хорошие знания в различных областях — криптографии, комбинаторике, программировании и многом другом. Нужно также отлично разбираться в железе, чтобы обеспечить бесперебойную работу своей фермы в течение многих недель и месяцев при максимaльной загрузке.

При этом настоящий хешкрекер часто полностью изолирован от этапов извлечения хешей и применения сломанных паролей для доступа к чужим аккаунтам. Более того — ему это неинтересно, он же не хакер. На всех хешкрекерских форумах публикуются только хеши (или списки хешей) для расшифровки. Эти списки не содержат ни имени ресурса, ни имен пользователей, ни почтовых ящиков, ни IP-адресов, никакой другой приватной информации. Поэтому, даже сломав пароль, хешкрекер никогда его не применит, так как просто не знает — откуда он. А если б и знал — все равно не применит, так как его цель — сам процесс хешкрекинга, ведь для него это почти искусство.

Большинство хешкрекеров на форумах — этакие робин гуды. Они тратят свое время и ресурсы на то, чтобы помочь сломать хеши другим пользователям, и при этом непрерывно накапливают себе новые пароли и правила их формирования. Для них любые хеши — этo вызов их интеллекту, их опыту, их мастерству. И эти парни находят сложнейшие пароли, которые никто другой восстановить не может. Как у них это получается? Каким софтом и железом они пользуются? Что еще нужно знать, чтобы ломать хеши так же эффективно, как они? Об этом мы и расскажем в нашей статье.

Хеши и пароли пользователейХеши и пароли пользователей

Софт

Сейчас хешкрекинг в основном производится на видеопроцессорах (GPU). На обычных процессорах (CPU) брутятся только те алгоритмы, которые не реализованы под GPU. Для брута на GPU фактичeски уже стандартом стало использование программы oclHashcat, имеющей сборки как для Windows, так и для Linux, а также поддерживающей все современные видеопроцессоры — и NVIDIA, и AMD. Совсем недавно ее автор перевел программу в разряд Open Source, и теперь она доступна на GitHub, так что каждый желающий может присоединиться к работе над ее новыми версиями.

Для распределения работы этой программы между несколькими компьютерами используется оболочка hashtopus. Другим популярным GPU-брутфорсером остается нестареющий John the Ripper (JtR) в сборке Jumbo, который также имеет множество алгоритмов под все видеокарты, но для получения максимальной эффективности его желательно все-таки пересобирать под каждую конкретную конфигурацию железа.

Для работы на CPU программ гораздо больше, но самыми функциональными остаются все те же hashcat и JtR. Еще можно к ним добавить программу Hash Manager, которая больше заточена под обработку хешей в «промышленных масштабах», то есть очень крупных списков, которые не удается загрузить в другие программы. Все эти программы бесплатные, и каждый решает сам, что выбрать себе для ежедневной работы, только практика показывает, что желательно уметь владеть всем этим софтом — как правило, профессиональные хешкрекеры используют ту или иную программу в зависимости от конкретной ситуации.

Еще нужно учесть, что все эти программы консольные, не имеют встроенного GUI и, чтобы использовать их максимально эффективно, нужно уметь работать в консоли (см. врезку). А в идеале еще нужно уметь программировать командные файлы (BAT или CMD), чтобы максимально гибко настраивать работу программ. Тогда можно однократно составить для себя комплект командных файлов для разных атак, а потом, когда все настроено, весь хешкрекинг сведется к заполнению файла нужными хешами и запуску того или иного командного файла c определенными параметрами.

Консоль — райский дом хешкрекера

Самый продвинутый хешкрекерский софт — консольный и управляется либо через параметры командной строки, либо через редактирование файлов конфигурации. Но тенденция такова, что пользователи все дальше и дальше уходят от консоли, требуют графического интерфейса и наиболее популярный вопрос с форумов по работе с такими программами звучит так: «Я запустил программу, выскочило черное окно и закрылось. Что делать?» Ответ очевиден — изучать консоль.

FAR Manager для WindowsСкорее всего, линуксоиды и так владеют навыками работы в консоли, а вот для пользователей Windows лучшим выбором будет программа FAR Manager. С ее помощью очень удобно работать со списками хешей и другими файлами. А если ее объединить с дополнительными инструментами (например, из состава программы Hash Manager), то получится просто убойный комплект, позволяющий обрабатывать любые файлы буквально за секунды.

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

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

Железо

Хешкрекеры в плане железа почти ничем не отличаются от майнеров криптовалют и собирают себе такие же фермы на видеокартах. Правда, в них не десятки видеокарт, но наличие нескольких мощных видеокарт — это уже почти норма для брута хешей.

Хорошая настольная ферма для брута хешей на пяти видеокартахХорошая настольная ферма для брута хешей на пяти видеокартах

Требования к ферме такие же, как и при майнинге криптовалют, то есть нужно хорошее охлаждение, стабильное электропитание и грамотное размещение видеокарт, чтобы они не нагревали друг друга. До недавнего времени основными видеокартами для брута служили (как и в майнинге) видеокарты на процессорах AMD, так как они были более эффективны по соотношению цена/скорость. Однако после релиза архитектуры sm_50 (Maxwell) от NVIDIA выяснилось, что она лучше для брута, при этом видеокарты с такой архитектурой потребляют гораздо меньше электроэнергии, а также более тихие и холодные. И сейчас эффективнее всего для брута хешей карты NVIDIA GTX 980Ti.

GTX 980Ti — отличный выбор для хешкрекингаGTX 980Ti — отличный выбор для хешкрекинга

И недаром же на форуме InsidePro все больше и больше хешкрекеров переходят на эти видеокарты (судя по подписям в их сообщениях) — при пиковом потреблении всего 165 Вт на алгоритме MD5 они выдают скорость порядка 15 миллиардов паролей в секунду. Но у них один недостаток — высокая цена, которая практически не снижается, а в связи со скачком курса доллара она поднялась еще больше. Если же основной критерий — цена, а все остальные параметры не важны, то можно взять видеокарты на процессорах AMD и упаковать ими свою ферму. К примеру, обычная цена системы c двумя средними видеокартами составляет около 1200–1300 долларов.

Что касается CPU, то тут все просто — чем больше ядер, выше частота и больше объем кеша, тем быстрее будет идти перебор. Мощный процессор позволит как использовать ферму для перебора паролей на GPU, так и параллельно с ними нагружать CPU второстепенной работой — например, проверкой других хешей по словарям, пока все GPU заняты гибридной или комбинированной атакой. Поддержка новейших наборов команд (SSE и AVX последних версий) также необходима, так как почти все вышеперечисленные программы имеют код, заточенный под эти наборы команд, что существенно увеличивает скорость перебора.

А есть хоть что-то, в чем CPU еще может конкурировать с GPU по скорости брута? При небольших объемах — нет, конечно. Но вот на больших списках хешей в десятки миллионов хешей (особенно соленых) очень часто обработка списка на CPU дает такую же скорость или даже большую, чем на видеокарте. А уж сотни миллионов хешей в GPU часто просто не загрузить физически — остается только разбивать список на более мелкие фрагменты и брутить их по очереди, но это пропорционально увеличивает время атаки, в то время как на CPU можно загрузить и обработать весь список за один заход, если позволяет объем RAM.

И есть еще одна тема, где со временем CPU может обогнать GPU, — это сопроцессор Intel Xeon Phi. Да, его цена пока очень высока, но, возможно, со временем она станет приемлемой, и его можно будет прикупить и задействовать для брута хешей на домашнем компьютере. Вот тогда может получиться очень мощная система, так как в нем присутствует около 60 четырехъядерных процессоров (в зависимости от модели), а это даст нам до 240 потоков для перебора. На тяжелых алгоритмах типа bcrypt (которые очень медленны даже на видеокартах) этот сопроцессор может быть в разы быстрее даже самых топовых видеокарт, так что не зря ребята из команды john-users прозвали его «убийцей bcrypt». Правда, хешкрекерского софта под него в паблике пока нет, но со временем он обязательно появится.

Вычислительные сопроцессоры Intel Xeon Phi, базирующийся на архитектуре Many Integrated Core

Конечно, читатель может возразить — а как же микросхемы FPGA (ПЛИС), выдающие при майнинге того же биткойна огромные скорости? Да, они выдают даже терахеши в секунду, только они запрограммированы под единственный алгоритм SHA-256, который при хешировании обычных паролей пользователей применяется весьма редко (а другой популярный алгоритм майнера — SCRYPT — применяется еще реже). Плюс сама по себе микросхема ПЛИС выдает невысокую скорость, а терахеши получаются путем объединения десятков (а то и сотен микросхем) в матрицы, а это уже недешевое решение. Но главный недостаток всех ПЛИС — они программируются только на брут одиночного хеша. Конечно, на эти микросхемы уже портировано множество алгоритмов, включая MD5, но практической пользы от этого мало — выгодней купить видеокарту. Хотя и Altera, и Xilinx развивают свои линейки ПЛИС весьма активно, и со временем эта тема тоже может стать очень интересной для хешкрекера.

Можно ли заработать на хешкрекинге?

Да, конечно. Как правило, заработать можно в любом деле, главное — быть в этом деле профессионалом. И хешкрекинг — не исключение. На всех хешкрекерских форумах есть платные разделы, где размещаются заказы на взлом хешей. Имея хорошие словари, можно попробовать свои силы во взломе таких хешей. Только надо учитывать, что основное правило на таких форумах — кто первый сломал хеш, тот и получает плату за него. Поэтому мощное железо просто необходимо, чтобы успеть сломать хеш быстрее других хешкрекеров. Как правило, взлом таких хешей и составляет основной доход хешкрекера.

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

 

 

Словари

Успех в хешкрекинге основан на хороших словарях, желательно состоящих из реальных паролей пользователей. Где же их взять? Есть три пути, рассмотрим их подробнее.

  1. Скачать из интернета готовые словари (погуглив слово wordlist). Это самый простой способ, но и словари эти весьма низкого качества — в них много мусора и искусственно нагенерированных слов, а мало реальных паролей. Так что этот вариант — если только на первое время.
  2. Скачать вложения (аттачменты) к сообщениям о сломанных хешах на форумах InsidePro и HashKiller — там часто размещаются просьбы о помощи при бруте крупных списков, и другие форумчане помогают, выкладывая свои результаты в формате хеш:пароль. А значит, можно накачать себе таких файлов и извлечь оттуда все пароли. Это уже будут очень хорошие словари, но у них будет один недостаток — все пароли из таких словарей лежат в паблике и доступны также и всем остальным хешкрекерам.
  3. Нарабатывать словари самому, постоянно обрабатывая списки невзломанных хешей, которые можно накачать с тех же форумов. Это самый действенный метод, хотя и самый долгий. Однако такие словари — наиболее ценные, так как содержат только реальные, уникальные и часто приватные пароли. У профессиональных хешкрекеров есть даже такой термин, как «майнинг реалпассов», то есть если есть платные хеши — ферма брутит их, если их нет — ферма не простаивает, а сутками брутит списки несломанных хешей с форумов, непрерывно нарабатывая все новые и новые уникальные пароли в копилку хешкрекера.

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

Частотные словари

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

Что это такое? Это обычные словари, но в них пароли отсортированы в порядке убывания частоты их употребления. В таких словарях первыми идут наиболее популярные пароли — см. примеры таких словарей в дистрибутиве программы Hash Manager, файлы Top100xx.dic. Очевидно, что эффективней проверить хеши сначала на самые часто употребляемые пароли, затем — на более редкие и так далее. Это позволит быстро сломать все популярные пароли и существенно облегчить список хешей для последующей работы.

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

Дополнительные инструменты

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

Обычно через хешкрекера проходит множество всевозможных текстовых файлов:

В общем, сотни и тысячи подобных разнородных файлов — это еще та головная боль. И все выкручиваются по-разному — кто-то в том же линуксе делает часть работы командами самой ОС (например, grep), кто-то пишет себе скрипты на Perl, кто-то использует различные программы. Но факт очевиден — помимо брутфорсеров, нужны еще инструменты, которые должны работать с текстовыми файлами: сортировать, чистить, конвертировать из одного формата в другой, извлекать или переставлять данные, проверять формат и так далее.

Без этих инструментов работать крайне сложно, и поэтому с каждым брутфорсером обычно поставляется свой комплект различных утилит. И hashcat имеет такой комплект, и JtR тоже, но самый крупный комплект утилит под Windows имеет программа Hash Manager. В ней более 70 инструментов, построенных по принципу одна функция = один файл. Таким образом, из них, как из кирпичиков, можно собрать BAT-файл, выполняющий обработку файлов любой сложности. А 64-битные версии инструментов позволяют обрабатывать файлы неограниченного размера.

Вот пример BAT-файла, демонстрирующий, как из списка, в котором перемешаны хеши разных типов, вытащить только хеши от Magento с двухсимвольной солью:

REM Извлекаем только строки длиной 35 символов ExtractLinesByLen.exe %1 35 35 REM Переименовываем файл с извлеченными строками в файл 2.txt MOVE /Y %1.Lines 2.txt REM Проверяем формат хешей IsCharset.exe 2.txt ?h 1 REM Проверяем формат соли IsCharsetInPos.exe 2.txt 33 ':' IsCharsetInPos.exe 2.txt 34 ?l?u?d IsCharsetInPos.exe 2.txt 35 ?l?u?d REM Готово! В файле 2.txt остались только хеши от Magento

Алгоритмы хеширования

С одной стороны, набор актуальных алгоритмов хеширования почти не меняется со временем. Причины просты — алгоритмы хеширования паролей пользователей ОС не меняются годами, да и в интернете сотни тысяч ресурсов все еще базируются на устаревших движках, и обновление версий не происходит, несмотря на то что все новые версии форумов и CMS уже поддерживают более надежное хеширование — например, в IPB версии 4 уже сразу стоит алгоритм bcrypt. С другой стороны, небольшие изменения все-таки происходят — все больше начинает попадаться очень тяжелых алгоритмов — различные варианты PBKDF2 и тот же bcrypt, которые брутятся с мизерной скоростью даже на фермах.

Всего же известны уже сотни алгоритмов, примеры их хешей можно посмотреть здесь. Подавляющее большинство алгоритмов хеширования базируется на каком-либо из стандартных алгоритмов — MD5, SHA-1, SHA-256 и SHA-512 или на их комбинациях. Брутфорсеры давно уже поддерживают десятки таких алгоритмов в GPU-версиях и сотни алгоритмов в CPU-версиях.

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

Если же исходников движка нет, тогда нужно заполучить хеш от какого-то заранее известного пароля — например, зарегистрировать пару новых пользователей на форуме, желательно с одинаковым простым паролем вида 123456. Если их хеши будут одинаковы (считаем, что доступ к хешам у хакера есть), значит, при хешировании используется только пароль. Если разные, то к паролю подмешивается еще что-то, уникальное для каждого пользователя, — соль, логин, email. А дальше можно попробовать подобрать алгоритм по имеющемуся паролю и хешу. Например, в программе Hash Manager, в папке Bonus\SearchAlgorithm есть BAT-файл для автоматического поиска алгоритма по всем доступным в программе алгоритмам (около 400), включая проверку паролей в кодировке Unicode, а также соли (или имени пользователя) в шестнадцатеричном виде.

Ну а если так и не удается определить алгоритм, то можно спросить на форуме — например, здесь. Вдруг кто-то уже сталкивался с такими хешами?

По другую сторону баррикады

Теперь посмотрим на хеши глазами администратора того ресурса, который он хочет максимально защитить от взлома. Как можно усложнить жизнь хешкрекеру или вообще сделать так, что хеши пользователей станут неломаемыми?

Иногда для этого достаточно перейти на самую свежую версию движка и выбрать алгоритм, самый медленный по скорости брута. Но если обновление движка не планируется, а администратор хочет максимально обезопасить пароли своих пользователей от подбора, то есть другой вариант — пропатчить код проверки пароля так, чтобы у всех вновь зарегистрированных пользователей (или сменивших свои пароли после определенной даты) пароли хешировались по-другому. Как?

Конечно, можно использовать любой стандартный тяжелый алгоритм из Linux-функции crypt() — sha512crypt или bcrypt. Но если удастся заполучить такие хеши, то хешкрекер по сигнатурам сразу определит алгоритм и сможет ломать хеши (хоть и медленно). Вывод — нужно хешировать пароли так, чтобы хешкрекер не мог однозначно определить алгоритм по виду хеша, а это делается только нестандартными методами.

Например, можно подмешивать к паролю статическую соль (пусть даже одинаковую для всех, но очень длинную — 200–500 символов) и хешировать обычной PHP-функцией md5. Этой соли в БД форума нет (как, например, в движках vBulletin или osCommerce), она прошита только в PHP-коде, доступ к которому получить гораздо сложнее, чем к хешам. Но даже если заполучить эту соль, то почти нет брутфорсеров, поддерживающих работу с такой длинной солью (во всяком случае, на GPU — точно нет).

Другой вариант — циклически хешировать обычный MD5 от пароля этак 50–100 тысяч раз. На скорости авторизации пользователей это почти не скажется, но скорость брута таких хешей будет мизерной (при условии, что еще удастся выяснить количество итераций — опять же, только из PHP-кода). А если не удастся — то их вообще не сбрутить.

Еще можно взять более длинный хеш от другого алгоритма (например, SHA-256 или SHA-512) и вместо цельного хеша хранить в БД его фрагмент размером 32 символа из середины хеша (да еще и байты можно переставить). Хешкрекер, увидев такой хеш, будет уверен, что это MD5 (или его модификация), и будет пытаться сбрутить его, но бесполезно.

В общем, тут фантазия безгранична — автор за годы работы с хешами сталкивался с массой различных хитроумных видов хеширования, но факт налицо — очень много дампов от самописных CMS, или от коммерческих CMS без доступных исходников, или от пропатченных (по-видимому) форумов, и CMS остаются до сих пор несломанными. Что там внутри намешано при хешировании — неизвестно.

И нестареющий совет всем пользователям: самый надежный вариант защитить свой аккаунт от взлома, даже если был получен доступ к хешу от вашего пароля, — использовать длинный пароль, состоящий из случайных символов. Такие пароли не ломаются!

Конкурсы по хешкрекингу

А где хешкрекер может посоревноваться с другими хешкрекерами в своем умении ломать хеши? Конечно же, на конкурсах! Основные — конкурс Crack Me If You Can, проводимый фирмой KoreLogic в рамках ежегодной конференции DEF CON, и конкурс Hash Runner на ежегодной конференции Positive Hack Days.

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

Исторически сложилось так, что с самых первых конкурсов сформировались три основные команды — InsidePro, hashcat и john-users, которые все эти годы стабильно делили меж собой три призовых места в различных комбинациях. Даже по названиям команд уже очевидно, вокруг какого софта или сайта они объединились. В составе каждой из команд есть автор этого софта, и причина этого тоже понятна — на конкурсах всегда встречаются новые или видоизмененные алгоритмы хеширования, и нужно очень быстро модифицировать программу-брутфорсер или добавить в нее новый алгоритм. Тому, кто не имеет возможности быстро (часто за несколько часов или даже минут) перекроить софт под нужные фишки, очень сложно претендовать на приз.

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

Архивное фото — организаторы конкурса по хешкрекингу на DEFCON 2012

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

Заключение

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

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

Как сломать хеш, если под руками нет ни железа, ни софта?

Для этого можно проверить свой хеш в онлайн-базах хешей типа www.cmd5.ru. Или сразу на сервисах типа www.hashchecker.de, которые проверяют хеш массово в десятках баз, и, может быть, тебе повезет.

Но у таких сервисов есть недостаток — в основном они содержат хеши от искусственно сгенерированных паролей. Пока единственный сервис, где собраны только реальные хеши и пароли пользователей, — Hash Finder. На нем уже накоплено более 500 миллионов таких хешей и паролей — все они были кем-то когда-то реально использованы, поэтому процент найденных паролей на нем гораздо выше, чем на других сервисах.

Еще вариант — разместить свой хеш (или список хешей) на одном из хешкрекерских форумов, где всегда можно получить помощь. Самые популярные форумы: forum.insidepro.com, forum.hashkiller.co.uk, forum.antichat.ru/forums/76.

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

geekmaze.ru

Универсальный брутфорс для HTTP - «Хакер»

Всем, кто бродит по инету, иногда бываетпросто необходимо заполучить чужой пароль.Всякие мутанты в чатах докопаются, или твояподружка изменяет тебе с кем-нибудь изСибири с помощью е-маил’а. Вот бы почитать, очем же они там друг с другом болтают. Да ипара-тройка номеров для аськи не будетлишней. Но если для icq найти программу дляподбора пароля в инете не проблема, то длячата из твоей родной Тмутаракани простонереально. Выход есть: попроси другасделать для тебя такую прогу. Если этотвариант тебе подходит, то ты зря читаешь этустатью. Здесь тебя долго и нудно будутзаставлять делать все самому. Но если ты всеже решился на это, твои усилия не пропадутдаром — у тебя появится собственнаяпрограмма для подбора паролей, и плюс ковсему она будет пригодна и для чатов, и для е-майлов(которые через www), и для всего остального,что есть работать через www.

Анализируй это, анализируй то

Итак, приступим к сдаче анализов. Для началаразберемся, как работают все эти чаты и т.п.Мы заходим на страницу, вводим логин ипароль и нас впускают, вернее не впускают.Пробуем еще раз — опять не впускают. Да,подбор вручную — гиблое дело, поэтомуоставим его на крайний случай :). Посленажатия кнопки, серверу отправляются вседанные, которые мы ввели. Делаться это можетдвумя способами: POST и GET, о которых ты ужескорее всего слышал не раз, и даже слышал,что POST передает параметры в теле сообщения,а GET в заголовке, но что это может значитьтолько догадывался. Чтобы понять, посмотримна формат пакетов, посылаемых www-серверу.Пример заголовка запроса GET:

GET /login.php?name=Glasha&password=kawabunga HTML/1.0Accept: text/htmlAccept: image/gif

Заголовок заканчиваетсяпоследовательностью <cr><lf><cr><lf>,т.е. двойным переводом строки. В первойстроке собственно то, что нам нужно. login.php —скрипт, которому передаются параметры ввиде "параметр=значение" и отделяютсяот адреса символом "?". Сами пары "параметр=значение"разделяются символом "&". Строки "Accept:[…]" — это тоже часть заголовка, но дляданной задачи они не важны, т.к. необязательны и описывают тип данных, которыеможет распознать твой браузер. А телосообщения в данном случае пусто. Теперьпосмотрим на пример запроса POST:

POST /cgi-bin/login.cgi HTTP/1.0Accept: text/htmlAccept: image/gifContent-Length: 36

name=Glasha&password=kawabunga

Посмотрев на первую строку заголовка мывидим, что параметры там уже не записаны. Взаголовке появилась новая строка: Content-Length,длинна тела сообщения, которая должнаобязательно быть указана, если используемэтот метод. Затем, после двойного переводастроки (<cr><lf><cr><lf>), идет телосообщения, и все параметры скрипта записаныв нем. С форматом запросов вроде быразобрались, идем дальше.

Распотрошить дабы узнать

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

<form name=loginform action=http://chat.server.com/userservice.php method=post><input type=hidden name=action value=login><input type=text name=login value="" size=35 maxlength=15><input type=password name=password value="" size=35 maxlength=15><input type=submit value="Войти"></form>

В данном случае скрипту передаются трипараметра: action, login, password. Запрос методом GETбудет выглядеть следующим образом:

GET /userservice.php?action=login&login=Glasha&password=kawabunga HTTP/1.0

А методом POST так:

POST /userservice.php HTTP/1.0Content-Length: 52

action=login&login=Glasha&password=kawabunga

Как видишь, запрос GET гораздо меньше и проще,и content-length считать не надо. Хотя реализацияPOST не на много сложнее, все же будем делатьGET. Некоторым сервакам есть разница, какимметодом им отправляется запрос, поэтому,если приспичит, сможешь сделать его сам.

Кодинг

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

В отдельном массиве будем хранить символыдля перебора. Это будут как бы цифры изнашей системы счисления. Мы должны задатьначальное число и потом увеличивать его наединицу (т.е. задаем строку, с которойначинаем перебор, состоящую из символов изнашего массива). Допустим, что все ужезадано. Процедура, увеличивающая строку наединицу (не длину строки, а значение "числа-строки")представлена в листинге1. В ней реализовано обычное прибавление кчислу единицы столбиком (ты, наверное, и недумал, что понадобится считать столбиком,чтобы прибавить к числу единицу :). Ноперебор должен когда-то закончиться,поэтому нам нужно задать строку, на которойнадо остановиться. Она также должнасостоять из символов из набора. Понадобитсяфункция сравнения строк в нашей системесчисления. Перебор будет идти до тех пор,пока текущая строка не станет большеконечной. Функция приведена в листинге2.

Переходим к следующему. Наша программадолжна работать с любым сервером, поэтомунам нужно ввести много разной шняги. Во-первыхэто адрес сервера, во-вторых путь и имяскрипта, которому передаются параметры. В-третьих— сами параметры и их значения, а одинпараметр, по которому будет вестись перебор,пусть будет содержать некую особуюпоследовательность символов в качествезначения, чтобы мы могли его распознать. Дляввода параметров и значений будемиспользовать компонент типа TStringGrid. Такженужно ввести набор символов. Как вариантможно сделать набор чекбоксов, илипопросить юзера самого ввести нужный наборсимволов. Нужно ввести начальную и конечнуюстроки. Не помешает и перебор по словарю,тогда понадобятся два таймера — один дляполного перебора, второй для перебора пословарю. Нужно ввести частоту таймера, и,наконец, выводить текущий пароль. Такженужно знать ответ сервера в случае, когдаввели неправильный пароль. Идея такова:если в ответе от сервера на текущий парольнет строки, которая есть в ответе нанеправильный пароль, то текущий парольподозреваем на правильный. Тут можетслучиться неприятная ситуация. Многиестраницы сильно нагромождены, и нужная намуникальная строка в ответе (типа "Неправильныйпароль" или что-то в этом роде) можетнаходиться очень далеко от начала и непоместиться в буфер. Поэтому нужно будетпоэкспериментировать с размером буфера.Лучше посмотреть html код, найти в нем нужнуюстроку и оценить, насколько далеко онаотстоит от начала. Не стоит забывать и прозаголовок ответа сервера. Размести всенужные компоненты примерно как на рисунке.

Создай процедуру для события onClick длякнопки "Выбрать" и в теле напиши:

if OpenDialog1.Execute then Edit4.Text:=OpenDialog1.FileName;

Edit4 у меня это поле, куда нужно вводить имяфайла словаря. В компонент StringGrid1 будемвводить параметры и их значения (в левуюколонку имена, в правую значения). Установиу него FixedCols в 0, а ColCount в 2, установи в OptionsgoEditing в true, иначе нельзя будет вводить тудасвои значения. Значение параметра, которыйнужно перебирать, вводится в компонент Spesial(мы его так назвали) типа TEdit (на рисуке оннаходится под строкой "Спец строка").Например, чтобы перебрать параметр passwordнужно в Spesial ввести скажем "@#$", а затемв таблице в качестве значения password ввести"@#$". В примере (адрес, по которому егоможно скачать — в конце статьи) количествопараметров вводится в компонент Edit1. Длянего создадим процедуру onChange и поместимвнутрь текст из листинга3. Теперь количество строк у StringGrid1 будетравным числу, которое мы введем в Edit1. Паруслов о начальном и конечном значениях.Сделаем так: если соответствующая галочкаустановлена, то будем считать, что в полевведена длинна строки, в противном случае —сама начальная или конечная строка.

Черновую работу сделали, приступим косновной части. Опишем константы ипеременные (они глобальные, помести ихпосле implementation):

constBS = 1024; //размер буферадля передачи, со значением лучшепоэкспериментироватьLats = ‘abcdefghijklmnopqrstuvwxyz’; //наборысимволовLatb = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’;Num = ‘0123456789’;

varFirstStart: boolean; //это чтобыможно было делать паузу

xakep.ru

Использование patator для bruteforce-атак | DefconRU

 Добрый день, друзья!

Так что же такое patator? Это универсальная брутфорс утилита, имеющая на борту приличное количество модулей и возможность довольно гибкой настройки, в общем все что нужно чтобы упростить жизнь рядовому пентестеру. Patator представляет собой, как водится, питон скрипт, управление производится из cli.

Доступные модули на данный момент:

* ftp_login &nbsp; &nbsp; : Brute-force FTP * ssh_login &nbsp; &nbsp; : Brute-force SSH * telnet_login &nbsp;: Brute-force Telnet * smtp_login &nbsp; &nbsp;: Brute-force SMTP * smtp_vrfy &nbsp; &nbsp; : Enumerate valid users using the SMTP VRFY command * smtp_rcpt &nbsp; &nbsp; : Enumerate valid users using the SMTP RCPT TO command * finger_lookup : Enumerate valid users using Finger * http_fuzz &nbsp; &nbsp; : Brute-force HTTP/HTTPS * pop_login &nbsp; &nbsp; : Brute-force POP * pop_passd &nbsp; &nbsp; : Brute-force poppassd (not POP3) * imap_login &nbsp; &nbsp;: Brute-force IMAP * ldap_login &nbsp; &nbsp;: Brute-force LDAP * smb_login &nbsp; &nbsp; : Brute-force SMB * smb_lookupsid : Brute-force SMB SID-lookup * rlogin_login &nbsp;: Brute-force rlogin * vmauthd_login : Brute-force VMware Authentication Daemon * mssql_login &nbsp; : Brute-force MSSQL * oracle_login &nbsp;: Brute-force Oracle * mysql_login &nbsp; : Brute-force MySQL * mysql_query &nbsp; : Brute-force MySQL queries * pgsql_login &nbsp; : Brute-force PostgreSQL * vnc_login &nbsp; &nbsp; : Brute-force VNC * dns_forward &nbsp; : Brute-force DNS * dns_reverse &nbsp; : Brute-force DNS (reverse lookup subnets) * ike_enum &nbsp; &nbsp; &nbsp;: Enumerate IKE transforms * snmp_login &nbsp; &nbsp;: Brute-force SNMPv1/2 and SNMPv3 * unzip_pass &nbsp; &nbsp;: Brute-force the password of encrypted ZIP files * keystore_pass : Brute-force the password of Java keystore files * umbraco_crack : Crack Umbraco HMAC-SHA1 password hashes

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

* ftp_login &nbsp; &nbsp; : Brute-force FTP

* ssh_login &nbsp; &nbsp; : Brute-force SSH

* telnet_login &nbsp;: Brute-force Telnet

* smtp_login &nbsp; &nbsp;: Brute-force SMTP

* smtp_vrfy &nbsp; &nbsp; : Enumerate valid users using the SMTP VRFY command

* smtp_rcpt &nbsp; &nbsp; : Enumerate valid users using the SMTP RCPT TO command

* finger_lookup : Enumerate valid users using Finger

* http_fuzz &nbsp; &nbsp; : Brute-force HTTP/HTTPS

* pop_login &nbsp; &nbsp; : Brute-force POP

* pop_passd &nbsp; &nbsp; : Brute-force poppassd (not POP3)

* imap_login &nbsp; &nbsp;: Brute-force IMAP

* ldap_login &nbsp; &nbsp;: Brute-force LDAP

* smb_login &nbsp; &nbsp; : Brute-force SMB

* smb_lookupsid : Brute-force SMB SID-lookup

* rlogin_login &nbsp;: Brute-force rlogin

* vmauthd_login : Brute-force VMware Authentication Daemon

* mssql_login &nbsp; : Brute-force MSSQL

* oracle_login &nbsp;: Brute-force Oracle

* mysql_login &nbsp; : Brute-force MySQL

* mysql_query &nbsp; : Brute-force MySQL queries

* pgsql_login &nbsp; : Brute-force PostgreSQL

* vnc_login &nbsp; &nbsp; : Brute-force VNC

* dns_forward &nbsp; : Brute-force DNS

* dns_reverse &nbsp; : Brute-force DNS (reverse lookup subnets)

* ike_enum &nbsp; &nbsp; &nbsp;: Enumerate IKE transforms

* snmp_login &nbsp; &nbsp;: Brute-force SNMPv1/2 and SNMPv3

* unzip_pass &nbsp; &nbsp;: Brute-force the password of encrypted ZIP files

* keystore_pass : Brute-force the password of Java keystore files

* umbraco_crack : Crack Umbraco HMAC-SHA1 password hashes

Patator включён в Kali Linux 2.0 из коробки, в версиях ниже устанавливаем с Github (утилита часто обновляется, поэтому искать актуальную версию нужно именно тут):

git clone https://github.com/lanjelot/patator.git /usr/share/patator

git clone https://github.com/lanjelot/patator.git /usr/share/patator

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

Рассмотрим использование на примере модуля smtp_login. Данный модуль предназначен для брутфорса обыкновенной аутентификации почтового протокола SMTP:

Вызываем модуль:

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

patator1

Итак, мы просканировали сеть и знаем, что на хосте 192.168.17.128 открыт smtp порт (25), попробовали подключиться к нему телнетом и убедились, что все ок.

Начинаем брутить.

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

patator smtp_login host=192.168.17.129 user=Ololena password=FILE0 0=/usr/share/john/password.lst

patator smtp_login host=192.168.17.129 user=Ololena password=FILE0 0=/usr/share/john/password.lst

Синтаксис своеобразен, но довольно прост. Если вы хотите указать список паролей, как в примере выше вы используете конструкцию password=FILE0 0=<путь до словаря>, так же для user. Например если мы хотим брутить список юзернеймов и по каждому юзеру прогонялся список паролей, то конструкция будет выглядеть, например, так:

patator smtp_login host=192.168.17.129 user=FILE1 password=FILE0 0=/usr/share/john/password.lst 1=/usr/share/john/usernames.lst

patator smtp_login host=192.168.17.129 user=FILE1 password=FILE0 0=/usr/share/john/password.lst 1=/usr/share/john/usernames.lst

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

Так же если SMTP-серверу нужно представиться командой helo\ehlo, в модуле присутствует такая возможность. Команда будет выглядеть например так:

patator smtp_login host=192.168.17.129 helo='ehlo 192.168.17.128' user=FILE1 password=FILE0 0=/usr/share/john/password.lst 1=/usr/share/john/usernames.lst

patator smtp_login host=192.168.17.129 helo='ehlo 192.168.17.128' user=FILE1 password=FILE0 0=/usr/share/john/password.lst 1=/usr/share/john/usernames.lst

Но в нашем случае в этом необходимости нет.

Запускаем наш пример:

patator2_1

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

В patator существует как параметры конкретного модуля (которые мы видели на скриношоте, когда вызывали модуль), так и глобальные, например конструкция -x ignore.

Данная конструкция может фильтровать по размеру ответа (-x ignore:size=57-74),  по статус кода ответа(-x ignore:code=200), по совпадению строки и регулярному выражению(-x ignore:fgrep=’some text or regexp’) и по их комбинациям, например -x ignore:code=500 -x ignore:fgrep=’Internal error’ или ignore:code=200,size=57-74.

Она-то и  уберет из выдачи, то что нам не нужно.  В нашем примере лучше всего будет сделать таким образом:

patator smtp_login host=192.168.17.129 user=Ololena password=FILE0 0=/usr/share/john/password.lst -x ignore:fgrep='incorrect password or account name'

patator smtp_login host=192.168.17.129 user=Ololena password=FILE0 0=/usr/share/john/password.lst -x ignore:fgrep='incorrect password or account name'

Теперь он будет висеть таким образом, пока не подберет валидную связку логин\пароль:

patator3

Если вы не знаете, что происходит с ним, беспокоитесь что он завис или просто хотите узнать сколько осталось ждать до полного прогона словарей нажимайте Enter и он покажет в каком статусе он сейчас:

patator5

Так же во время выполнения брута вы можете ввести h, нажать Enter  и он покажет доступные параметры в интерактивном режиме.

Успех! В столбце candidate пароль, который подошел к юзернейму Ololena. В случае если вы брутите по словарю логинов валидные комбинации будут показаны так же, но разделенные двоеточием, например Ololena:1q2w3e

patator4

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

Спасибо за внимание!

defcon.ru

Лучшие инструменты пен-тестера: брутфорс паролей

Содержание статьи

У каждого из команды ][ свои предпочтения по части софта и утилит дляпен-теста. Посовещавшись, мы выяснили, что выбор так разнится, что можносоставить настоящий джентльменский набор из проверенных программ. На том ирешили. Чтобы не делать сборную солянку, весь список мы разбили на темы – и вэтот раз коснемся утилит для подбора пароля к различным сервисам.

 

Brutus AET2

Платформа: Windows

Последний релиз программы был в 2000 году. У тулзы давно нет официальногосайта. Но при этом Brutus AET2 по-прежнему является одним самых шустрых ипродвинутых брутфорсеров для основных Интернет-протоколов. Если нужно подобратьпароль для HTTP (на тех страничках, где используется авторизация пологину/паролю), произвольному веб-сервису с авторизацией через форму, почтовомуаккаунту, файловому или Telnet серверу, знай: Brutus – отличный вариант.

В общем случае для подбора пароля нужно указать хост и порт сервиса, выбратьпротокол, установить количество используемых потоков (максимум — 60), а такжетаймаут. В целях анонимности можно подключить сокс или прокси. В зависимости отпротокола также указывается ряд дополнительных параметров. Например, для подборапароля на каком-то сайте (тип брутфорса — HTTP Form), необходимо указать метод(POST или GET), обозначить параметры формы (в Brutus встроено простое средстводля их анализа), а в случае необходимости подделать cookie, включивсоответствующую опцию.

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

 

Универсальный брутфорсер для протоколов HTTP FORM, TELNET, POP3, FTP.

 

John the Ripper

Сайт: www.openwall.com/john/Платформа: Windows, Unix

Пытливые умы программистов не раз задумывались о том, как защитить пароли,которые хранятся локально? Действительно, ведь если доступ к машине, значит,пользователь может найти то местечко в системе, где они хранятся и…Обломаться, увидев вместо паролей — их хеши. Исходные пароли пропускают черезспециальные функции, которые выдают на выходе уникальную последовательностьсимволов (хеш), причем обратное преобразование произвести невозможно. Когда вовремя входа в систему пользователь вводит пароль, ось производит аналогичноедействие и сравнивает полученный хеш с тем, что хранится в ее недрах.

Так что же нет способа отыскать локальный пароль в никсах или Windows? Есть,если взять в помощники тулзу John The Ripper, которая как раз и занимаетсявосстановление паролей по их хешам. Основная задача тулзы — аудит слабых паролейв UNIX системах, но также справляется и с NTLM хешами, которые используются дляхранения паролей под виндой, Kerberos, и некоторыми другими. Причем к программеможно подключить модули, предоставляющие поддержку MD4 хешей, LDAP и MySQLпаролей.

John The Ripper проводить атаку по словарю и брутфорс. В режиме атаки пословарю программа берёт предполагаемые пароли из указанного файла, генерируетхеш и сверяет его с эталонным. В режиме брутфорса программа перебирает всевозможные комбинации пароля.

Сама тулза работает через консоль, а настройки для брута передаются с помощьюцелого ряда опций и параметров. Впрочем, если не жаждешь разбираться смногочисленными ключами, то можно немного схалтурить, воспользовавшисьзамечательным GUI-интерфейсом от стороннего разработчика. FSCrack v1.0.1(www.foundstone.com/us/resources/proddesc/fscrack.htm) — классно реализованныйфронт-енд, в котором параметры для взлома задаются через удобное окошко, а онуже сам составляет команду для запуска Джона и выдает результат работы.

 

Для локального взлома паролей для никсов и винды.

 

L0phtCrack

Сайт: www.l0phtcrack.comПлатформа: Windows

А это программа уже целенаправленно разработана для аудита паролей в Windows.L0phtCrack восстанавливает пароли от Windows по их хешам, раздобытым с локальноймашины, сервера в сети, контроллера домена или Active Directory. В программеесть встроенный снифер, который может перехватить зашифрованные хеши по локалке.Впрочем, помимо виндовых хешей программа отлично управится и с юниксовым Shadow.

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

Интересный факт. После приобретения в 2006 компанией Symantec, поддержка иразвитие программы заглохло, однако, ребята-разработчики выкупили своюразработку обратно в мае этого года выпустили на свет LC6. Последняя версияотлично работает под 64-битными система, использует преимуществомногопроцессорный и многоядерных систем. К сожалению, за использованиеL0phtCrack разработчики просят почти триста баксов, хотя и предоставляюттриальный срок без ограничений. Но у тулзы есть бесплатные аналоги, например,консольная Pwdump (www.foofus.net/fizzgig/pwdump/),а также ophcrack (ophcrack.sourceforge.net),использующий для взлома Rainbow-таблицы.

 

Восстановление пароля Windows и Unix по его хешу.

 

Cain and Abel

Сайт: www.oxid.it/cain.html Платформа: Windows

Об этой утилите мы уже рассказывали, когда составляли нашуподборку сниферов.Но вместе с тем это еще и сногсшибательный инструмент для восстановленияпаролей. Если не брать в расчет восстановление слабо защищенных паролей(например, сохраненных в браузере) и просмотр пасса под звездочками, то основнаячасть программы заключается во встроенной утилите для взлома 25 различных видовхешей: начиная от пресловутого MD5 и заканчивая NTLMv2 для восстановленияпаролей в винде. Для подбора применяется как атака по словарю, так и тупойбрутфорс.

Взлом 25 различных хешей (пароли Windows, MySQL, MSSQL, Oracle, SIP, VNC,CISCO, ключи WPA-PSK и т.д.).

 

THC-Hydra

Сайт: freeworld.thc.org/thc-hydra/Платформа: Windows, Unix

Аббревиатура THC в названии программы — уже гарант качества. Но этот проектTHC-Hydra надолго войдет в истории хакерского движения, как один из лучшихуниверсальных брутфорсеров. В основе программы лежит модульная структура,поэтому проект с самого начала быстро развивался: количество поддерживаемыхпротоколов росло как на дрожжах. Сейчас с помощью гидры пароль можно подобрать кболее чем 30 протоколам, включая telnet, ftp, http, https, smb, несколькимиСУБД, и т.д. Кстати, THC-Hydraбрутит и SSH, но для этого требуется наличие библиотеки libssh.

Мощнейший брутер, однако, в виду огромного количества настроек и опций далеконе всем покоряется с первого раза :). Если со стандартной установкой"./configure&make&make install" справляют все, то совладать с многочисленнымиключами для запуска не так просто. В качестве примера приведу несколько основныхфункций:

Подробнее об использовании Hydra ты можешь прочитать в нашей старой статье"Брутфорс по-нашему!" (73номер ][). К счастью, сами разработчики позаботились о графической частиутилиты, но она запуститься только под никсами.

Многопоточный брутфорсер для следующих протоколов: Samba, FTP, POP3, IMAP,Telnet, HTTP Auth, LDAP, NNTP, MySQL, VNC, ICQ, Socks5, PCNFS, Cisco, SSH, ICQ.

 

TSGrinder

Сайт:http://www.darknet.org.uk/2008/07/tsgrinder-brute-force-terminal-services-server/Платформа: Windows

Одна из немного утилит для подбора пароля для подключения к удаленномурабочему столу винды по протоколу RPD. Задачу такого перебора сильно осложняетшифрованное соединение и обмен ключами: сымитировать подобный криптообменданными достаточно трудно. Вторая загвоздка заключается в отсутствии к RPDконсольного режима. Но умельцы, однако, нашли способ обойти оба ограничения —использовать стандартные средства для работы по RDP и эмулировать вводлогина/пароля, как будто это делает сам пользователь.

За одно такое подключение тулза проверяет несколько паролей. TSGrinder можетпроверить 5 паролей за одно подключение, переконнетиться и проверить пятьследующих. Одновременно с этим тулза поддерживает несколько потоков.

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

Для работы утилиты необходимо установить Microsoft Simulated Terminal ServerClient tool, которую также называют roboclient. Его можно закачать с сайтаftp://ftp.microsoft.com/ResKit/win2000/roboclient.zip.

 

Для брутфорса RPD-акков.

 

RainbowCrack

Сайт: project-rainbowcrack.comПлатформа: Unix, Windows

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

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

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

Чрезвычайно быстрое восстановление пароля по хешу с использованиемRainbow-таблиц.

 

Md5 Crack Monster v1.1

Сайт: www.darkc0de.com/c0de/perl/mcm.txt Платформа: Unix, Windows

Перед тем как лезть на рожон, запуская брутфорс хеша, не поленись пробить егопо онлайн базам. Например, в gdataonline.com содержится более миллиардауникальных записей, а это лишь один из многочисленных проектов (некоторые из нихсмотри ниже). Чтобы упростить муторное занятие по проверке хеша на различныхсервисах рекомендую тебе классный скрипт Md5 Crack Monster, написанный на Perl.Он прочекает хеш по солидному списку сервисов и выдаст результат.

 

Поиск значения хеша в онлайн базах.

 

THC PPTP bruter

Платформа: Unix

Кто сказал, что подобрать пароль к VPN-аккаунту невозможно из-за особенностейавторизации? Чушь! Парни из всемирно-известной хакерской группы THC уже давнодоказали обратное, выпустив public-релиз тулзы THC-pptp-bruter. Данная прогапредставляет собой узкоспециализированный брутфорсер для PPTP-протокола(1723/TCP), который действительно работает! 🙂 Правда, только в том случае,когда сервер используют авторизацию Microsoft Window Chap V2. Спешу обрадовать:чаще всего используется именно она, причем как на Windows серверах, так исерьезных CISCO-системах. Что касается старой Window Chap V1, то ее поддержкутебе, вероятно, придется реализовать самостоятельно :))

Проблема реализации брутфорса заключается в том, что Microsoft намереннореализовала в PPTP-протоколе систему защиты против брутфорса. Если не вдаватьсяв подробности, то ее смысл заключался в установке ограничения: "за одну секундуможно ввести только один пароль". Естественно, что с такой скоростью переборахакер далеко не уедет и шансы подобрать пароль будут сведены к нулю. Однако вреализации по традиции не обошлось без изъянов, которые были опубликованы набагтраках, а группа THC успешно заюзала их в конкретной программе. С помощьюTHC-pptp-bruter можно обойти ограничения, установленные Microsoft, и добитьсяскорости более чем 300-400 паролей в секунду. Эта цифра, естественно, сильноварьируется в зависимости от задержки в доставке пакетов до сервера, так чтонаибольшей скорости можно добиться в локальной сети. Огорчает лишь то, что дляработы pptp-bruter необходима пара сторонних библиотек. Без них программапопросту не скомпилируется.

 

Для брута VPN-соединения.

 

CIFSPwScanner

Сайт: www.cqure.net/tools/Платформа: Windows, Unix

Сканнер для аудита стойкости паролей у CIFS/SMB-ресурсов. С его помощью тыловко сможешь подобрать необходимые данные для подключения к вражеской шаре влокалке. Главное — правильно вбить необходимую команду и подготовить словарикдля брута, наполненный самыми разными человеческими мыслями и любовью. ДляCIFSPwS она выглядит так: CifsPwScanner -t server -u users [options]. Остальныеопции ты можешь посмотреть в мане к программе или в интерактивном хелпе.CIFSPwScanner написан на Java, а поэтому может быть запущен под любойплатформой.

 

Подбор пароля к шарам.

 

piggy 1.0.1

Сайт: www.cqure.net/tools/Платформа: Windows

Многопоточный брутфорс Microsoft SQL серверов, реализованный в видеконсольного приложения. Поддерживает диапазонный режим сканирования, когда назаданный пароль проверяются сразу несколько серверов, хранящих базы. Этоособенно актуально, когда ты произвёл сервисный скан подсети NMAP на порт 1433(TCP), традиционный для этого сервиса, получил необходимый баннер базы, послечего скормил полученные адреса piggy. Поскольку халатность администраторовзачастую поистине безмерна, вероятность улова весьма и весьма велика. Кромеэтого piggy работает с составленными тобой файлами, для проведения атаки пословарю.

 

Аудит паролей MSSQL-сервера.

 

Хинты по работе со словарями

Отбросить повторяющиеся пароли в файле-словаре можно с помощью стандартныхсредство никсов. Для этого понадобится одна единственная команда:

cat words.txt | sort | uniq > dictionary.txt

Если ты знаешь, что политика по установке паролей не позволяет пользователямвыбирать пасс, менее чем в 6 символов длиной и содержащий как минимум одну буквуи цифру, то можно сэкономить немало времени на переборе, если предварительноотбросить все невозможные варианты. Вместе с THC Hydra идет замечательнаяутилита pw-inspector, с помощью которой из существующего словаря легко составитьновый словарик, включающий в себя только "правильные" пароли. В нашем случае этоделается так:

cat dictionary.txt | pw-inspector -m 6 -c 2 -n > passlist.txt

 

WARNING

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

 

WWW

 

Узкоспециализированные брутфорсеры на Python и Perl:

www.darkc0de.com/bruteforce/

 

Словари для перебора:

www.passwords.ru/dic.htm

 

Онлайн сервисы для взлома хешей:

passcracking.ruwww.hashchecker.comwww.milw0rm.comwww.gdataonline.comwww.md5hood.com

Полную версию статьичитай в июльском номереХакера!Чтобы всегда иметь при себе подборку брутфорсеров, мы все скачали за тебя иположили на наш диск. А в качестве бонуса подготовили для тебя солидную подборкусловарей!

xakep.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта