Головна> Корисні статті> Як я став хакером паролів. Частина 2. Відновлення паролів
Питання не тривіальний. Це інтернет, і такий матеріал постійно буває поруч, як блискуча монета в стічній канаві, треба тільки дотягнутися і підняти її. Проломів в паролі тьма, і цілі форуми існують з метою поширення інформації про ці дірки і надання взаємодопомоги в їх зломі.
Ден, бажаючи допомогти мені прискоритися в процесі злому паролів, припустив, що варто почати з одного простого у використанні форуму і простеньких, хешірованних MD5 паролів, які зламуються найбільш примітивно. І потім він залишив мене з моїми пристроями. Я знайшов файл з 15000 паролів, названий MD5.txt. скачав його і почав шукати програму для злому паролів.
Для злому паролів, скажімо, сайту банку не підійдуть спроби залогінитися мільйон разів, сайти зазвичай не дозволяють зробити безліч невдалих спроб, так і процес буде занадто довгим, навіть якщо це можливо. Злом завжди відбувається оффлайн після того, як зломщик отримає довгий список захешірованних паролів, часто через грубе проникнення (але іноді і під цілком легальним приводом, таким як аудит безпеки або коли бізнес-користувач забуває пароль, який використовував для зашифровуваної важливого документа).
Хешування включає в себе збір всіх паролів користувача і проходження їх через односпрямовану математичну функцію, яка генерує унікальну рядок чисел і букв, яка називається хешем. Хешування робить дуже складним процес повернення пароля з хеша і таким чином дозволяє сайтам безпечно (насправді немає в більшості випадків) зберігати паролі замість того, щоб просто тримати їх в простому вигляді. Коли користувач вводить пароль онлайн для того, щоб увійти в будь-якої сервіс, система хешірует пароль і порівнює його зі збереженим хешем; якщо вони збігаються, значить користувач ввів коректний пароль.
Для прикладу, хешування пароля «arstechnica» з алгоритмом MD5 видає наступний результат: с915e95033e8c69ada58eb784a98b2ed. При цьому навіть незначні зміни в споконвічний пароль видадуть зовсім інший результат; «ArsTechnica» (з двома буквами іншого регістру) стає 1d9a3f8172b01328de5acba20563408e. Відповідно, припустити, що ти близький до вірної розгадки, знаючи один з хеш, неможливо: варіанти пароля можуть бути або ідеально точні, або абсолютно помилковими.
Відомі програми для злому паролів, такі як Джон Ріппер і Хешкет. працюють за таким же принципом, тільки вони автоматизують процес створення паролів-спроб і може хешірованного мільярди запитів в хвилину. Незважаючи на те, що я знав про ці програми, я ніколи ними не користувався; єдина точна інформація, якою я мав, це те, що Хешкет дивно швидкий. Це було просто ідеально для мого завдання, оскільки я взяв для злому паролів тільки 2 ноутбука: однорічний Macbook Air з Core i5 і древній Dell з Core2Duo на Windows. Зрештою, я був всього лише скриптовою пустуном - навіщо мені щось більше?
Я почав з MacBook Air. і це означало, що я повинен використовувати 64-бітну версію Hashcat через командний рядок замість графічного інтерфейсу. Я не буду обливати брудом любителів командного рядка, які люблять розповідати мені нескінченні історії про те, як вони можуть пропустити sed через awk і потім grep в 50 разів швидше, ніж ці нещасні неуки, які клацають мишкою по симпатичним іконка і меню. Я вірю їм, але все ще вважаю за краще графічний інтерфейс, коли намагаюся зрозуміти невідому мені програму з безліччю опцій. І Hashca t дає те, що мені потрібно.
Отже, заради науки, я скачав Hashcat і перейшов в консоль. Hashcat не включає в себе короткий посібник, і я не знайшов жодного простого прикладу (хоча, як я потім дізнався, для програми є вікі). Внутрішній розділ допомоги не зразок ясного викладу, але основи виявилися вельми зрозумілими. Я вказав у програмі, який метод атаки використовувати, потім повідомив, який алгоритм використовувати для хешування і місце, де зберігається файл з хешамі MD5. Я також міг додатково докласти "правила" і скористатися кількома опціями зі створення масок. Ах да, вордлісти - вони також були важливою частиною процесу. Без графічного інтерфейсу і без інструкцій, на те, щоб змусити працювати Hashcat. я б витратив більшу частину години в набиванні рядків подібних до цієї:
./hashcat-cli64.app MD5.txt -a 3 -m 0 -r perfect.rule
Вищезазначена рядок була моєю спробою нацькувати Hashcat на мій MD5.txt зі списком хеш, використовуючи режим атаки 3 (брутальна сила) і метод хешування 0 (MD5) із застосуванням варіацій «perfect rule». Як виявилося, це було жахливою помилкою. По-перше, як я потім дізнався, я неправильно розібрав синтаксис командного рядка і ввів запис «MD5.txt» в неправильному місці. По-друге, «брутальні» атаки не підтримують правила, які оперують тільки вордлістамі (списками слів) - вони вимагають безліч інших опцій, включаючи маски і мінімальну / максимальну довжину пароля.
Цього було достатньо, щоб продовжувати пробиватися через павутину командного рядка. Я прийняв свою недієздатність в плані скриптів і переключився на Windows-ноутбук, де я встановив Hashcat і його окремий графічний front end. Всі опції в цій системі наявні через чекбокси і випадають меню, і я тепер міг бачити, що мені потрібно налаштовувати і що це можна робити без написання належного синтаксису командного рядка самому. Тепер я був готовий зламувати хеші.