Хэш без соли
Задание 1Введение
Цель: Почему быстрые хэши без соли не защищают пароли.
Из утёкшей базы достали хэш пароля. Хэш — MD5 без соли. Известно, что пароль есть в словаре. Флаг — CTF{пароль}.
Задание 2Теория и инструменты
Хэш — односторонняя функция, но MD5 считается миллиарды раз в секунду. Атакующий просто хэширует словарь и сравнивает.
Соль (случайная добавка к паролю) не даёт использовать заранее посчитанные таблицы, а медленные функции (bcrypt, argon2) делают перебор дорогим.
Инструменты
- Python:
hashlib.md5(w.encode()).hexdigest() - hashcat, John the Ripper
Больше теории — в разделе «Обучение: Криптография».
Задание 3Практика: найдите флаг
admin:c378985d629e99a4e86213db0cd5e70d wordlist.txt: sunflower keyboard penguin rainbow lighthouse avalanche chocolate dolphin firewall galaxy hurricane jupiter kangaroo labyrinth mercury nebula octopus phoenix quantum volcano
Пошаговый план — открывайте по одному шагу
- 1Возьмите хэш после
admin:. - 2Посчитайте MD5 для каждого слова словаря.
- 3Найдите совпадение и оберните слово в
CTF{...}.
Подсказки — каждая до решения стоит −25 очков
Задание 4Как защититься
Храните пароли через argon2id/bcrypt/scrypt с солью. MD5 и SHA-1 для паролей запрещены.
Разборы участников
Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.