Статьи PasswordsPro - Таинственный мир хэшей

Discussion in 'Статьи' started by -=lebed=-, 17 Apr 2008.

  1. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    ©InsidePro Software, апрель 2008 - публикуется с разрешения автора.
    [INTRO]
    При аудите паролей регулярно приходится сталкиваться с расшифровкой паролей к хэшам различных видов - MD5, MySQL, SHA-1 и др. Как не спасовать перед этим непонятным набором цифр и букв? Как максимально быстро восстановить из хэша искомый пароль (даже если он сложный и не поддается полному перебору, к примеру "super@dmin")? Как подобрать пароль к хэшу, который имеет уникальный тип и не поддерживается ни в одной известной программе? Об этом и о многом другом расскажет данная статья на примере одного из самых эффективных в мире инструментов по работе с хэшами - программы PasswordsPro.
    [Введение]
    Давайте задумаемся - а что такое хэши? "Это зашифрованные пароли" скажет иной читатель и будет не совсем прав. Множество хэшей - это целый мир, так как хэш - это, в первую очередь, хранитель тайны и поверьте - таинственный мир хэшей полон загадок, темных мест и еще неоткрытых возможностей.

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

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

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

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

    [Особенности программы]
    Поддержка любых типов хэшей
    В настоящее время программа поддерживает хэши следующих типов:
    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($pass.$salt)
    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 все эти операции делаются буквально одним кликом мыши (или одной "горячей" клавишей).

    Также программа имеет массу способов копирования информации о хэшах в любых форматах и в любом объеме. Все это существенно экономит время, особенно если программу приходится часто перенастраивать на работу с хэшами разных типов. Поэтому вполне очевидно, что многие пользователи считают PasswordsPro самой удобной и дружественной программой, облегчающей работу с хэшами.
    Дополнительные возможности
    Одна из многих уникальных особенностей программы - то, что она поддерживает неполные хэшей всех видов. А такая ситуация возникает нередко, ведь в БД различных сервисов для экономии места (или для усложнения аудита) часто сохраняется не весь хэш от пароля, а его часть (к примеру, половина), т.к. для достоверной проверки вводимого пароля и этого вполне достаточно, но вот при попытке восстановить пароли к таким хэшам практически все программы-брутфорсеры пасуют, сообщая что "хэши имеют неизвестный или неправильный формат". 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", "crackmehehe" и т.д.). А если учесть, что таких паролей - большинство, то вполне естественно, что эти виды атак дают нам "львиную" долю восстановленных паролей.

    В простой атаке по словарям все действительно просто - загружаем в программу список словарей (т.е. текстовых файлов, содержащих готовые пароли в формате "одна строка = один пароль") и "прогоняем" по ним наши хэши. Эта атака дает хорошие результаты, когда для аудита паролей используются сотни мегабайт словарей, желательно - на разные тематики и на разных языках. Особую ценность представляют словари, содержащие ранее восстановленные пароли. Почему? Увидим ниже..
    Комбинированная атака по словарям
    Мощная атака, позволяющая быстро найти длинные пароли типа "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. К примеру, "штатная" утилита rcrack.exe для брута по таблицам поддерживает лишь два алгоритма - MD5 и LM. Для поддержки других алгоритмов ее нужно перекомпилировать. А с PasswordsPro ничего перекомпилировать не надо - генерируйте таблицы хоть для MD2, хоть для SHA-512, хоть для RipeMD-128, затем добавляйте их в программу и спокойно ищите по ним свои пароли - главное, чтобы в наличии был нужный DLL-модуль хэширования.
    [Атаки в действии]
    Итак, в качестве примера для аудита паролей пользователей популярного форума мы загрузили в PasswordsPro список из 15-20 тысяч MD5-хэшей. Как нам за меньшее время найти большее число паролей? Вот рекомендуемый алгоритм работы с программой (с использованием "штатного" дистрибутива PasswordsPro):
    1. Предварительная атака со всеми возможными проверками (см. настройки программы).
    2. Полный перебор по алфавиту 0...9 + a...z на глубину 1-6 символов.
    3. Полный перебор по алфавиту 0...9 + abcdef на глубину 7-8 символов.
    4. Загружаем словарь "InsidePro.dic" из дистрибутива программы в набор словарей 1, а все остальные словари из того же каталога ("All_1-2.dic", "Numbers_1-4.dic" и т.д.) - в набор словарей 2 и запускаем гибридную атаку с набором правил по умолчанию (файл "Rules.txt" в архиве программы) сначала по второму набору словарей, затем - по первому.
    5. Запускаем комбинированную атаку, указав очередность формирования слов: "Набор словарей 1", "Набор словарей 2".
    6. Запускаем комбинированную атаку, указав очередность формирования слов: "Набор словарей 1", "Набор словарей 1".
    7. Запускаем комбинированную атаку, указав очередность формирования слов: "Набор словарей 2", "Набор словарей 1".
    8. Полный перебор по алфавиту 0...9 + a...z на глубину 7-7 символов.
    9. Полный перебор по алфавиту 0...9 на глубину 9-11 символов.

    На компьютере с хорошим процессором вся эта работа займет около суток и последние пункты (особенно 8 и 9) лучше оставлять на ночь.

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

    В результате этих действий мы восстановим большую часть паролей из списка - на практике успех может доходить и до 90%, а может ограничиться и 20...30% - это зависит от множества факторов, к примеру - в какой доменной зоне находится форум (т.е. много паролей в нем может быть на национальном языке), какова тематика форума (понятно, что в форумах на компьютерные темы общаются более подготовленные прользователи, имеющие в среднем более сложные пароли) и т.д.
     
    DZZ, Turanchocks_, Black3r and 8 others like this.
  2. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    [Создание своих модулей]
    Представьте ситуацию - мы извлекли из БД форума кучу хэшей пользователей и, покопавшись в исходниках форума, обнаружили, что его автор использовал алгоритм, который не поддерживает ни один известный переборщик паролей - пусть, к примеру, это будет алгоритм md5(md5($pass).$pass). Сразу возникает вопрос - что делать? Правильно! Выбора нет - сначала надо сбегать за пивом...

    Сбегали? А вот теперь у нас есть выбор.

    Можно написать свой переборщик паролей под этот алгоритм, на что уйдет уйма времени, а можно сделать проще - написать лишь код для реализации нужного алгоритма, "обернуть" его парой функций, скомпилировать в DLL-файл и загрузить в PasswordsPro. Заманчиво? Не то слово! А если учесть, что в дистрибутиве программы находятся исходные тексты готового модуля на Visual C++ .NET 2003, то пользователь, имеющий хорошие навыки использования VC++, сможет брутить подобные хэши со всей "мощью" PasswordsPro, затратив всего 10-15 минут!

    Смотрим каталог \Modules\API дистрибутива программы, находим в нем архив "RAdmin_Sources.zip", разархивируем и запускаем файл "RAdmin.vcproj". А теперь отвлечемся немного от Visual Studio и прочитаем небольшой файл "ReadMe.chm" в том же каталоге. Так-c... Для связи модуля с PasswordsPro достаточно... двух функций и пары флагов. Всего-то?! Да.
    PHP:
    #include "stdafx.h"
    #include "MD5.h"
    #include "Modules.h"

    BOOL APIENTRY DllMain(HANDLE hModuleDWORD ul_reason_for_callLPVOID lpReserved)
    {
            return 
    TRUE;
    }

    extern "C" __declspec(dllexportvoid GetInfo(MODULEINFO *info)
    {
            
    // Наш хэш зависит только от пароля и имеет бинарный формат
            
    info->dwFlags MODULE_HASH_SIMPLE MODULE_HASH_BINARY;

            
    // Тип нашего хэша
            
    info->szHashType "md5(md5($pass).$pass)";

            
    // О модуле
            
    info->szAbout "Тестовый модуль для хэшей вида md5(md5($pass).$pass)";
    }

    extern "C" __declspec(dllexportint GetHash(HASHINFO *info)
    {
            
    unsigned char buf[256];

            
    // Формируем md5($pass)
            
    MD5_CTX context;
            
    MD5Init(&context);
            
    MD5Update(&context, (unsigned char *)info->szPasswordinfo->nPasswordLen);
            
    MD5Final(buf, &context); // 16 байт хэша -> в buf

            // Т.к. PHP-функция md5() возвращает MD5-хэш
            // в 32-символьном текстовом виде, то и нам надо сделать
            // такое же преобразование. Автор использует для этого
            // собственную inline-функцию, написанную на Ассемблере,
            // но для сокращения места она не приводится, тем более,
            // что преобразовать 16 байт хэша в HEX-формат, к примеру:
            // "e2fc714c4727ee9395f324cd2e7f331f" - задача элементарная.

            // Преобразуем хэш в текстовую строку по адресу &buf[16]
            
    HashToText(&buf[16], buf16);

            
    // Копируем пароль после текстового хэша
            
    memcpy(&buf[48], info->szPasswordinfo->nPasswordLen);

            
    // Финальное хэширование строки md5($pass).$pass
            
    MD5Init(&context);
            
    MD5Update(&context, &buf[16], info->nPasswordLen 32);
            
    MD5Final(info->pBuf, &context);

            return 
    16;
    }
    Листинг 1. Исходный текст модуля для алгоритма md5(md5($pass).$pass).​
    Компилируем, запускаем PasswordsPro, открываем настройки, ищем закладку "Модули хэширования", кликаем правой кнопкой мыши, добавляем наш модуль в список и, если он скомпилирован правильно, программа радостно скажет "Модуль загружен успешно!".

    Небольшое тестирование... Нажимаем F6, вызывая встроенный в программу генератор хэшей, и смотрим, как новоявленный модуль реагирует на изменение пароля. Для проверки стабильности работы модуля можно потестировать пароль на максимальную длину в 127 символов. Если все ок, то принимайте поздравления - вы успешно "подружили" PasswordsPro со своим алгоритмом!

    Что делать теперь? Брутить, брутить и брутить! Но сначала сбегаем еще за пивом... Что значит "еще не закончилось"? Даже вторая бутылка не открыта? :) Ну вот, видите - создать нужный модуль хэширования к программе за 10 минут вполне реально.

    Любители Дельфи или VB без труда сформируют собственные прототипы нужных функций, а поклонников Ассемблера ждет приятный сюрприз - на форуме программы есть уже готовые шаблоны для MASM'а и FASM'a.
    [Заключение]
    Ну что ж, мы воочию убедились, что программа PasswordsPro в умелых руках (особенно "укомплектованная" большим количеством хороших словарей и Rainbow-таблиц) - это реально боевая машина пехоты (в смысле - специалиста по аудиту), смело пробирающаяся по туманному миру хэшей, ломая их направо и налево. Но и она не всесильна, к сожалению.

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

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

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

    Поэтому так и хочется воскликнуть: "PasswordsPro - все только начинается"! ;)
    (c)InsidePro
     
    afonn and Ded MustD!e like this.
  3. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    От себя хотел бы добавить пожелания автору в совершенствовании программы, а именно:
    1. Дальнейшая оптимизация скорости работы программы по всем видам атак.
    2. Поддержка многоядерных процессоров, а также возможность использования конвеерных потоковых процессоров некоторых современных видеокарт.
    3. Реализация поддержки атаки по гибридным таблицам Rainbow
    4. Использование уязвимостей некоторых алгоритмов хэширования при проведении атак.
    PS Имхо если это реализовать, мы получим универсальный удобный инструмент для восстановления хэшей, которому не будет конкурентов.

    Хотел бы добавить ещё один момент: колличество хэшей конечно, для MD5 это 2^128 возможных вариантов. Колличество входных данных бесконечность, НО число реальных паролей на земле, существующих в данный момент конечное множество. Давайте прикинем сколько их может быть.
    Население планеты составляет около 5млрд. человек, пусть из них пользуется интернетом (а значит имеют пароли) 10%, т.е. это где-то 500 Млн., пусть каждый имеет (использует) в среднем 10-100 паролей. Получим, что конечное множество используемых паролей в данный момент времени составляет 5-50 млрд. Пусть длина пароля в среднем составляет 10 байт, тогда объём всех паролей 50000000000байт~48828125Кб.~47683Мб.~46Гб.
    Т.е. получаем что для хранения всех существующих паролей нам достаточно объёма современного винчестера 46-500Гб. Полный прогон по такому словарю на современном компьютере со скоростью 5млн. пасс/сек (для MD5) займёт от 10000 до 100000 сек.т.е. от 2.7 часов до 27,7 часов. Вот такая арифметика.
    Кроме того, разным людям свойственно придумывать (и часто использовать) одни и те же пароли. Т.е. я веду к тому, что всё множество паролей в конечном счёте стремиться к конечному числу (неявному пределу). Если бы все генерировали случайные пароли и постоянно их меняли, то конечно такого бы не было, но всё равно число используемых в конкретный момент времени паролей конечно. Именно этот факт и нужно использовать, поэтому важность сборника реалпассов неоценима (особенно при гибридной атаке это наглядно видно).
     
    #3 -=lebed=-, 17 Apr 2008
    Last edited: 17 Apr 2008
    3 people like this.
  4. Karantin

    Karantin Elder - Старейшина

    Joined:
    21 Dec 2007
    Messages:
    330
    Likes Received:
    146
    Reputations:
    24
    Программа гуд, но название топика свалило прямо. Так и видится продолжение: "md5 и тайная комната", "aes и орден Феникса".
    Название оригинальное - автора
     
    #4 Karantin, 17 Apr 2008
    Last edited by a moderator: 17 Apr 2008
    1 person likes this.
  5. InsidePro

    InsidePro Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    70
    Likes Received:
    90
    Reputations:
    41
    Спасибо за публикацию!

    По пожеланиям:
    1. Будет обязательно. Уже есть наработки, которые позволят поднять скорость ряда алгоритмов, некоторых - в 1,5...2 раза. Разумеется, будут совершенствоваться и сами атаки.
    2. Это тоже постараюсь сделать. Сейчас у меня в планах выпуск еще одной "промежуточной" версии, где я учту все оставшиеся пожелания и свои задумки, а затем, скорее всего, полностью займусь только многопоточностью, а в дальнейшем - возможно, и видеокартами, при наличии времени...
    3. Сложный вопрос. Это возможно, если только автор The UDC предоставит полный интерфейс по работе с его таблицами, в чем я сомневаюсь.
    4. Ну, если только вы все поможете мне с их поиском. ;)

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

    P.S. Реалпассы - великая вещь, согласен. :)
     
    3 people like this.
  6. Karapuziko

    Karapuziko Elder - Старейшина

    Joined:
    20 Jan 2008
    Messages:
    32
    Likes Received:
    14
    Reputations:
    3
    Хм, лебедь, прочитал статью,спс за публикацию, теперь хэшами занятся захотелось:)
    Давно этим занимаешься?
    А хошь по секрету:), не легче ли создать бот нет?
    Целая сеть атаки на хэши:)
    ----
    хотя в этом деле я слаб, и внимательно выслушаю критику к моим словам...
     
  7. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    1) занимайся - регатся тут
    2) занимаюсь (вплотную) полгода (или год)
    3) Да вообщем-то можно, но это уже не математика, а уголовно-наказуемое деяние, хотя если сделать легального агента (или взять готового) - то не вопрос, только желающих я думаю не много будет добровольно запускать у себя его... Я уже делал примитивного бота на основе PasswordsPro, который обслуживал очереди сервиса в автомат. режиме, его можно было локально, либо на виндедике использовать...
     
  8. Karapuziko

    Karapuziko Elder - Старейшина

    Joined:
    20 Jan 2008
    Messages:
    32
    Likes Received:
    14
    Reputations:
    3
    Я не против того, что бы сделать сеть, ведь брут будет быстрее, есть не мало идей где можно запустить!:)
    можно будет обсудить все это:)
     
    1 person likes this.
  9. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    -=lebed=- как фсегда молорик ) респ)

    ___________________________________
    [​IMG]

    не могу найти где подпись делать.... может я ударился головой? напишите если кто знает...
     
    _________________________
  10. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Не может - это отдельный консольный бруттер от ИнсайдПро...
    http://forum.antichat.ru/thread74207.html
     
    #10 -=lebed=-, 14 Jul 2008
    Last edited: 14 Jul 2008
    1 person likes this.
  11. afonn

    afonn Member

    Joined:
    10 Aug 2015
    Messages:
    117
    Likes Received:
    42
    Reputations:
    0
    это все конечно здорово все но где саму прогу скачать
     
  12. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    afonn likes this.