Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Свои модули для PasswordsPro: атака на хэши

-

Переводы

- Переведенные материалы из закрытых разделов зарубежных форумов

Ответ
 
Опции темы
Старый 09.11.2010, 15:47   #1
 Пехотинец
Аватар для kooler
 
kooler на правильном пути
Регистрация: 23.09.2010
Сообщений: 62
Популярность: 92
Сказал(а) спасибо: 40
Поблагодарили 42 раз(а) в 33 сообщениях
Отправить сообщение для kooler с помощью Skype™
 
По умолчанию Свои модули для PasswordsPro: атака на хэши

При аудите паролей регулярно приходится сталкиваться с расшифровкой паролей к хэшам различных видов - MD5, MySQL, SHA-1 и др. Как не спасовать перед этим непонятным набором цифр и букв? Как максимально быстро восстановить из хэша искомый пароль (даже если он сложный и не поддается полному перебору, к примеру "super@dmin")? Как подобрать пароль к хэшу, который имеет уникальный тип и не поддерживается ни в одной известной программе? Об этом и о многом другом расскажет данная статья на примере одного из самых эффективных в мире инструментов по работе с хэшами - программы PasswordsPro.
Введение

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

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

Итак у нас есть хэши, полученные каким-либо образом (дамп БД, просмотр cookies, анализ кэша Windows и т.д.), но паролей, зашифрованных в этих хэшах, мы не знаем. Что же делать?

Как известно, в подавляющем большинстве алгоритмов хэширования сделать обратное преобразование "пароль - хэш" невозможно. Отчасти из-за того, что при хэшировании используются необратимые математические операции, такие как OR, AND и др. Например, даже если в выражении "X AND Y = Z" мы знаем Y и Z, то мы никогда не сможем по ним точно восстановить исходное значение X (максимум, что мы можем - это рассчитать область возможных значений X, удовлетворяющих данному равенству). Другая же причина - коллизии, которые неизбежно возникнут из-за того, что область всех возможных хэшей любого алгоритма является величиной конечной и определяется размером хэша (к примеру, для MD5 количество всевозможных хэшей составляет 2 в степени 12, а количество исходных значений - величина бесконечная. Разумеется, существуют такие исходные сообщения, которым соответствует один и тот же хэш. Такие исходные сообщения и называются коллизиями.

Поэтому нам с вами остается только одно - подсчитывать хэши от различных паролей и сравнивать их с исходным хэшем - если они совпали, считаем, что исходный пароль найден. Разумеется, в интернете немало программ (в обиходе - "брутеры" или "брутфорсеры"), автоматизирующих работу по подбору паролей. Все они имеют как преимущества, так и недостатки, но среди них есть программа, имеющая ряд особенностей, благодаря которым она может стать для вас более предпочтительным инструментом для работы с хэшами - PasswordsPro.
[B][COLOR="Lime"]
Возможности
Поддержка любых типов хэшей

В настоящее время программа поддерживает хэши следующих типов:

Цитата:
* MySQL
* MySQL5
* DES(Unix)
* MD4
* MD4(HMAC)
* MD5
* MD5(HMAC)
* MD5(Unix)
* MD5(APR)
* SHA-1
* SHA-1(HMAC)
* SHA-256
* SHA-384
* Domain Cached Credentials
* Haval-128
* Haval-160
* Haval-192
* Haval-224
* Haval-256

и др.

Дополнительно к этим типам программа поддерживает хэши со всех популярных движков форумов (чего, кстати говоря, в таком объеме не умеет ни одна аналогичная программа в мире) - vBulletin, phpBB3, SMF, IPB, myBB и др. Вот некоторые из этих алгоритмов (в синтаксисе PHP):


Цитата:
* md5($salt.$pass)
* md5(md5($pass))
* md5(md5($pass).$salt)
* md5($salt.md5($pass))
* md5($salt.$pass.$salt)
* md5(md5($salt).$pass)
* md5(md5($salt).md5($pass))
* sha1($username.$pass)

и др.

Также сторонними разработчиками уже написано немало дополнительных модулей хэширования, а именно: MD2, MS SQL, Oracle DES, Oracle SHA-1, RipeMD-128 и др., которые доступны в дистрибутиве программы или на форуме программы, на котором уже опубликованы различные модули - к примеру, есть модуль для зашифрованных паролей к Lineage II C4.

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

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

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

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

Атака на хэши


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

Пароли из случайных символов пользователю запомнить сложно (разве что записать на стикер и приклеить к монитору), поэтому обычно это те пароли, которые различные интернет-сервисы генерируют самостоятельно и высылают пользователю. Часто эти пароли имеют длину до 8-9 символов и состоят из ограниченного числа символьных наборов (a...z + 0...9 или "abcdef" + 0...9) и вполне поддаются восстановлению. Но иногда бывает, что такие пароли ставятся на доступ к БД или для администрирования сервиса - подобные пароли (особенно длинные) восстановить практически нереально. Можно годами перебирать пароли к таким хэшам, задействуя сеть из множества компьютеров и все будет безрезультатно.

Но при этом сложно представить пользователя, использующего десятки паролей, начиная от входа в Windows и заканчивая доступом к форумам, своему блогу или социальным сетям, что все его пароли являются случайными и выглядят, к примеру, так: IKrGm&j1JPa7. Чаще всего это все-таки пароли, созданные на основе какой-либо закономерности - повторение одинаковых символов, использование в качестве пароля любимого слова или фразы, дата своего дня рождения и т.д. Такие пароли на практике составляют большую часть всех паролей, с которыми приходится иметь дело при аудите и теоретически любой пароль, использующий хоть какую-то закономерность, может быть в итоге восстановлен.

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

Эта атака делает быструю проверку на пароли типа "12345", "ssssss", "abcdef", на ранее найденные пароли (которые программа накапливает в файле PasswordsPro.dic), а также на пароли, представляющие собой комбинации соседних клавиш на клавиатуре ("qwerty" и др.). Здесь проявляется одна важная особенность PasswordsPro - программа использует внешний текстовый файл с готовыми комбинациями клавиш, в который любой желающий может добавить свои комбинации в любом количестве. А т.к. немало паролей формируются из соседних клавиш ("qwerty123456", "q1w2e3r4t5", "qazwsxedc", "qweasd" и др.), то эта атака, несмотря на свое скромное название, часто помогает восстановить сложные пароли, например такие как "q1w2e3r4t5y6u7i8o9p0", которые другим атакам просто "не по зубам".

Атака полным перебором


Брутфорс - он и в Африке брутфорс. Полный перебор всех вариантов - далеко не самый эффективный вид атаки. Диапазон его применения - проверка хэшей на небольшую глубину широким символьным набором или на большую глубину узким символьным набором (0...9, например).

Еще одно применение этой атаки - поиск конкретного пароля, когда точно известна его длина (к примеру, 9 символов) и набор символов, из которых он состоит (к примеру, a...z + 0...9). В этом случае кроме полного перебора ничего не остается (разумеется, если другие виды атак не дали результата). Причем, в этом случае для обработки всех паролей в разумные сроки мощностей одного компьютера часто недостаточно и желательно распределить весь диапазон паролей между несколькими машинами (такое разбиение в PasswordsPro предусмотрено).

Разумеется, даже короткие пароли типа "R@dm1n" этим видом атаки найти практически нереально, т.к. при увеличении глубины перебора и количества символов в переборе количество перебираемых паролей возрастает лавинообразно - соответственно, возрастает и время их полного перебора.

Атака по маске

Этот вид атаки особенно полезен, если есть какая-либо информация о пароле - к примеру, он начинается на "123456", а дальше идет комбинация латинских заглавных и строчных букв или же пароль имеет длину 10-11 символов и содержит в себе слово "master", остальные символы неизвестны. Также этот вид атаки дает неплохой результат на больших массивах хэшей, когда пользователь последовательно перебирает маски для весьма вероятных паролей - admin?*?*?*, pass?d?d?d?d?d?d и т.д. Скорее всего, в одной из следующих версий PasswordsPro эта атака будет усовершенствована и пользователь сможет однократно составить свой список масок для вероятных паролей, после чего программа будет перебирать пароли, последовательно перебирая эти маски из списка, что немало упростит работу.
Простая атака по словарям

Ну вот, уважаемый читатель, мы и добрались до самых эффективных на сегодняшний день атак. "Эффективных" в том смысле, что они теоретически позволяют восстановить пароли любой длины и любой сложности, но лишь при одном условии - основу пароля составляет осмысленное слово, набор слов или фраза ("administrator", "computer", "iamhacker", "*****mehehe" и т.д.). А если учесть, что таких паролей - большинство, то вполне естественно, что эти виды атак дают нам "львиную" долю восстановленных паролей.

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

Комбинированная атака по словарям


Мощная атака, позволяющая быстро найти длинные пароли типа "ilovemercedes", "finalfantasy", "masterblaster" и др. - на практике, кстати, таких паролей немало, т.к. они легко запоминаются и с точки зрения пользователя вполне надежны, т.к. длинные, а значит - сложные для восстановления.

В PasswordsPro она реализована крайне просто - загружаем один словарь в первый набор словарей, другой (к примеру, все цифры от 0 до 99999) - во второй, ставим очередность формирования слов: "Набор словарей 1", "Набор словарей 2" и запускаем атаку. Весьма эффективно комбинировать хороший словарь с самим собой. В дистрибутиве PasswordsPro находится словарь "InsidePro.dic", в котором находятся часто употребляемые слова и части слов, и комбинируя слова из него друг с другом, можно восстановить немало 10...16-символьных "зубров".

Гибридная атака по словарям

Итак, гибридка - без сомнений, основной помощник при аудите паролей. Это именно та атака, которая за небольшое время находит такие сложные пароли, как "P@$$w0rd", "m@st3r", "h4cky0u", "forum+forum", "-lancer-", "h1a2c3k4e5r", "f.o.r.u.m.", "Mr.Johnson", "12345123451234512345", "CrIsTiNa" и многие другие. Поверьте - другими видами атак такие пароли восстановить в принципе невозможно.

Основная идея этой атаки в том, что пользователь берет какое-то известное ему слово, немного видоизменяет его по каким-то своим правилам и использует результат в качестве пароля. Этих правил - огромное количество, но есть среди них те, которые встречаются чаще других - заменить в пароле одни символы другими, напечатать одно и то же слово много раз, поочередно использовать разные регистры символов и т.д. Если "натравить" эту атаку на большой список хэшей из среднестатистических паролей, да еще и с мощным словарем, то вы будете приятно удивлены, глядя, как PasswordsPro щелкает пароли как семечки. Эта атака даже в одиночку может восстановить существенную часть списка хэшей.

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

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

Есть и еще одна приятная возможность, доступная в этой атаке - таблицы замены символов в паролях, особенно эффективные в не-англоязычных странах, где клавиатура имеет две раскладки, как, к примеру, у нас в России. Эти таблицы "на лету" подменяют символы в паролях, формируя вместо "привет" пароль "privet" или "ghbdtn". К примеру, пароль "fktrcfylh2008" без использования таких таблиц восстановить любыми видами атак практически нереально. А с таблицами атака на него займет несколько минут, т.к. это не что иное, как пароль "александр2008", набранный в английской раскладке клавиатуры.

Атака по Rainbow-таблицам

Это еще одна очень эффективная атака (разумеется, если у вас имеются таблицы для нужного алгоритма и "success rate" этих таблиц не ниже 95...98%). Тут все просто - в настройках программы загружаем таблицы, отмечаем нужные хэши и нажимаем "Старт".

В этой атаке проявляется еще одна уникальная особенность PasswordsPro - умение работать с таблицами для любых алгоритмов, таблицы для которых сгенерированы в формате программы rtgen.exe v1.2. К примеру, "штатная" утилита r*****.exe для брута по таблицам поддерживает лишь два алгоритма - MD5 и LM. Для поддержки других алгоритмов ее нужно перекомпилировать. А с PasswordsPro ничего перекомпилировать не надо - генерируйте таблицы хоть для MD2, хоть для SHA-512, хоть для RipeMD-128, затем добавляйте их в программу и спокойно ищите по ним свои пароли - главное, чтобы в наличии был нужный DLL-модуль хэширования.

Заключение

Ну что ж, мы воочию убедились, что программа PasswordsPro в умелых руках (особенно "укомплектованная" большим количеством хороших словарей и Rainbow-таблиц) - это реально боевая машина пехоты (в смысле - специалиста по аудиту), смело пробирающаяся по туманному миру хэшей, ломая их направо и налево. Но и она не всесильна, к сожалению.

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

Есть над чем подумать и в отношении коллизий - о них много говорят, но пока никто не нашел ни одной пары разных паролей, дающих одинаковый SHA-1 или MD5-хэш. Первая же найденная пара таких паролей даст бесценную информацию о том, как разные биты этих паролей "пробегают" по всем ступенькам хэширования, трансформируясь в одинаковый результат.

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

================================================== ======================
Как определить тип хэша?
Цитата:
http://zhyk.ru/forum/showthread.php?t=129408

================================================== ======================
Поэтому так и хочется воскликнуть: "PasswordsPro - все только начинается"!

Последний раз редактировалось kooler; 09.11.2010 в 19:22.
  Ответить с цитированием
4 пользователя(ей) сказали cпасибо:
BuSh1Do (02.12.2010), lTPAXTOPl (02.12.2010), MasXteR (14.08.2014), Qdeath (25.11.2010)
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Файл] Выкладываем свои файлы с сбручеными паролями PasswordsPRO! Jumper Базы серверов и брут 118 19.10.2015 03:12
[Программа] PasswordsPro: атака на хэши Glavos Базы серверов и брут 15 19.07.2011 02:40
Расшифровываем хэши L2 серверов cowcancry Баги и читы Lineage 2 39 30.09.2010 14:59
[Помогите!] Модули MDX next.rikimaru Общение и обсуждение Warcraft 3 1 31.08.2010 23:23

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 17:59.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net