Xakep #305. Многошаговые SQL-инъекции
Утечка базы данных сайта знакомств Ashley Madison с 36+ миллионами парольных хешей прибавила работы парольным взломщикам. Теоретически, шифрование с помощью хеш-функции bcrypt считается достаточно надежным, но хакерская группа CynoSure Prime изучила исходный код и обнаружила: 15,26 млн паролей обработано с применением MD5, что на несколько порядков облегчает брутфорс. В результате, с 31 августа по 10 сентября 2015 года было расшифровано более 11,2 млн парольных хешей.
Сами хеши шифровались bcrypt, но исходный код показал, что для создания переменной $loginkey
применялись два небезопасных метода с использованием MD5. Таким образом, вместо брутфорса хешей bcrypt напрямую, чем сейчас занимается весь интернет, хакеры направили усилия на брутфорс слабых токенов md5(lc($username).”::”.lc($pass))
и md5(lc($username).”::”.lc($pass).”:”.lc($email).”:73@^bhhs&#@&^@8@*$”)
.
Во-первых, из кода в файле amlib_member_create.function.php
(строки 69, 70) стало понятно, что переменная $loginkey
генерируется MD5-хешированием имени пользователя и пароля в нижнем регистре. До изменения в коде 14 июня 2012 кода все хеши можно открыть, просто взломав соленый MD5.
Похожим образом работает другой метод генерации $loginkey
, прописанный в коде AccountProvider.php
.
Статистика работы CynoSure Prime
Взломано: 11 279 199 хешей bcrypt
Не совпало: 238 476 хешей bcrypt, причины неизвестны
Осталось обработать: 3 997 325 токенов
Для брутфорса профессионалы используют различное оборудование и софт, в том числе программу MDXfind.
Хакерская группа не выложила расшифрованные пароли, но любой желающий может добыть их самостоятельно, следуя опубликованным инструкциям.