45 секунд Вот сколько времени понадобилось для взлома 53% общедоступной базы паролей ABC. Это более половины из почти 50 000 паролей, которые были опубликованы сегодня . Как были раскрыты пароли (среди прочих данных), еще предстоит выяснить, но теперь мы точно знаем, что механизм, который ABC использовал для защиты этих учетных данных, был крайне неадекватным. Вот как это было сделано:
Во-первых, свалка состоит из 10 частей, перечисленных на Pastebin . Всего насчитывается чуть менее 50 000 записей со следующими атрибутами:
- Идентификатор пользователя
- user_age
- user_town
- user_nick
- user_regip
- addedtomap
- user_email
- user_gender
- isModerator
- пользовательский пароль
- user_updateip
- hhscore_score
- user_postcode
- postcode_state
- user_lastLogin
- user_statusText
- user_info_public
- user_regDateTime
- hhscore_testDate
- user_latitude_min
- user_latitude_max
- user_longitude_min
- user_info_approved
- user_longitude_max
- user_statusFlagged
- user_updateDateTime
- user_statusDateTime
Некоторые из них довольно интересны, и я могу вернуться к ним в следующем посте, но сейчас давайте сосредоточимся на столбце user_password. Он содержит данные, которые выглядят примерно так:
- 7907c2d05ed0039357d08433049877341e2b635d
- 08207f637617d60a7f5d478ebab54e5e9d160dff
- f7a9e24777ec23212c54d7a350bc5bea5477fdbb
- ef9e6d538efda4b736776330850218adc2f8e6b1
- ae5728815eff76b748cddab86f926642c5d168dd
- 96f0878719d2d667ecf68687f3b93d29af64ac14
- 7323517c3c74dea82eb14a152110f5f8e8575c28
Здесь у нас есть хэши или, другими словами, результат одностороннего криптографического процесса. Если все сделано правильно, хеши обеспечивают хорошую защиту в случае взлома данных (например, того, что у нас здесь есть), поскольку они не могут быть хешированы . Если все сделано неправильно, хэши можно пересчитать в массовом порядке и эффективно «взломать», таким образом раскрывая исходный текстовый пароль. Это также то, что мы получили здесь.
Прежде чем что-то взломать, нам нужно знать, какой алгоритм хеширования использовался и была ли использована соль (которая добавляет случайность). Найти алгоритм хеширования было просто; скопируйте один из хэшей, найдите его в Google, и результат был найден во втором, который я искал. Вот что я имею в виду — возьмите хеш пароля следующим образом: fece64332bc17e695b7c498cc9858eebe7ae409f
Выберите один из результатов :
И вот, у вас это есть — зашифрованный текст — это хэш SHA1 169400. Это работает, потому что, во-первых, существует огромное количество хешей и их простых текстовых эквивалентов, а во-вторых, потому что ошибочные люди повторно используют пароли, поэтому это не займет много времени, найти тот, который уже был использован — и взломан и опубликован — в предыдущем нарушении. Другая вещь, которую это показывает нам, — то, что нет соли, которая является фундаментальным недосмотром разработчиков системы.
Из 49 561 паролей в нарушении 41 585 из них были уникальными или, другими словами, около 8000 паролей использовались более чем одним человеком. Поскольку соли не было, случайностей для каждого пароля не было, поэтому, когда два человека используют один и тот же пароль, вы получаете один и тот же хеш. Все это еще проще взломать, так как цифры уменьшаются
Отсюда взлом пароля исключительно прост. Я следовал тому же процессу, что и в прошлом году в своем посте о том, что у нашего хэширования паролей нет одежды, где я успешно взломал десятки тысяч соленых хэшей за мгновение. Этот случай еще проще, поскольку здесь нет соли, и он просто включает сохранение всех этих уникальных хэшей в файл с именем abchashes.txt, а затем с использованием того же словаря паролей хэш-киллера, который я использовал в вышеупомянутом примере. Затем я использовал hashcat с простой командой для взлома хэшей SHA1:
oclHashcat-plus64.exe -m 100 abchashes.txt hashkiller.com.dic
Вот что произошло дальше:
Видите строку «Восстановлено»? Это 18406 хешей, извлеченных из 41 585 уникальных хэшей из дампа. Другими словами, 23 179 (менее половины свалки) не удалось восстановить. Но эй, это неплохо, когда вы смотрите на строку «Time.Started» и видите 45 секунд для продолжительности! В большем словаре (у меня «только» было 23 миллиона слов в этом) или в мутациях с заменой регистра или символа, и вы имели бы гораздо более высокий показатель успеха. 45 секунд — более половины, несколько часов — или даже дней — и у вас будет очень, очень значительная часть паролей.
Вот как в конечном итоге выглядит вывод из hashcat:
- 71ede320c5ec9d7551b0f12e0e62e6912b2d9a32: 000111222
- 68cbbe7db52ebfdb3ae38f54484a71c536ae1809: @ # 123qwe
- 004c5f9c1491b0bd0b88260b8e3854038f66b2ed: $ p0ng3b0b
- 11b5d7225c43267a0776dbe71174abd8c7e16fd6: 00003796
- c0be05fd3dfd1c390f073a618c8f706ad3f4e8a9: 02062002
- 88bce010e57c66e450d1318ecd21a70be3cd7e7a: 07121991
- 613d195350bf80d3310b154bce2345d9eb0ed314: * Какаду *
Здесь вы видите оригинальный хеш, двоеточие, а затем текстовый пароль. Теперь это просто вопрос загрузки этого файла обратно в базу данных, сопоставления хэша с взломом, и вот он у вас — оригинальный пароль рядом с именем пользователя и другие детали для значительной части базы данных.
Ранее сегодня ABC опубликовал статью под названием ABC, чтобы связаться с пользователями после взлома сайта «Australia Australia Happy» . Отсюда видно, что нарушение относится к программе, которая транслировалась несколько лет назад, а не к основному веб-сайту ABC, так что это для них некоторое облегчение. Конечно, независимо от этого, они в конечном счете подотчетны или, по крайней мере, должны были иметь личную заинтересованность в безопасности, поскольку теперь они явно в заголовках. Кроме того, независимо от программы, транслируемой несколько лет назад, в дампе есть записи с датами, начиная с воскресенья, поэтому очевидно, что сайт все еще активен.
В конечном счете, это просто еще один пример небрежного развития, пропущенного из-за отсутствия процесса безопасности (каких-либо процессов безопасности?), И, к сожалению, для ABC, теперь им приходится нести на себе этот удар. К сожалению, для пользователей, находящихся в нарушении, теперь им приходится иметь дело с реальностью того, что их учетные данные — те же самые, которые так много людей используют во многих других местах — находятся в дикой природе и очень, очень легко доступны. Это очень неудачный беспорядок для всех участников.