как узнать хэш пароля

Online сервисы по перебору паролей

Существует много причин использования таких сервисов, чаще всего или элементарная забывчивость или хакинг.

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

Мгновенная расшифровка

Последний — это сайт программы переборщика паролей PasswordsPro, достаточно большая база, легкое использование.

НЕ мгновенная расшифровка

Платные сервисы

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

По моему личному мнению это самый лучший и заслуживает особого внимания.
Помимо того, что он ищет по базе пароли (мгновенная расшифровка), не найденные он добавляет в специальную очередь паролей. Бруттер, установленный на сервере двигается по той очереди с верху вниз.
(Всего 12 таблиц. CharSet=a-z,0-9 длины паролей:1-8 символов. Вероятность попадания: 97.80%. Максимальное время поиска пароля для одного хеша: 12 минут)
Если хотите, чтобы пароль перебирался как можно скорее, то можно указать цену за него. Очередь сортируется по цене. Баланс можно пополнить, написав администрации и переведя деньги, например по средствам WebMoney.

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

Источник

Взлом «посоленных» хешей

Безопасность веб-приложений: Что можно, а что нельзя делать при шифровании с использованием соли.

Безопасность веб-приложений: Что можно, а что нельзя делать при шифровании с использованием соли

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

Соль (Криптография)
http://en.wikipedia.org/wiki/Salt_(cryptography)
Предположим, что украден хешированный пароль пользователя. Известно, что пароль является одним из 200,000 английских слов. Система использует 32-х битную соль. «Посоленный» ключ – это оригинальный пароль, добавленный к произвольной 32-х битной соли. Из-за соли посчитанные хеши злоумышленника не подойдут (не удастся использовать радужные таблицы). Злоумышленник должен посчитать хеш каждого слова с каждым из 232 (4,294,967,296) возможных вариантов соли, добавленных к паролю, до тех пор, пока не будет получено совпадение. Общее число возможных комбинаций может быть получено умножением количества слов в словаре на количество возможных вариантов соли:
2^ <32>\умножить на 200 000 = 8.58993459 \умножить на 10^ <14>
Для завершения брут-форс атаки злоумышленник должен перебрать почти 900 триллионов хешей, вместо всего-лишь 200,000. Даже если пароль сам по себе достаточно прост, соль делает взлом паролей достаточно сложной операцией.
Соль должна быть неизвестной. Если злоумышленник знает, какая используется соль, он сразу может перейти к первому шагу. Ниже приведены несколько возможных способов взлома «посоленных» хешей.

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

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

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

Иногда такого рода программы выдают много информации.

Пункт №1: Всегда шифруйте вашу базу данных паролей.

Для того, чтобы использовать все эти виды атак, вы должны знать, при помощи какого алгоритма был посчитан хеш.
Что можно сделать, чтобы выяснить используемый алгоритм хеширования??
Ответ: Все алгоритмы генерируют хеш фиксированной длины. Поэтому на основании выходного значения вы можете прикинуть, какой алгоритм использовался☺. “Все это – достаточно известные факты”, но по-прежнему я помещаю их здесь.
Для этого я размещу небольшую таблицу для выявления хеш-функций на основе их выходного значения

Функция: md5(“входные данные”); Hash(“входные данные”); Вывод: 32 Символа Пример: “5f4dcc3b5aa765d61d8327d eb882cf99”

Функция: System.Security.Cryptogr aphy Вывод: 32 Символа Пример: “5f4dcc3b5aa765d61d8327d eb882cf99”

Функция:java.secur ity.MessageDigest Вывод: 32 Символа Пример: “5f4dcc3b5aa765d61d 8327deb882cf99”

Функция: Crypt() По-умолчанию DES вывод: 13 Символов Пример: “sih2hDu1acVcA”

Источник

Чудеса хеширования

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

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

Что такое хеш?

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

Как работает хеш?

Например, мое имя — Brian — после преобразования хеш-функцией SHA-1 (одной из самых распространенных наряду с MD5 и SHA-2) при помощи онлайн-генератора будет выглядеть так: 75c450c3f963befb912ee79f0b63e563652780f0. Как вам скажет, наверное, любой другой Брайан, данное имя нередко пишут с ошибкой, что в итоге превращает его в слово brain (мозг). Это настолько частая опечатка, что однажды я даже получил настоящие водительские права, на которых вместо моего имени красовалось Brain Donohue. Впрочем, это уже другая история. Так вот, если снова воспользоваться алгоритмом SHA-1, то слово Brain трансформируется в строку 97fb724268c2de1e6432d3816239463a6aaf8450. Как видите, результаты значительно отличаются друг от друга, даже несмотря на то, что разница между моим именем и названием органа центральной нервной системы заключается лишь в последовательности написания двух гласных. Более того, если я преобразую тем же алгоритмом собственное имя, но написанное уже со строчной буквы, то результат все равно не будет иметь ничего общего с двумя предыдущими: 760e7dab2836853c63805033e514668301fa9c47.

Читайте также:  кровь chol что это такое

Впрочем, кое-что общее у них все же есть: каждая строка имеет длину ровно 40 символов. Казалось бы, ничего удивительного, ведь все введенные мною слова также имели одинаковую длину — 5 букв. Однако если вы захешируете весь предыдущий абзац целиком, то все равно получите последовательность, состоящую ровно из 40 символов: c5e7346089419bb4ab47aaa61ef3755d122826e2. То есть 1128 символов, включая пробелы, были ужаты до строки той же длины, что и пятибуквенное слово. То же самое произойдет даже с полным собранием сочинений Уильяма Шекспира: на выходе вы получите строку из 40 букв и цифр. При всем этом не может существовать двух разных массивов данных, которые преобразовывались бы в одинаковый хеш.

Вот как это выглядит, если изобразить все вышесказанное в виде схемы:

Для чего используется хеш?

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

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

Вы даже можете провести простой эксперимент: попробуйте при помощи специального сайта произвести преобразование какого-нибудь простого пароля вроде «123456» или «password» из их хеш-значений (созданных алгоритмом MD5) обратно в текст. Вероятность того, что в базе хешей найдутся данные о введенных вами простых паролях, очень высока. В моем случае хеши слов «brain» (8b373710bcf876edd91f281e50ed58ab) и «Brian» (4d236810821e8e83a025f2a83ea31820) успешно распознались, а вот хеш предыдущего абзаца — нет. Отличный пример, как раз для тех, кто все еще использует простые пароли.

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

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

Где еще можно использовать хеш-функции помимо систем хранения паролей и защиты медиафайлов? На самом деле задач, где используется хеширование, гораздо больше, чем я знаю и тем более могу описать в одной статье. Однако есть одна особенная область применения хешей, особо близкая нам как сотрудникам «Лаборатории Касперского»: хеширование широко используется для детектирования зловредных программ защитным ПО, в том числе и тем, что выпускается нашей компанией.

Как при помощи хеша ловить вирусы?

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

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

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

Источник

Большой парольный коллайдер. Как узнать пароль по хешу без долгих вычислений

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

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

Читайте также:  красный цвет чего в психологии

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

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

Пре­дель­ный объ­ем исходных дан­ных, который может обра­ботать хеш‑фун­кция, опре­деля­ется фор­мой их пред­став­ления в алго­рит­ме. Обыч­но они записы­вают­ся как целое 64-бит­ное чис­ло, поэто­му типич­ный лимит сос­тавля­ет 2 64 бит минус еди­ница, или два экса­бай­та. Такое огра­ниче­ние пока не име­ет прак­тичес­кой зна­чимос­ти даже для очень круп­ных дата‑цен­тров.

Обыч­но хеши записы­вают­ся в шес­тнад­цатерич­ном виде. Так их гораз­до удоб­нее срав­нивать на вид, а запись получа­ется в четыре раза короче дво­ичной. Самые корот­кие хеши получа­ются при исполь­зовании Adler-32, CRC32 и дру­гих алго­рит­мов с дли­ной дай­джес­та 32 бита. Самые длин­ные — у SHA-512. Кро­ме них, сущес­тву­ет с десяток дру­гих популяр­ных хеш‑фун­кций, и боль­шинс­тво из них спо­соб­но рас­счи­тывать дай­джес­ты про­межу­точ­ной дли­ны: 160, 224, 256 и 384 бит. Попыт­ки соз­дать фун­кцию с уве­личен­ной дли­ной хеша про­дол­жают­ся, пос­коль­ку чем длин­нее дай­джест, тем боль­ше раз­ных вари­антов может сге­нери­ровать хеш‑фун­кция.

Неповторимость — залог надежности

Уни­каль­ность хеша — одно из его клю­чевых свой­ств, опре­деля­ющее крип­тостой­кость сис­темы шиф­рования. Дело в том, что чис­ло вари­антов воз­можных паролей теоре­тичес­ки бес­конеч­но, а вот чис­ло хешей всег­да конеч­ное, хоть и очень боль­шое. Дай­джес­ты любой хеш‑фун­кции будут уни­каль­ны лишь до опре­делен­ной сте­пени. Сте­пени двой­ки, если быть точ­ным. К при­меру, алго­ритм CRC32 дает мно­жес­тво все­го из 2 32 вари­антов, и в нем труд­но избе­жать пов­торений. Боль­шинс­тво дру­гих фун­кций исполь­зует дай­джес­ты дли­ной 128 или 160 бит, что рез­ко уве­личи­вает чис­ло уни­каль­ных хешей — до 2 128 и 2 160 соот­ветс­твен­но.

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

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

Псевдореверс

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

Для это­го надо сде­лать все­го ничего — рас­счи­тать 2 128 пар вида пароль — хеш или на порядок‑дру­гой боль­ше — в зависи­мос­ти от дли­ны дай­джес­та выб­ранной фун­кции. Одна­ко все эти двой­ки в чер­тов­ски боль­шой сте­пени отпу­гива­ют, толь­ко если думать о скром­ных воз­можнос­тях собс­твен­ной машины. Хорошо, что ско­рость нахож­дения пароля по его хешу сегод­ня необя­затель­но зависит от вычис­литель­ной мощ­ности компь­юте­ра самого ата­кующе­го, пос­коль­ку во мно­гих слу­чаях для это­го уже не тре­бует­ся выпол­нять дол­гий перебор. Мно­гое уже сде­лано до нас.

Ме­тоды опти­миза­ции рас­четов появ­ляют­ся бук­валь­но каж­дый год. Ими занима­ются коман­ды HashClash, Distributed Rainbow Table Generator и дру­гих меж­дународ­ных про­ектов крип­тогра­фичес­ких вычис­лений. В резуль­тате на каж­дое корот­кое сочета­ние печат­ных сим­волов или вари­ант из спис­ка типич­ных паролей хеши уже вычис­лены. Их мож­но быс­тро срав­нить с перех­вачен­ным, пока не най­дет­ся пол­ное сов­падение.

Рань­ше на это тре­бова­лись недели или месяцы про­цес­сорно­го вре­мени, которые в пос­ледние годы уда­лось сок­ратить до нес­коль­ких часов бла­года­ря мно­гоядер­ным про­цес­сорам и перебо­ру в прог­раммах с под­дер­жкой CUDA и OpenCL. Адми­ны наг­ружа­ют рас­четами таб­лиц сер­веры во вре­мя прос­тоя, а кто‑то арен­дует вир­туаль­ный клас­тер в Amazon EC2.

Искать XOR вычислять

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

В девянос­тых годах край­не популяр­ным стал алго­ритм MD5, написан­ный Рональ­дом Ривес­том. Он стал широко при­менять­ся при авто­риза­ции поль­зовате­лей на сай­тах и при под­клю­чении к сер­верам кли­ент­ских при­ложе­ний. Одна­ко его даль­нейшее изу­чение показа­ло, что алго­ритм недос­таточ­но надежен. В час­тнос­ти, он уяз­вим к ата­кам по типу псев­дослу­чай­ной кол­лизии. Ины­ми сло­вами, воз­можно пред­намерен­ное соз­дание дру­гой пос­ледова­тель­нос­ти дан­ных, хеш которой будет в точ­ности соот­ветс­тво­вать извес­тно­му.

Пос­коль­ку дай­джес­ты сооб­щений широко при­меня­ются в крип­тогра­фии, на прак­тике исполь­зование алго­рит­ма MD5 сегод­ня при­водит к серь­езным проб­лемам. Нап­ример, с помощью такой ата­ки мож­но под­делать циф­ровой сер­тификат x.509. В том чис­ле воз­можна под­делка сер­тифика­та SSL, поз­воля­ющая зло­умыш­ленни­ку выдавать свой фейк за доверен­ный кор­невой сер­тификат (CA). Более того, в боль­шинс­тве наборов доверен­ных сер­тифика­тов лег­ко най­ти те, которые по‑преж­нему исполь­зуют алго­ритм MD5 для под­писи. Поэто­му сущес­тву­ет уяз­вимость всей инфраструк­туры откры­тых клю­чей (PKI) для таких атак.

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

Бойцы облачного фронта

HashKiller не дру­жит с кирил­лицей, но зна­ет кирил­личес­кие пароли «Убий­ца хешей» нашел три пароля из пяти за пол­секун­ды

Читайте также:  косопт и ксалатан что лучше

2. «Крэк‑стан­ция» под­держи­вает работу с хешами прак­тичес­ки всех реаль­но исполь­зуемых типов. LM, NTLM, MySQL 4.1+, MD2/4/5 + MD5-half, SHA-160/224/256/384/512, ripeMD160 и Whirlpool. За один раз мож­но заг­рузить для ана­лиза до десяти хешей. Поиск про­водит­ся по индекси­рован­ной базе. Для MD5 ее объ­ем сос­тавля­ет 15 мил­лионов пар (око­ло 190 Гб) и еще при­мер­но по 1,5 мил­лиона для каж­дой дру­гой хеш‑фун­кции.

«Крэк‑стан­ция» находит мно­гие сло­вар­ные пароли даже по хешам NTLM

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

«Крэк‑стан­ция» с тру­дом вскры­вает слу­чай­ные пароли дли­ной от пяти сим­волов даже по LM-хешам

3. CloudCracker.net — бес­плат­ный сер­вис мгно­вен­ного поис­ка паролей по хешам MD5 и SHA-1. Тип дай­джес­та опре­деля­ется авто­мати­чес­ки по его дли­не. Пока CloudCracker находит соот­ветс­твия толь­ко хешам некото­рых англий­ских слов и рас­простра­нен­ных паролей, вро­де admin123. Даже корот­кие пароли из слу­чай­ных наборов сим­волов типа D358 он не вос­ста­нав­лива­ет по дай­джес­ту MD5.

«Облачный крэ­кер» мгно­вен­но находит сло­вар­ные пароли по их хешам

4. Сер­вис MD5Decode.com содер­жит базу паролей, для которых извес­тны зна­чения MD5. Он так­же показы­вает все осталь­ные хеши, соот­ветс­тву­ющие най­ден­ному паролю: MD2, MD4, SHA (160–512), RIPEMD (128–320), Whirlpool-128, Tiger (128–192 в 3–4 про­хода), Snefru-256, GOST, Adler-32, CRC32, CRC32b, FNV (132/164), JOAAT 8, HAVAL (128–256 в 3–5 про­ходов). Если чис­ло про­ходов не ука­зано, то фун­кция вычис­ляет хеш в один про­ход.

Собс­твен­ного поис­ка на сай­те пока нет, но пароль или его хеш мож­но написать пря­мо в адресной стро­ке бра­узе­ра, добавив его пос­ле адре­са сай­та и пре­фик­са /encrypt/.

Сер­вис MD5Decode зна­ет все типы хешей от сло­вар­ных паролей

5. Про­ект с говоря­щим наз­вани­ем MD5Decrypt.org тоже поз­воля­ет най­ти соот­ветс­твие толь­ко меж­ду паролем и его хешем MD5. Зато у него есть собс­твен­ная база из 10 мил­лионов пар и авто­мати­чес­кий поиск по 23 базам дру­жес­твен­ных сай­тов. Так­же на сай­те име­ется хеш‑каль­кулятор для рас­чета дай­джес­тов от вве­ден­ного сооб­щения по алго­рит­мам MD4, MD5 и SHA-1.

MD5Decrypt находит сос­тавные сло­вар­ные пароли, но хеши на ана­лиз при­нима­ет толь­ко по одно­му

Еще один сайт, MD5Lab.com, получил хос­тинг у CloudFare в Сан‑Фран­циско. Искать по нему пока неудоб­но, хотя база рас­тет доволь­но быс­тро. Прос­то возь­ми на замет­ку.

Ищем хеши Гуглом

Да­леко не все сер­висы готовы пре­дос­тавить услу­гу поис­ка паролей по хешам бес­плат­но. Где‑то тре­бует­ся регис­тра­ция и кру­тит­ся тон­на рек­ламы, а на мно­гих сай­тах мож­но встре­тить и объ­явле­ния об услу­ге плат­ного взло­ма. Часть из них дей­стви­тель­но исполь­зует мощ­ные клас­теры и заг­ружа­ет их, ста­вя прис­ланные хеши в оче­редь заданий, но есть и обыч­ные прой­дохи. Они выпол­няют бес­плат­ный поиск за день­ги, поль­зуясь неос­ведом­ленностью потен­циаль­ных кли­ентов.

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

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

Универсальный подход

Сре­ди десят­ка хеш‑фун­кций наибо­лее популяр­ны MD5 и SHA-1, но точ­но такой же под­ход при­меним и к дру­гим алго­рит­мам. К при­меру, файл реес­тра SAM в ОС семей­ства Windows по умол­чанию хра­нит два дай­джес­та каж­дого пароля: LM-хеш (уста­рев­ший тип на осно­ве алго­рит­ма DES) и NT-хеш (соз­дает­ся путем пре­обра­зова­ния юни­код­ной записи пароля по алго­рит­му MD4). Дли­на обо­их хешей оди­нако­ва (128 бит), но стой­кость LM зна­читель­но ниже из‑за мно­жес­тва упро­щений алго­рит­ма.

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

Да­лее взлом­щик может най­ти пос­ледова­тель­ность сим­волов, которая соот­ветс­тву­ет хешу адми­нис­тра­тора. Так он получит пол­ный дос­туп к ОС и оста­вит в ней мень­ше сле­дов, чем при гру­бом взло­ме с помощью баналь­ного сбро­са пароля. Напоми­наю, что из‑за эффекта кол­лизии под­ходящий пароль не обя­затель­но будет таким же, как у реаль­ного вла­дель­ца компь­юте­ра, но для Windows раз­ницы меж­ду ними не будет вов­се. Как пела груп­па Bad Religion, «Cause to you I’m just a number and a clever screen name».

Ана­логич­ная проб­лема сущес­тву­ет и в дру­гих сис­темах авто­риза­ции. Нап­ример, в про­токо­лах WPA/WPA2, широко исполь­зуемых при соз­дании защищен­ного под­клю­чения по Wi-Fi. При соеди­нении меж­ду бес­про­вод­ным устрой­ством и точ­кой дос­тупа про­исхо­дит стан­дар­тный обмен началь­ными дан­ными, вклю­чающи­ми в себя handshake. Во вре­мя «рукопо­жатия» пароль в откры­том виде не переда­ется, но в эфир отправ­ляет­ся ключ, осно­ван­ный на хеш‑фун­кции. Нуж­ные пакеты мож­но перех­ватить, перек­лючив с помощью модифи­циро­ван­ного драй­вера при­емник адап­тера Wi-Fi в режим монито­рин­га. Более того, в ряде слу­чаев мож­но не ждать момен­та сле­дующе­го под­клю­чения, а ини­циали­зиро­вать эту про­цеду­ру при­нуди­тель­но, отпра­вив широко­веща­тель­ный зап­рос deauth всем под­клю­чен­ным кли­ентам. Уже в сле­дующую секун­ду они попыта­ются вос­ста­новить связь и нач­нут серию «рукопо­жатий».

Сох­ранив файл или фай­лы с хен­дшей­ком, мож­но выделить из них хеш пароля и либо узнать сам пароль, либо най­ти какой‑то дру­гой, который точ­ка дос­тупа при­мет точ­но так же. Мно­гие онлай­новые сер­висы пред­лага­ют про­вес­ти ана­лиз не толь­ко чис­того хеша, но и фай­ла с записан­ным хен­дшей­ком. Обыч­но тре­бует­ся ука­зать файл pcap и SSID выб­ранной точ­ки дос­тупа, так как ее иден­тифика­тор исполь­зует­ся при фор­мирова­нии клю­ча PSK.

Про­верен­ный ресурс CloudCracker.com, о котором в пос­ледние годы писали все кому не лень, по‑преж­нему хочет за это денег. GPUHASH.me при­нима­ет бит­коины. Впро­чем, есть и бес­плат­ные сай­ты с подоб­ной фун­кци­ей. Нап­ример, DarkIRCop.

По­ка с помощью онлай­новых сер­висов и радуж­ных таб­лиц находят­ся далеко не все пары хеш — пароль. Одна­ко фун­кции с корот­ким дай­джес­том уже побеж­дены, а корот­кие и сло­вар­ные пароли лег­ко обна­ружить даже по хешам SHA-160. Осо­бен­но впе­чат­ляет мгно­вен­ный поиск паролей по их дай­джес­там с помощью Гуг­ла. Это самый прос­той, быс­трый и совер­шенно бес­плат­ный вари­ант.

Источник

Образовательный портал