Статьи

Паршивая криптография ABC, взломанная за считанные секунды при вскрытии австралийских паролей

45 секунд Вот сколько времени понадобилось для взлома 53% общедоступной базы паролей ABC. Это более половины из почти 50 000 паролей, которые были  опубликованы сегодня . Как были раскрыты пароли (среди прочих данных), еще предстоит выяснить, но теперь мы точно знаем, что механизм, который ABC использовал для защиты этих учетных данных, был крайне неадекватным. Вот как это было сделано:

Во-первых, свалка состоит из 10 частей,  перечисленных на Pastebin . Всего насчитывается чуть менее 50 000 записей со следующими атрибутами:

  1. Идентификатор пользователя
  2. user_age
  3. user_town
  4. user_nick
  5. user_regip
  6. addedtomap
  7. user_email
  8. user_gender
  9. isModerator
  10. пользовательский пароль
  11. user_updateip
  12. hhscore_score
  13. user_postcode
  14. postcode_state
  15. user_lastLogin
  16. user_statusText
  17. user_info_public
  18. user_regDateTime
  19. hhscore_testDate
  20. user_latitude_min
  21. user_latitude_max
  22. user_longitude_min
  23. user_info_approved
  24. user_longitude_max
  25. user_statusFlagged
  26. user_updateDateTime
  27. user_statusDateTime

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

  1. 7907c2d05ed0039357d08433049877341e2b635d
  2. 08207f637617d60a7f5d478ebab54e5e9d160dff
  3. f7a9e24777ec23212c54d7a350bc5bea5477fdbb
  4. ef9e6d538efda4b736776330850218adc2f8e6b1
  5. ae5728815eff76b748cddab86f926642c5d168dd
  6. 96f0878719d2d667ecf68687f3b93d29af64ac14
  7. 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:

  1. 71ede320c5ec9d7551b0f12e0e62e6912b2d9a32: 000111222
  2. 68cbbe7db52ebfdb3ae38f54484a71c536ae1809: @ # 123qwe
  3. 004c5f9c1491b0bd0b88260b8e3854038f66b2ed: $ p0ng3b0b
  4. 11b5d7225c43267a0776dbe71174abd8c7e16fd6: 00003796
  5. c0be05fd3dfd1c390f073a618c8f706ad3f4e8a9: 02062002
  6. 88bce010e57c66e450d1318ecd21a70be3cd7e7a: 07121991
  7. 613d195350bf80d3310b154bce2345d9eb0ed314: * Какаду *

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

Ранее сегодня ABC опубликовал статью под названием  ABC, чтобы связаться с пользователями после взлома сайта «Australia Australia Happy» . Отсюда видно, что нарушение относится к программе, которая транслировалась несколько лет назад, а не к основному веб-сайту ABC, так что это для них некоторое облегчение. Конечно, независимо от этого, они в конечном счете подотчетны или, по крайней мере, должны были иметь личную заинтересованность в безопасности, поскольку теперь они явно в заголовках. Кроме того, независимо от программы, транслируемой несколько лет назад, в дампе есть записи с датами, начиная с воскресенья, поэтому очевидно, что сайт все еще активен.

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