Если каким-то образом вам удалось завладеть хэшем пароля, который был создан с помощью алгоритма MD5, то вы можете подобрать пароль с помощью специальных таблиц, которые содержат в себе сопоставления «пароль — MD5 хэш». Такие таблицы называются радужными. Существуют онлайн сервисы, которые позволяют ввести хэш, и в случаи найденного совпадения, выдать исходный пароль. Такие таблицы можно загрузить к себе на компьюетр, после чего с помощью программы «rcracki_mt» (или другой ей подобной) попытаться найти совпадение хэша с табличными значениями.
Для эскперимента я скачал таблицы «md5_mixalpha-numeric-all-space#1-6», которые позволяют подобрать пароль длиной 1-6 символов, состоящий из любых символов, включая специальные (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;»‘<>,.?/). Размер всех таблиц составил 4,58 ГБ.
Затем я воспользовался выше описанной программой (текущая стабильная версия — 0.6.6), создав крохотный bat-файл:
:: Здесь лежат радужные таблицы
set RainbowTables=C:\RainbowTables\RainbowTables
:: Здесь лежат файлы hash.txt (должен содержать хэши, к которым нужно подобрать праоль) и pass.txt (файл, куда будут записываться найденные пароли)
set Path=C:\RainbowTables\
:: Путь до программы
set rcracki_mt=C:\RainbowTables\rcracki_mt_0.6\rcracki_mt.exe
:: Команда запуска программы (подробное описание параметров программы можно посмотреть в файле README.txt)
%rcracki_mt% -l %Path%\hash.txt %RainbowTables% -t 2 -o %Path%\pass.txt
В файл hash.txt я поместил всего одну хэш-запись от известного мне пароля. Я был поражен быстротой поиска пароля по известному хэшу с помощью радужных таблиц — не прошло и 20 секунд, как программа вывела мне мой хэшированный пароль.