Как я стал взломщиком паролей. Часть 3. Первое попадание
Я начал с мода атаки 0 («straight»), который заключается в том, что берет текстовые вводные из вордлиста, хэширует их и пытается сравнить их с хэшами паролей. Я терпел неудачи до тех пор, пока не осознал, что Hashcat не содержит в себе никаких встроенных вордлистов (для сравнения, John the Ripper поставляется сразу с 4,1-миллионным списком слов); и ничего не могло произойти, пока я не найду хотя бы один такой список. К счастью, из статьи Дэна я знаю, что самый большой и самый крутой вордлист можно взять у взломанной игровой компании RockYou. В 2009 из RockYou, благодаря хакерам, утекло 14,5 миллионов уникальных паролей.
Как Дэн сообщил, «После случая с RockYou все изменилось. До этого вордлисты составлялись из Webster и других словарей, материал которых потом изменялся в попытке соответствовать словам, которые люди используют для доступа к своей электронной почте и другим онлайн-сервисам. И на место этих списков встала единая коллекция букв, чисел и символов, которая включает все от имен питомцев до любимых персонажей мультфильмов и которая дала почву для будущих успешных взломов паролей». Забудьте сомнения - RockYou дал нам список паролей, которые создавали миллионы реальных людей.
Поиск файла RockYou занял у меня три минуты. Я указал Hashcat на файл и начал взлом моих 15000 тысяч хэшей. Программа запустилась и все равно ничего не взломала.
После чего, устав от попыток придумать собственный способ взлома паролей, я начал шерстить интернет на предмет примеров использования Hashcat другими людьми. И закончил я этот поиск прочтением поста Роберта Дэвида Грэма из Errata Security. В 2012, Грэм пытался взломать 6,5 миллионов хэшей в ходе знаменитого взлома социальной сети LinkedIn. Он использовал для этого Hashcat и задокументировал весь процесс на корпоративном блоге. Бинго!
Боб начал с того же первого шага, что и я - пропустил весь список паролей RockYou через 6,5 миллионов хэшей. Теперь я знал, что нахожусь на правильном пути. Как и в случае с моей попыткой, Грэмовская прямолинейная атака через словарь не дала значительного числа совпадений: их оказалось только 93. Не важно, кто взломал LinkedIn, это произошло. Боб применил наиболее распространенные атаки против списка хэшей и убрал те, которые было легко найти. Все, что осталось, требовало лишь больших усилий.
Впрочем, такая же отбраковка была сделана и с моим хэш-листом хакером - упс, конечно же, я имел ввиду, специалистом по восстановлению. Он дал мне список только тех хэшей, которые не слишком просто взломать. Это может объяснить мою неудачу и, я думаю, тот азарт, с которым я спустя два часа бесплодных попыток продолжал убеждать себя в том, что я не так плох, как на самом деле был. В итоге я был в одной лодке с таким исследователем, как Грэм, и к этому месту мы доплыли по одному пути, останавливаясь в тех же портах, сталкиваясь с теми же сложными условиями в море.
Следующим шагом Грэма было применение «правил» к словарю RockYou. Эти правила значительно расширяют эффективность конкретного вордлиста благодаря созданию вариаций слов, которые могут быть использованы для создания чьего-то пароля. Для примера, одно правило может взять любое слово из вордлиста и добавить две цифры, начиная от 00 и уходя в прогрессии до 99. Это превращает любой пароль в массив от «arstechnica00» до «arstechnica99». Люди наиболее часто формируют пароли таким образом, поэтому такой фильтр должно произвести много попаданий, но ценой стократного увеличения необходимого числа попыток.
Все серьезные программы по взлому паролей могут использовать такие правила, но формат создания их немного различается, кроме того, чтобы создать хорошие фильтры, ты в первую очередь должен знать наиболее распространенные формирования паролей. Пока я мог предположить только несколько из них, я был далек от того, чтобы считаться экспертом. Да и в любом случае мне необходимо было провести несколько часов, изучая как перевести мои собственные ужасные фильтры в надлежащий синтаксис Hashcat. К счастью, мне не пришлось.
Hashcat поставляется со встроенными наборами фильтров. Это текстовые файлы с именами наподобие «d3ad0ne.rule» или «T0XIC.rule». Грэм начал с «best64.rule», имя которого подсказывает, что в нем содержатся наиболее эффективные фильтры. Я также начал с них.
В bets64.rules каждое слово из вордлиста сначала хэшировано без всякого изменения, а затем начинается все веселье. Сперва изменения простые: каждое слово пишется наоборот, или что-нибудь в этом духе. Затем идет "простое добавление чисел", которое добавляет одну цифру (0-9) к концу каждого слова. После этого на сцену выходит «специальное добавление чисел», которое подбирает 14 специальных комбинаций, которые чаще всего появляются на конце паролей.
К каждой записи в вордлисте затем прибавляется на конце «e», затем «s». После этого идет «наиболее частая замена», которая замещает последние несколько букв каждого слова наиболее распространенными окончаниями, найденными среди паролей (-er, -y, -123, -man, -dog).
Следующими идут наиболее частые приставки (наиболее частый элемент в начале: «1»), которые заменяют начало слова. Каждый элемент вордлиста становится кодом, где "о" меняется на «0», «i» на «!» и «е» на «3». Со слов снимается удвоение, наиболее часто используемые суффиксы, буквы в каждом слове меняются местами.
Финальный набор фильтров называется просто «unknown» и показывает насколько полным синтаксис фильтров может быть:
Я в очередной раз проверил, что метод моей атаки оставался «straight», убедился, что мной выбран вордлист - RockYou, и установил фильтры из best64.rule. Если бы эта атака не дала бы мне ни одного результата, я бы провел остаток своего дня в поисках бутылки. Я кликнул названную без лишней скромности кнопку "Нажми меня, я настаиваю" для начала атаки и откинулся в кресле в ожидании.
3 секунды спустя весь набор отфильтрованных вариантов прогнался по моему MD5.txt файлу, и я засек успешное совпадение. Я спешно открыл текстовый файл с хэшами, чтобы увидеть мой первый взломанный пароль «czacza».
Я чувствовал себя Богом среди людей, колоссом взлома паролей, блуждающим среди мира смертных. Секреты хэша были моими!
Но пока я ликовал по поводу обретения нового мощного опыта, в мою голову закралось сомнение: может ли кто-нибудь знающий Секреты хэша взломать более, чем 1 из 16051 хэшей используя атаку с помощью словаря RockYou. Грэм, к слову, выцепил 688000, используя ту же самую технику, и это было сделано на базе хэшей, уже лишившейся наиболее распространенных паролей. «Czacza» на этом фоне смотрелся немного слабым.
Но теперь у меня была рабочая система, оставалось только отыскать, почему это не работает нормально.
Оглавление
Часть 2. Восстановление паролей
Часть 6. Ускорение и замедление
Часть 7. Наставить на себя пушку
Перевод статьи: http://arstechnica.com/security/2013/03/how-i-became-a-password-cracker/
О компании StarForce
Компания «Протекшен Технолоджи» (торговая марка StarForce) – ведущий российский разработчик программных решений в области контроля и защиты программ и электронной информации от утечек, копирования и нелегального распространения. С 2000 года компания разрабатывает и внедряет ультрасовременные технологические решения, защищенные соответствующими патентами РФ, США и Канады, что позволяет обеспечить охрану интеллектуальной собственности и авторских прав во всем мире.
Являясь экспертом в области защиты цифровой информации и программного обеспечения от утечек, копирования, взлома и несанкционированного распространения, компания разработала собственную систему Управления Цифровыми Правами (StarForce DRM), открывающую перед нашими клиентами широчайшие возможности по доставке цифрового контента и слежению за продажами. Технологии StarForce внедрены в таких компаниях как РЖД, Corel, 1С, Mail.ru, Аэрофлот, SUN InBev Russia, АМД Лаборатории, ATC International, МедиаХауз, Руссобит-М, Новый Диск, Бука, Snowball, 2Play, GFI, CENEGA, Akella и в ряде других.
Контакты для прессы:
pr@star-force.com