Где-то в 2014 году в дампах исходного дерева BSD 3 я нашёл файл /etc/passwd с паролями всех ветеранов, таких как Деннис Ричи, Кен Томпсон, Брайан В. Керниган, Стив Борн и Билл Джой.
Для этих хэшей использовался алгоритм crypt(3) на основе DES — известный своей слабостью (и с длиной пароля максимум 8 символов). Поэтому я подумал, что будет легко взломать эти пароли ради удовольствия.
Берём стандартные брутеры john и hashcat.
Довольно быстро я взломал много паролей, большинство из которых были очень слабыми (любопытно, что bwk использовал пароль /.,/.,,
— его легко набрать на клавиатуре QWERTY).
Но пароль Кена не поддавался взлому. Даже полный перебор всех строчных букв и цифр (несколько дней в 2014 году) не дал результата. Поскольку алгоритм разработан Кеном Томпсоном и Робертом Моррисом, мне было интересно, в чём тут дело. Я также понял, что, по сравнению с другими схемами хэширования паролей типа NTLM, crypt(3) довольно медленно брутится (возможно, и менее оптимизирован).
Неужели он использовал прописные буквы или даже специальные символы? (7-битный полный брутфорс займёт более двух лет на современном GPU).
В начале октября эту тему снова подняли в списке рассылки The Unix Heritage Society, и я поделился своими результатами и разочарованием, что не смог взломать пароль Кена.
Наконец, сегодня Найджел Уильямс раскрыл эту тайну:
От: Найджел Уильямс <nw@retrocomputingtasmania.com>
Тема: Re: [TUHS] Восстановление файлов /etc/passwdКен готов:
ZghOT0eRm4U9s:p/q2-q4!
Потребовалось более четырёх дней на AMD Radeon Vega64 в hashcat примерно на 930MH/с (знающие в курсе, что хэшрейт колеблется и снижается к концу).
Это первый ход пешкой на две клетки в шахматной нотации, и начало многих типичных дебютов, что очень хорошо вписывается в бэкграунд Кена Томпсона по компьютерным шахматам.
Очень рад, что тайна разрешилась, а результат такой приятный.
Автор: m1rko