Месяц назад в открытый доступ попали более 36 млн парольных хешей пользователей сайта для супружеских измен Ashley Madison. Скачать базу можно, например, с этого торрента (также дамп № 2 и дамп № 3 в даркнете через гейт).
Пароли обработаны хеш-функций bcrypt. На первый взгляд, такая защита кажется относительно надёжной. Но специалисты из хакерской группы CynoSure Prime решили не тупо брутфорсить bcrypt, а покопаться в исходном коде бэкенда и фронтенда Ashley Madison (исходники доступны по вышеуказанному торренту). Они изучили непосредственно алгоритм хеширования.
Поиск в исходниках дал результат. Как выяснилось, сами хеши шифровались 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 разгласила интересную статистику по паролям Ashley Madison.
Во-первых, вот Топ-100 самых популярных паролей и количество вхождений каждого из них.
Топ-100 самых популярных паролей
Пароль | Количество пользователей |
---|---|
123456 | 120511 |
12345 | 48452 |
password | 39448 |
DEFAULT | 34275 |
123456789 | 26620 |
qwerty | 20778 |
12345678 | 14172 |
abc123 | 10869 |
pussy | 10683 |
1234567 | 9468 |
696969 | 8801 |
ashley | 8793 |
fuckme | 7893 |
football | 7872 |
baseball | 7710 |
fuckyou | 7458 |
111111 | 7048 |
1234567890 | 6572 |
ashleymadison | 6213 |
password1 | 5959 |
madison | 5219 |
asshole | 5052 |
superman | 5023 |
mustang | 4865 |
harley | 4815 |
654321 | 4729 |
123123 | 4612 |
hello | 4425 |
monkey | 4296 |
000000 | 4240 |
hockey | 4191 |
letmein | 4140 |
11111 | 4077 |
soccer | 3936 |
cheater | 3908 |
kazuga | 3871 |
hunter | 3869 |
shadow | 3831 |
michael | 3743 |
121212 | 3713 |
666666 | 3704 |
iloveyou | 3671 |
qwertyuiop | 3599 |
secret | 3522 |
buster | 3402 |
horny | 3389 |
jordan | 3368 |
hosts | 3295 |
zxcvbnm | 3280 |
asdfghjkl | 3174 |
affair | 3156 |
dragon | 3152 |
987654 | 3123 |
liverpool | 3087 |
bigdick | 3058 |
sunshine | 3058 |
yankees | 2995 |
asdfg | 2981 |
freedom | 2963 |
batman | 2935 |
whatever | 2882 |
charlie | 2860 |
fuckoff | 2794 |
money | 2686 |
pepper | 2656 |
jessica | 2648 |
asdfasdf | 2617 |
1qaz2wsx | 2609 |
987654321 | 2606 |
andrew | 2549 |
qazwsx | 2526 |
dallas | 2516 |
55555 | 2501 |
131313 | 2498 |
abcd1234 | 2489 |
anthony | 2487 |
steelers | 2470 |
asdfgh | 2468 |
jennifer | 2442 |
killer | 2407 |
cowboys | 2403 |
master | 2395 |
jordan23 | 2390 |
robert | 2372 |
maggie | 2357 |
looking | 2333 |
thomas | 2331 |
george | 2330 |
matthew | 2298 |
7777777 | 2294 |
amanda | 2273 |
summer | 2263 |
qwert | 2263 |
princess | 2258 |
ranger | 2252 |
william | 2245 |
corvette | 2237 |
jackson | 2227 |
tigger | 2224 |
computer | 2212 |
Дальше — интереснее. Анализ показал, что более 630 000 паролей совпадают с именем пользователя. То есть даже без эксплуатации слабости в алгоритме хеширования эти пароли легко восстановить.
А вот самые интересные пароли. Они не вошли в список Топ-100 популярных, зато показывают забавный образ мышления некоторых пользователей. Список просто для развлечения.
Эти думают, что добавление нескольких слов делают пароль надёжнее
mypasswordispassword
superhardpassword
thebestpasswordever
thisisagoodpassword
Сомневаются в своём решении зарегистрироваться на сайте для адюльтера
ishouldnotbedoingthis
ithinkilovemywife
thisiswrong
whatthehellamidoing
whyareyoudoingthis
cheatersneverprosper
donteventhinkaboutit
isthisreallyhappening
Обман без колебаний
likeimreallygoingtocheat
justcheckingitout
justtryingthisout
goodguydoingthewrongthing
Перепутали сайт для измен с сайтов знакомств
lookingfornewlife
friendswithbenefits
Сомневаются в профессионализме хакеров
youwillneverfindout
youwillnevergetthis
secretissafewithme
Пароли из комикса xkcd (https://xkcd.com/936/)
batteryhorsestaple
correcthorsebatterystaple
Кто-то предвидел активность хакеров и хочет спрятаться
nothingfound
theywererobots
nobodyhere
Другие приколы
everynameitriedwastaken
allthegoodpasswordshavegone
lickemlikeshelikesit
lildickinyourpussyn0w
satisfactionwithlicking
blackfromthewaistdown
smalldickbuthardworker
qw1
Но как? Пароль типа «allthegoodpasswordshavegone» это 27 знаков, 2627 вариантов.
Можно взломать MD5 без перебора?
lorc
Словарная атака. Плюс возможно радужные таблицы.
Так что allthegoodpasswordshavegone — это не 26^27 вариантов. Это около 10000^6 вариантов. Что тоже много, но намного меньше.
А на самом деле 10 000 слов — это активный словарь образованного человека. Так что на самом деле можно взять словарь например из 2000 слов и не прогадать.
kampaster
Комбинированная атака по словарям — предназначена для поиска паролей, состоящих из 2,3 и более слов.
Тем более пароли из примеров одного регистра — вообще просто подбирать.
openkazan
http://www.hashkiller.co.uk/md5-decrypter.aspx (We have a total of just over 43.745 billion unique decrypted MD5 hashes since August 2007.) Сюда введите хэшев штук 20 своих пользователей вашего проекта (там ждать пару секунд или меньше). И просто ответьте сколько вышло, сколько нет.
Ну и сдесь можете попробовать: http://md5.gromweb.com/ Хотя и говорят, что центровой, но или Звезды надо мной не так лежат или что, но не торт…