[Перевод] Unix-пароль Кена Томпсона

?v=1

Где-то в 2014 году в дампах исходного дерева BSD 3 я нашёл файл /etc/passwd с паролями всех ветеранов, таких как Деннис Ричи, Кен Томпсон, Брайан В. Керниган, Стив Борн и Билл Джой.

Для этих хэшей использовался алгоритм crypt (3) на основе DES — известный своей слабостью (и с длиной пароля максимум 8 символов). Поэтому я подумал, что будет легко взломать эти пароли ради удовольствия.

Берём стандартные брутеры john и hashcat.
Довольно быстро я взломал много паролей, большинство из которых были очень слабыми (любопытно, что bwk использовал пароль /.,/.,, — его легко набрать на клавиатуре QWERTY).

Но пароль Кена не поддавался взлому. Даже полный перебор всех строчных букв и цифр (несколько дней в 2014 году) не дал результата. Поскольку алгоритм разработан Кеном Томпсоном и Робертом Моррисом, мне было интересно, в чём тут дело. Я также понял, что, по сравнению с другими схемами хэширования паролей типа NTLM, crypt (3) довольно медленно брутится (возможно, и менее оптимизирован).

Неужели он использовал прописные буквы или даже специальные символы? (7-битный полный брутфорс займёт более двух лет на современном GPU).

В начале октября эту тему снова подняли в списке рассылки The Unix Heritage Society, и я поделился своими результатами и разочарованием, что не смог взломать пароль Кена.

Наконец, сегодня Найджел Уильямс раскрыл эту тайну:

От: Найджел Уильямс
Тема: Re: [TUHS] Восстановление файлов /etc/passwd

Кен готов:

ZghOT0eRm4U9s: p/q2-q4!

Потребовалось более четырёх дней на AMD Radeon Vega64 в hashcat примерно на 930MH/с (знающие в курсе, что хэшрейт колеблется и снижается к концу).


Это первый ход пешкой на две клетки в шахматной нотации, и начало многих типичных дебютов, что очень хорошо вписывается в бэкграунд Кена Томпсона по компьютерным шахматам.

Очень рад, что тайна разрешилась, а результат такой приятный.

© Habrahabr.ru