Password CrackerКак да разбиете/познаете парола

⚡ Умно обобщение

Разбиването на пароли е практика за възстановяване на идентификационни данни чрез систематично отгатване, сравняване или изчисляване спрямо съхранените хешове. Този преглед обяснява как действат нападателите, инструментите, които използват, факторите, които им противодействат, и контролите, които администраторите трябва да прилагат.

  • 🧭 Foundationал Принцип: Силата на паролата зависи от дължината, сложността на символите и непредсказуемостта, за да устои на грубата сила и възстановяването чрез речник.
  • 🔐 Хеширане срещу криптиране: Съхранените идентификационни данни са защитени от еднопосочни хеш функции като MD5, SHA-256 или bcrypt, а не от обратимо криптиране.
  • 🎯 Често срещани техники за атака: Речник, груба сила, таблица с дъга, хибрид, паяк и пълнене на идентификационни данни експлоатират предвидимо човешко поведение.
  • 🛠️ Набор от инструменти за разбиване: John the Ripper, Hashcat, Cain & Abel, Ophcrack, а Hydra автоматизира офлайн и онлайн възстановяването спрямо заснети хешове.
  • 🤖 Атаки, задвижвани от изкуствен интелект: Генеративните модели предсказват реалистични пароли от изтекли дъмпове, като драстично подобряват ефективността на речника срещу слаби идентификационни данни.
  • Защитни контроли: Солените хешове, многофакторното удостоверяване, политиките за блокиране и мениджърите на пароли неутрализират повечето опити за разбиване в производствени среди.

Как да разбиете (хакнете) парола?

Разбиването на пароли е една от най-старите дисциплини в офанзивната сигурност, но тя остава актуална както винаги, защото потребителите продължават да избират предвидими тайни. В този урок ще ви представим често срещаните техники, които нападателите използват за възстановяване на пароли, инструментите, които автоматизират работата, и контрамерките, които администраторите могат да внедрят, за да защитят системите от тези атаки.

Какво е кракване на парола?

Разбиването на пароли е процес на опит за получаване на неоторизиран достъп до ограничена система чрез възстановяване на тайната, която защитава механизъм за удостоверяване. Процесът на разбиване може да включва сравняване на съхранени хешове на пароли с предварително изчислен списък с думи или изпълнение на алгоритми, които генерират кандидат-пароли, докато не се намери съвпадение. След като бъде открито съвпадение, нападателят може да се удостовери като легитимен потребител, без дори да гадае онлайн.

Какво е силата на паролата?

Силата на паролата е мярка за ефективността на паролата да устои на атаки за разбиване на пароли. Силата на всяка парола се определя от три свойства:

  • Дължина: общият брой знаци, които паролата съдържа.
  • Сложност: дали използва комбинация от главни букви, малки букви, цифри и символи.
  • Непредвидимост: дали паролата може лесно да бъде отгатната от нападател, който познава потребителя.

Нека сравним три пароли: парола, password1, и #парола1$За този пример ще използваме индикатора за сила на паролата на cPanel. Изображенията по-долу показват силата на всеки кандидат.

Индикаторът за сила на паролата в cPanel показва много слаба оценка за стойността „парола“.

Забележка: използваната парола е парола; силата е 1, което е много слабо.

Индикаторът за сила на паролата в cPanel показва слаба оценка за стойността password1

Забележка: използваната парола е password1; силата е 28, което все още е слабо.

Индикаторът за сила на паролата в cPanel, показващ силна оценка за стойността hashpassword1dollar

Забележка: използваната парола е #парола1$; силата е 60, което е „силна“. Колкото по-високо е числото за сила, толкова по-добра е паролата.

Да предположим, че трябва да съхраняваме едни и същи пароли, използвайки MD5 хеширане. Ще използваме онлайн MD5 хеш генератор, за да преобразуваме всяка парола в нейната хеш стойност. Таблицата по-долу показва получените хешове.

Парола MD5 хеш Индикатор за сила на cPanel
парола 5f4dcc3b5aa765d61d8327deb882cf99 1
password1 7c6a180b36896a0a8c02787eeafb0e4c 28
#парола1$ 29e08fb7103c327d68327f23d8d9256c 60

Сега ще използваме публичен сайт за обратно търсене на MD5, за да разбием горните хешове. Изображенията по-долу показват резултатите от разбиването на пароли за всяка стойност.

Резултат от обратно търсене по MD5 за хеша на стойността password

Резултат от обратното търсене на MD5 за хеша на стойността password1

Резултат от обратното търсене на MD5, показващ неуспех при разбиване на силната стойност hashpassword1dollar

Както можете да видите от горните резултати, успяхме да разгадаем първата и втората парола, които имаха по-ниски стойности за сила. Не успяхме да разгадаем третата парола, която беше по-дълга, по-сложна и по-непредсказуема. Тя също така имаше по-висок номер за сила.

Техники за кракване на пароли

Има няколко доказани техники, които нападателите използват за възстановяване на пароли. По-долу ще опишем най-често използваните категории.

  • Атака по речника: Този метод използва списък с думи с вероятни кандидати и сравнява всеки един със заснети потребителски пароли или хешове на пароли.
  • Атака с груба сила: Атаките с груба сила комбинират буквено-цифрови знаци и символи, използвайки алгоритми, за да генерират систематично всяка възможна парола, докато не се намери съвпадение. Например парола като парола може да се опита и като дума използвайки хибридно правило за груба сила.
  • Атака върху дъгова маса: Този метод разчита на предварително изчислени хешове. Да предположим, че база данни съхранява пароли като MD5 хешове. Атакуващият създава друга таблица, която съхранява MD5 хешове на често срещани пароли и сравнява заснетия хеш с предварително изчислената таблица. Ако се намери съвпадение, паролата се възстановява.
  • Познай: Както подсказва името, този метод включва отгатване. Пароли като QWERTY, парола, и администратор се използват често или са зададени по подразбиране. Ако не бъдат променени, могат бързо да бъдат компрометирани.
  • Паякообразно ловуване: Повечето организации използват пароли, които съдържат фирмена информация. Тази информация може да бъде събрана от корпоративни уебсайтове и социални медии като Facebook и Twitter. Spidering събира данни от тези източници, за да изгради целеви списъци с думи, които след това се използват в речникови и груби атаки.
  • Пълнене на удостоверения: Атакуващите преиграват двойки потребителско име и парола, изтекли от едно нарушение срещу несвързани услуги, експлоатирайки потребители, които използват повторно идентификационни данни.

Един дълъг списък с думи за измислена компания може да комбинира: 1976 (година на рождение на основателя); смит, джоунс (фамилия); acme (име на компанията); built, to, last (ключови думи за визия); голф, шах, футбол (хобита).

Таблицата по-долу сравнява техниките по скорост, предварителни изисквания и откриваемост.

Техника Скорост Изисква ли се хеш? Откриваемо онлайн?
Речник Бързо По избор Да
Груба сила Бавен По избор Да
Дъгова маса Много бързо Да Не (офлайн)
Отгатване Променлив Не Да
Спайдъринг Бавен Не Да
Пълнене на удостоверения Бързо Не Да

Password Cracker Инструменти

Инструментите за разбиване на пароли са софтуерни програми, които автоматизират описаните по-горе техники. Вече засегнахме една такава помощна програма в примера за силата по-рано, където публично търсене по MD5 използва таблица с дъга, за да обърне често срещани хешове. Сега ще разгледаме допълнителни инструменти, на които практикуващите разчитат по време на оторизирани оценки.

1) John the Ripper
John the Ripper използва командния ред и приема списъци с думи с правила за генериране на кандидати. Автоматично разпознава много често срещани хеш формати. Програмата е безплатна, докато подбрани търговски списъци с думи се предлагат отделно. Посетете https://www.openwall.com/john/.

2) Cain & Abel
Cain & Abel работи по Windows и възстановява потребителски пароли, извършва мрежово „sniffing“ и други. Графичният му интерфейс го прави популярен сред новодошлите. Инструментът не е поддържан активно от 2014 г., така че го използвайте само на по-стари лабораторни системи. Вижте https://sectools.org/tool/cain/.

3) Ophcrack
Ophcrack е платформа Windows разбивач на пароли, който използва таблици с дъга. Той работи на Windows, Linux и macOSи включва модул за груба сила. Посетете https://ophcrack.sourceforge.io/.

4) Hashcat
Hashcat е съвременният стандарт за възстановяване на пароли офлайн. Поддържа над 300 хеш алгоритъма, използва GPU ускорение и предлага атаки, базирани на правила. Документацията е достъпна на https://hashcat.net/hashcat/.

5) Хидра
Hydra (THC-Hydra) е насочена към онлайн услуги като SSH, FTP, RDP и HTTP формуляри за вход. Доставя се с Kali Linux и се използва широко в оторизирани операции на червените екипи.

Как да се предпазите от атаки за кракване на пароли?

Организацията може да използва следните мерки, за да намали вероятността от разбиване на пароли:

  • Изисквайте минимум 12 знака и избягвайте предвидими шаблони като 11552266 или qwerty1234.
  • Съхранявайте паролите с бавна еднопосочна хеш функция, като например bcrypt, scrypt или Argon2, вместо с бързи хешове, като например MD5 или SHA-1.
  • Солтирането на всяка парола преди хеширане предотвратява търсенето в таблицата Rainbow, дори когато самото хеширане е бързо.
  • Приемете политики за пароли, които предпочитат високи оценки за сила на паролите и насърчават използването на пароли, както е препоръчано от NIST SP 800-63B.
  • Активирайте многофакторно удостоверяване (MFA), така че само открадната парола да не предоставя достъп.
  • Използвайте мениджър на пароли, за да генерирате уникални идентификационни данни за всяка услуга, неутрализирайки атаките за „надуване“ на идентификационни данни.
  • Конфигурирайте заключване на акаунти, ограничаване на достъпа и непрекъснато наблюдение, за да откриете ранно онлайн атаки чрез груба сила.

Хакерска дейност: Хакнете сега!

В този практически сценарий ще разгадаем Windows акаунт, който използва проста парола. Windows съхранява локалните идентификационни данни като NTLM хешове (схема, базирана на MD4), и ще използваме модула за NTLM кракер в Cain и Abel, за да възстановим стойността.

Каин и Авел могат да разбият пароли, използвайки речникова атака, груба сила или криптоанализ (предварително изчислени таблици). Тук ще използваме речниковата атака. Изтеглете списъка с думи. 10k-Most-Common.zip от реномирано огледало. За тази демонстрация създадохме акаунт, наречен Сметки с паролата QWERTY на Windows 7 лабораторна машина.

Windows 7 лабораторни потребителски акаунта, създадени с простата парола qwerty за демонстрацията

Как да разбиете парола

Ръководството по-долу съпоставя всеки екран на Каин и Авел с действието, което трябва да се предприеме. Следвайте стъпките по ред срещу вашия собствен лабораторен акаунт, никога срещу система, която не притежавате.

Стъпка 1) Отворете „Каин и Авел“.
Стартирайте приложението; ще видите следния главен екран.

Главният интерфейс на Cain and Abel с видим раздел Cracker

Стъпка 2) Намерете бутона „Добавяне“.
Уверете се, че разделът Cracker е избран, както е показано по-горе, и щракнете върху бутона Добавяне в лентата с инструменти.

Разделът „Cracker“ е избран с маркиран бутон „Добавяне“ в лентата с инструменти на Cain and Abel.

Стъпка 3) Изберете източника за импортиране.
Появява се следният диалогов прозорец. Изберете Импортиране на хешове от локалната система и щракнете върху Напред.

Диалогов прозорец на Каин и Авел, който пита от кой източник да се импортират NTLM хешове

Стъпка 4) Revпреглед на импортираните акаунти.
Локалните потребителски акаунти са изброени, както следва. Точните резултати ще отразяват потребителските акаунти на вашата лабораторна машина.

Списък с импортирани локални Windows сметки, готови за разбиване вътре в Каин и Авел

Стъпка 5) Щракнете с десния бутон върху целевия акаунт.
Щракнете с десния бутон върху акаунта, който искате да разбиете. За този урок ще използваме Сметки потребител.

Щракнете с десния бутон върху контекстното меню на потребителя „Акаунти“ в Cain and Abel.

Стъпка 6) Отворете панела за атака с речник.
В прозореца за речникова атака щракнете с десния бутон върху секцията с речника и изберете Добави към списъка както е показано по-долу.

Панел за атака с речник с маркирана опция „Добавяне към списъка“

Стъпка 7) Отидете до файла със списъка с думи.
Прегледайте 10k-най-често срещаните.txt файла, който току-що сте изтеглили, и го изберете.

Отворете файловия браузър в Cain and Abel, за да изберете списък с 10 000 най-често срещани думи за пароли

Стъпка 8) Revвижте възстановената парола.
Ако потребителят е избрал проста парола, като например QWERTY, ще видите резултати, подобни на екрана по-долу, с чиста текстова стойност до потребителския акаунт.

Каин и Авел показват възстановената парола в ясен текст qwerty за потребителя на акаунти

Забележка: времето, необходимо за разбиване на парола, зависи от силата на паролата, сложността на списъка с кандидати и процесорната мощност на вашата машина. Ако речниковата атака не възстанови паролата, опитайте атака с груба сила или криптоанализ.

Как изкуственият интелект е Решаping Разбиване и защита на пароли

Изкуственият интелект се превърна в сериозна сила и от двете страни при разбиването на пароли. Нападателите обучават езикови модели върху изтекли данни за идентификационни данни, за да предсказват реалистични пароли, докато защитниците свързват същите модели с телеметрични канали, за да откриват компрометиране по-бързо.

Ето как изкуственият интелект променя областта днес:

  • По-интелигентно генериране на списъци с думи: Генеративни модели като PassGAN изучават човешки пароли и създават списъци с кандидати, които разбиват повече хешове от статичните речници.
  • Оценка на поведенческия риск: Защитният изкуствен интелект проверява географията на входа, пръстовия отпечатък на устройството и TYping ритъм, изпращайки необичайни контексти за повишаване на удостоверяването.
  • Откриване на аномалии в реално време: Класификаторите за машинно обучение наблюдават регистрационни файлове за удостоверяване и сигнализират за добавяне на идентификационни данни или бавни кампании за груба сила, които правилата за подпис пропускат.
  • Автоматизирано коучинг за политики: Платформите за идентификация оценяват новите пароли спрямо специфичните за организацията корпуси и предлагат по-силни заместители, преди потребителите да ги финализират.
  • Защита, устойчива на фишинг: Изкуственият интелект ускорява внедряването на FIDO2 и потоци с пароли, като анализира сигналите за риск и намалява неудобството на потребителите.

Комбинирайте AI мониторинга с многофакторно удостоверяване, модерно хеширане като Argon2 и бързи известия за нарушения, за да поддържате автоматизираната защита пред автоматизираната атака.

Въпроси и Отговори

Разбиването на пароли е законно само когато се извършва с изрично писмено разрешение, например при тестове за проникване, вътрешни одити или възстановяване на вашите собствени идентификационни данни. Неразрешеното разбиване нарушава законите за злоупотреба с компютри в почти всяка юрисдикция.

Хеширането е еднопосочна трансформация: оригиналната стойност не може да бъде възстановена. Криптирането е обратимо с правилния ключ. Паролите винаги трябва да се съхраняват като солени хешове, използващи алгоритми като bcrypt, scrypt или Argon2, никога като криптирани низове.

За офлайн кракване, Hashcat обикновено е най-бързият, защото използва GPU ускорение и поддържа атаки, базирани на правила, в повече от 300 хеш формата. John the Ripper остава популярен, когато ресурсите на графичния процесор са ограничени.

Солтта е уникална произволна стойност, добавена към всяка парола, преди тя да бъде хеширана. Солтирането предотвратява атаките тип „rainbow table“, защото предварително изчислените таблици работят само срещу несолени хешове. Солтите също така гарантират, че двама потребители с една и съща парола генерират различни съхранени стойности.

12-символна парола, смесваща букви, цифри и символи, може да отнеме векове, за да се разбие чрез груба сила срещу бавен хеш като bcrypt. Срещу бърз, несолен MD5, същата парола може да се разбие за дни. Изборът на хеш и дължината му са от значение.

Атакуващите обучават генеративни модели като PassGAN върху изтекли данни за идентификационни данни, така че да предсказват реалистични човешки пароли. Получените списъци с думи разбиват значително повече хешове от статичните речници по време на едно и също изпълнение, особено когато са съчетани с мутации, базирани на правила, в Hashcat.

Да. Защитният ИИ определя нормалното поведение при влизане, оценява риска за всеки опит и сигнализира за вълни от злоупотреба с идентификационни данни или бавни кампании с груба сила, които пропускат енджините. Комбинирайте ИИ мониторинга с многофакторно удостоверяване и модерно хеширане, като Argon2, за най-добри резултати.

Многофакторното удостоверяване блокира по-голямата част от резултатите от кракване, тъй като възстановената парола сама по себе си не може да завърши влизането. Факторите, устойчиви на фишинг, като например ключове за сигурност и пароли FIDO2, осигуряват най-силната защита и трябва да бъдат активирани, където е възможно.

Обобщете тази публикация с: