Как взломать пароль с помощью брутфорс атаки

How Users Can Strengthen Passwords Against Brute Force Attacks

As a user, you can do a lot to support your protection in the digital world. The best defense against password attacks is ensuring that your passwords are as strong as they can be.

Brute force attacks rely on time to crack your password. So, your goal is to make sure your password slows down these attacks as much as possible, because if it takes too long for the breach to be worthwhile… most hackers will give up and move on.

Here are a few ways you can strength passwords against brute attacks:

Longer passwords with varied character types. When possible, users should choose 10-character passwords that include symbols or numerals. Doing so creates 171.3 quintillion (1.71 x 1020) possibilities. Using a GPU processor that tries 10.3 billion hashes per second, cracking the password would take approximately 526 years. Although, a supercomputer could crack it within a few weeks. By this logic, including more characters makes your password even harder to solve.

Elaborate passphrases. Not all sites accept such long passwords, which means you should choose complex passphrases rather than single words. Dictionary attacks are built specifically for single word phrases and make a breach nearly effortless. Passphrases — passwords composed of multiple words or segments — should be sprinkled with extra characters and special character types.

Create rules for building your passwords. The best passwords are those you can remember but won’t make sense to anyone else reading them. When taking the passphrase route, consider using truncated words, like replacing “wood” with “wd” to create a string that makes sense only to you. Other examples might include dropping vowels or using only the first two letters of each word.

Stay away from frequently used passwords. It’s important to avoid the most common passwords and to change them frequently.

Use unique passwords for every site you use. To avoid being a victim of credential stuffing, you should never reuse a password. If you want to take your security up a notch, use a different username for every site as well. You can keep other accounts from getting compromised if one of yours is breached.

Use a password manager. Installing a password manager automates creating and keeping track of your online login info. These allow you to access all your accounts by first logging into the password manager. You can then create extremely long and complex passwords for all the sites you visit, store them safely, and you only have to remember the one primary password.

If you’re wondering, “how long would my password take to crack,” you can test passphrase strength at https://password.kaspersky.com.

Related articles:

Простые способы защиты админки WordPress от взлома

В любом случае, самому надо тоже позаботиться о безопасности сайта и использовать хотя бы такие простые действия для защиты от подбора паролей:

  • не использовать стандартный логин admin и установить сложный пароль для входа в админку WordPress (подробнее );
  • ограничить число попыток входа в админ.панель, например, с помощью плагинов или Limit Login Attempts
    ;
  • если у вас статичный IP, то можно разрешить вход только ему через файл.htaccess;
  • изменить стандартный адрес входа /wp-login.php
    и /wp-admin
    , например, с помощью простого плагина или более мощного Better WP Security
    ;
  • не использовать виджет “Мета
    “, так как в нем есть прямая ссылка “Войти
    “.

Вот такая информация. А как у вас обстоят дела, почувствовали ли вы на своих сайтах силу брутфорс атак?

P.S. Кого интересуют промо-коды на 3 месяца бесплатного хостинга по тарифу “Профи” от Макхост, обращайтесь, поделюсь.

Виды “атак грубой силы”

Переработка учетных данных Этот тип атаки требует предварительно собранных имен пользователей и паролей. Они могут быть получены из предыдущих “атак грубой силы”, от нарушений и утечек, или могут быть просто куплены в темной паутине. Затем хакер попытается использовать их на различных платформах. Например, если он получит ваши данные для входа в соцсеть, то начнет применять их, чтобы попасть в ваш банковский счет

Вот почему так важно не использовать одинаковый пароль для нескольких аккаунтов!

Атака по словарю В данном типе атаки хакер попытается использовать слова из словаря. Очень часто люди применяют в качестве паролей имена, города, объекты и т.д

Это очень облегчает их угадывание. Хакеры также могут добавлять в базу популярные комбинации паролей и цифр, такие как “Пароль 123”.

Обратное нападение грубой силы Эта атака, как следует из названия, использует обратный метод. Хакер берет один пароль, обычно популярный, и пробует его на как можно большем количестве учетных записей. В этом случае хакер не нацеливается на конкретного человека, а ищет возможность взломать случайный аккаунт.

Как защитить себя?

Безопасность вашего пароля во многом зависит от того, как администраторы сайтов хранят его или насколько они уязвимы к нарушениям и утечкам. Веб-администраторы также могут усложнить работу хакера, заблокировав учетные записи после определенного числа неудачных попыток, зашифровав пароли, снизив частоту попыток входа в систему или используя хэширование. К сожалению, вы не можете контролировать кибербезопасность сайтов, которые используете, но есть несколько приемов, которые вы можете применить для защиты своих учетных записей.

  • Используйте 2-х факторную аутентификацию. Без доступа к вашему устройству, злоумышленник не сможет войти в ваш аккаунт.
  • Увеличьте длину и сложность пароля, используя как буквы, так и цифры, а также заглавные и строчные буквы или даже символы. Если вы не знаете, как создавать сложные пароли, воспользуйтесь генератором случайных паролей.
  • Регулярно меняйте пароли.
  • Не используйте одинаковые пароли на разных аккаунтах, т.к. это сделает вас уязвимым к атакам.
  • Храните свои пароли в безопасности с помощью менеджера паролей. Он будет хранить их в зашифрованном хранилище и предложит дополнительные возможности, такие как автозаполнение. Тогда вам больше не нужно будет беспокоиться или помнить все свои пароли.

Обратная переадресация

Повторная атака брутфорс — это еще один термин, связанный со взломом пароля. В этом случае злоумышленник пытается использовать один пароль для нескольких имен пользователей. В таком случае хакеру известен пароль, но нет представления об именах пользователей. В этом случае он может попробовать один и тот же пароль и пытаться угадать разные логины, пока не найдет рабочую комбинацию. Так обычно происходит брутфорс WiFi и иных подключений.

Атака обычно используется для взлома паролей. Хакеры могут применять брутфорс в любом программном обеспечении, сайте или протоколе, который не блокирует запросы после нескольких недействительных проб.

Известно множество инструментов взлома паролей для разных протоколов. Некоторые из них стоит рассмотреть подробно. Для того чтобы использовать такие приложения, достаточно загрузить и начать атаковать. Поскольку некоторые из них применяют несколько механизмов одновременно, следует изучить подобное в деталях. Это поможет защититься от атак, а также проверить все свои системы на уязвимость.

Как обойти капчу Вконтакте?

ВК требует ввод капчи после 3 неудачной попытки (перезагрузка F5 не помогает), а как он узнает что это именно вы делаете несколько попыток входа?

— по IP
— по кукам (cookies), кэшу и JavaScript

Значит, нам не реже чем через 3 запроса нужно менять IP и чистить куки.

С куками, кэшем и JavaScript нет проблем – их можно просто отключить в настройках браузера. 

IP можно менять установив прогу по смене IP – в этом нет ничего мудреного, в сети их полно (Гугл в помощь)

Можно пользоваться браузером  TOR (кто не знает – это браузер для анонимного гуляния по сети, он же меняет IP-шники при каждой новой сессии, полезная штука особенно для тех кто сёрфит или работает в САР)

Но почти полностью сводит на нет все попытки перебора ГЕОлокация.

Сервер ВК запоминает откуда (географически) был произведен последний вход.

И если ваш IP из другого населенного пункта, то (возможно) будет выскакивать надпись:

«Вы пытаетесь зайти под именем  Ивана Иванова из необычного места.»

Чтобы подтвердить, что Вы действительно являетесь владельцем страницы, пожалуйста, укажите все недостающие цифры номера телефона, к которому привязана страница.

Сколько же времени займет перебор паролей для ВК?

Напомню, что мы перебираем  221 918 520 426 688 (222 триллиона) вариантов пароля.

Поэтому, чтоб узнать сколько мы будем взламывать пароль ВК перебором  делим количество на скорость, т.е. 

221918520426688 пароля / 7,4 пароля в секунду = 29737081737176сек = 495618028953 мин = 8260300483 часов = 344179187 дней = 942957 лет

Вывод:реальная программа для взлома ВК могла бы подобрать пароль перебором за 94 тысячи лет.

Вопрос: А как же видео на ютюбе, в которых чудо-проги брутят страницу ВК за несколько минут/часов? 
Отвечаю: Это развод созданный с целью заражения вашего компа для кражи ваших же данных. Не больше – не меньше.

Можно значительно ускорить процесс перебора!
Для этого нужно:
1. Повысить вычислительную мощность. Например, заразить 1.000.000 чужих компов и со всех одновременно брутить ВК (аж смешно)
2. Укоротить брут-словарь до, например, пары тыщ.(по принципу социальной инженерии)

Как сделать брут-словарь?
1. Ручками в программе блокнот  (notepad.exe)
2. Прогой «генератор брута» (ссылка внизу статьи)

Этот брут – словарь наполняем реальными вариантами.

Реальные  – это такие, которые хоть как-то связано с взламываемым человеком:

— телефоны (его, его родственников, друзей)Пример — номера с +7с,  8кой, без 8ки – попадается редко

— даты рождения (его, его родственников, близких)Пример — (одной и той же даты) 010118, 01012018, 20180101, 180101 – попадается часто

— Имена любимых, близкихПример — SashaMaria, MariaIvanova, SaNoMaIv – попадается средне

Название сайта (или фамилия) на другой раскладкеПример, если набрать слово «vkontakte» на русской раскладке, то получится – «млщтефлеу» — такая схема ну очень часто попадается на всех сайтах.

— лоховской список паролей для брута (список самых распространенных паролей в сети — ссылка в конце статьи)

Долго ли писать словарь? Ну, не очень – полчаса за глаза хватит. А кто сказал что будет легко?))

Допустим у нас есть созданный брут словарь и рабочая прога для подбора пароля ВК (либо ручной ввод по словарю).

Возникает одна важная проблема – система защиты сервера.

Собственно помеха её заключается в том, что при слишком частых запросах сервер тупо блокирует (временно) ваш IP. Кроме того, если вы работаете с ВК через стандартную форму ввода (HTML\FORM), то после 3 ей неудачной попытки ВК будет просить ввести капчу.

В старой версии ВК можно было просто перейти на мобильную версию – m.vk.com, теперь же мобильной версии как таковой нет – в 2016 году сделали единый адаптивный дизайн.

По другую сторону баррикады

Теперь посмотрим на хеши глазами администратора того ресурса, который он хочет максимально защитить от взлома. Как можно усложнить жизнь хешкрекеру или вообще сделать так, что хеши пользователей станут неломаемыми?

Иногда для этого достаточно перейти на самую свежую версию движка и выбрать алгоритм, самый медленный по скорости брута. Но если обновление движка не планируется, а администратор хочет максимально обезопасить пароли своих пользователей от подбора, то есть другой вариант — пропатчить код проверки пароля так, чтобы у всех вновь зарегистрированных пользователей (или сменивших свои пароли после определенной даты) пароли хешировались по-другому. Как?

Конечно, можно использовать любой стандартный тяжелый алгоритм из Linux-функции crypt() — sha512crypt или bcrypt. Но если удастся заполучить такие хеши, то хешкрекер по сигнатурам сразу определит алгоритм и сможет ломать хеши (хоть и медленно). Вывод — нужно хешировать пароли так, чтобы хешкрекер не мог однозначно определить алгоритм по виду хеша, а это делается только нестандартными методами.

Например, можно подмешивать к паролю статическую соль (пусть даже одинаковую для всех, но очень длинную — 200–500 символов) и хешировать обычной PHP-функцией md5. Этой соли в БД форума нет (как, например, в движках vBulletin или osCommerce), она прошита только в PHP-коде, доступ к которому получить гораздо сложнее, чем к хешам. Но даже если заполучить эту соль, то почти нет брутфорсеров, поддерживающих работу с такой длинной солью (во всяком случае, на GPU — точно нет).

Другой вариант — циклически хешировать обычный MD5 от пароля этак 50–100 тысяч раз. На скорости авторизации пользователей это почти не скажется, но скорость брута таких хешей будет мизерной (при условии, что еще удастся выяснить количество итераций — опять же, только из PHP-кода). А если не удастся — то их вообще не сбрутить.

Еще можно взять более длинный хеш от другого алгоритма (например, SHA-256 или SHA-512) и вместо цельного хеша хранить в БД его фрагмент размером 32 символа из середины хеша (да еще и байты можно переставить). Хешкрекер, увидев такой хеш, будет уверен, что это MD5 (или его модификация), и будет пытаться сбрутить его, но бесполезно.

В общем, тут фантазия безгранична — автор за годы работы с хешами сталкивался с массой различных хитроумных видов хеширования, но факт налицо — очень много дампов от самописных CMS, или от коммерческих CMS без доступных исходников, или от пропатченных (по-видимому) форумов, и CMS остаются до сих пор несломанными. Что там внутри намешано при хешировании — неизвестно.

И нестареющий совет всем пользователям: самый надежный вариант защитить свой аккаунт от взлома, даже если был получен доступ к хешу от вашего пароля, — использовать длинный пароль, состоящий из случайных символов. Такие пароли не ломаются!

Итак, что же такое брут-атака?

Брутфорс — это самый простой способ получить доступ к сайту, устройству или серверу (или всему другому, что защищено паролем). Он пробует различные комбинации имен пользователей и паролей снова и снова, пока не случится вход. Это повторяющееся действие подобно армии, атакующей форт.

Некоторым такое описание брутфорс-атаки дает основания подумать, что любой может это сделать. Это действительно простые действия, но добиться успеха не всегда получится.

Обычно каждый общий идентификатор (например, admin) имеет пароль. Все, что нужно сделать — это попытаться угадать его. Например, если это двузначная комбинация, у вас есть 10 цифр от 0 до 9. Это означает, что существует 100 возможностей. Можно подобрать их вручную и вводить один за другим.

Но правда в том, что ни один пароль в мире не состоит из двух символов. Даже номера контактов, используемые на мобильных телефонах или в банке, состоят минимум из 4-х символов.

В Интернете же 8 символов обычно являются стандартом для кратчайшего пароля. Кроме того, добавляется сложность в том, что в пароли включаются символы алфавита, чтобы сделать их более безопасными. Буквы могут использоваться как в верхнем, так и в нижнем регистре, что делает код чувствительным к его переключению.

Итак, если есть буквенно-цифровой 8-символьный пароль, сколько возможных комбинаций придется подбирать? В английском языке имеется 26 алфавитных букв. Если посчитать их как в верхнем, так и в нижнем регистре, получится 26 + 26 = 52. Затем нужно добавить цифры: 52 + 10 = 62.

Итак, всего имеется 62 символа. Для 8-символьного пароля это будет 628, что сделает 2.1834011 × 1014 возможных комбинаций.

Если вы попытаетесь использовать 218 триллионов комбинаций за одну попытку в секунду, это займет 218 триллионов секунд, или 3,6 триллиона минут. Проще говоря, потребуется около 7 миллионов лет, чтобы взломать пароль с окончательной комбинацией. Конечно, процесс может занять меньше, но это максимальный срок для подбора такого значения. Понятно, что ручной брутфорс – это невозможно.

Случайные величины в форме входа

Если сделать несколько попыток входа и изучить передаваемые данные, то можно заметить, что значение переменной Frm_Logintoken меняется.

Конкретная величина прописана в JavaScript коде:

getObj("Frm_Logintoken").value = "2";

И она меняется время от времени. Если передавать строку с неверно установленным токеном Frm_Logintoken, то роутер не примет даже правильный пароль. Это ещё одна защита от брутфорса. К счастью, patator имеет встроенный механизм обхода такой защиты.

Для этого используются опции before_urls и before_egrep. Опция before_urls указывает, какую страницу нужно загрузить до того, как будет сделана попытка аутентификации. А опция before_egrep ищет по заданному регулярному выражению в исходном коде страницы, полученной с помощью before_urls.

Для брут-форса исследуемого роутера нужно предварительно получить тот же адрес на котором вводятся данные, то есть before_urls=58.11.48.84.

Пример поиска по регулярному выражению: before_egrep=’_N1_:getObj\(«Frm_Logintoken»\).value = «(\w+)»‘

Здесь переменной _N1_ присваивается значение обратной ссылки — выражения в скобках. \w+ обозначает главные составные символы, это синоним для «]»

Ещё раз — обратите внимание на скобки — это обратная ссылка. При этом в исходном фрагменте кода также присутствуют скобки — их нужно экранировать.

Также меняется передаваемая строка:

body='frashnum=&action=login&Frm_Logintoken=_N1_&Username=FILE0&Password=FILE1'.

Теперь в ней используется _N1_ для присвоения значения параметру Logintoken.

Дополнительные примеры, в том числе для сразу двух величин, смотрите на странице https://kali.tools/?p=269.

Если роутер (или веб-приложение) устанавливает кукиз со случайным значением, то достаточно использовать before_urls в паре с accept_cookie=1 (принимать кукиз для последующей передачи).

Полная команда для брут-форса формы входа, с учётом всех нюансов исследуемой модели роутера, выглядит так:

patator http_fuzz url="58.11.48.84" method=POST body='frashnum=&action=login&Frm_Logintoken=_N1_&Username=FILE0&Password=FILE1' 0=users.txt 1=passwords.txt accept_cookie=1 header='Cookie: _TESTCOOKIESUPPORT=1' -t 1 -x quit:code=302 -x ignore:code=200 --rate-limit=61 before_urls=58.11.48.84 before_egrep='_N1_:getObj\("Frm_Logintoken"\).value = "(\w+)"'

Brutus AET2

Платформа: Windows

Последний релиз программы был в 2000 году. У тулзы давно нет официального
сайта. Но при этом Brutus AET2
по-прежнему является одним самых шустрых и
продвинутых брутфорсеров для основных Интернет-протоколов. Если нужно подобрать
пароль для HTTP (на тех страничках, где используется авторизация по
логину/паролю), произвольному веб-сервису с авторизацией через форму, почтовому
аккаунту, файловому или Telnet серверу, знай: Brutus
– отличный вариант.

В общем случае для подбора пароля нужно указать хост и порт сервиса, выбрать
протокол, установить количество используемых потоков (максимум — 60), а также
таймаут. В целях анонимности можно подключить сокс или прокси. В зависимости от
протокола также указывается ряд дополнительных параметров. Например, для подбора
пароля на каком-то сайте (тип брутфорса — HTTP Form), необходимо указать метод
(POST или GET), обозначить параметры формы (в Brutus встроено простое средство
для их анализа), а в случае необходимости подделать cookie, включив
соответствующую опцию.

Подбор осуществляется двумя способами: по словарю, причем у проги есть
несколько встроенных утилит для работы с большими списками паролей, или же с
использованием тупо сгенерированных паролей. В последнем случае необходимо
обозначить символы, которые будут использоваться для составления пасса.

Конкурсы по хешкрекингу

А где хешкрекер может посоревноваться с другими хешкрекерами в своем умении ломать хеши? Конечно же, на конкурсах! Основные — конкурс Crack Me If You Can, проводимый фирмой KoreLogic в рамках ежегодной конференции DEF CON, и конкурс Hash Runner на ежегодной конференции Positive Hack Days.

Правила этих конкурсов весьма просты — нужно за ограниченное время (как правило, за 48 часов) сломать как можно больше конкурсных хешей и выполнить дополнительных заданий, также связанных с хешами. И так как время сильно ограничено, то на время таких конкурсов хешкрекеры всегда объединяются в команды.

Исторически сложилось так, что с самых первых конкурсов сформировались три основные команды — InsidePro, hashcat и john-users, которые все эти годы стабильно делили меж собой три призовых места в различных комбинациях. Даже по названиям команд уже очевидно, вокруг какого софта или сайта они объединились. В составе каждой из команд есть автор этого софта, и причина этого тоже понятна — на конкурсах всегда встречаются новые или видоизмененные алгоритмы хеширования, и нужно очень быстро модифицировать программу-брутфорсер или добавить в нее новый алгоритм. Тому, кто не имеет возможности быстро (часто за несколько часов или даже минут) перекроить софт под нужные фишки, очень сложно претендовать на приз.

Все отчеты о конкурсах доступны на сайтах команд, а также на сайтах организаторов — например, тут.


Рис. 4. Архивное фото — организаторы конкурса по хешкрекингу на DEFCON 2012

К сожалению, других крупных конкурсов по хешкрекингу нет. Иногда бывают небольшие конкурсы на хешкрекерских форумах, но их размах гораздо меньше. А с другой стороны, многие профессиональные хешкрекеры всегда находятся в «режиме конкурса», так как на форумах периодически размещаются хеши стоимостью в сотни и даже тысячи долларов, поэтому сразу после их опубликования хешкрекеры включаются в борьбу за этот хеш, чтобы обойти других, первому сломать пароль и получить «приз», то есть плату за пароль.

Взлом страницы входа роутера

Чтобы иметь представления об HTTP аутентификации начнём с выдержки из справки Router Scan by Stas’M:

Формально можно разделить устройства на два типа — те, которые используют аутентификацию на уровне протокола HTTP, — и другие, которые её не используют — в их число входят устройства, использующие HTTP формы для авторизации.

Первый тип устройств довольно легко отличить от второго, открыв устройство в интернет браузере: у них в самом начале всегда появляется всплывающее окно с названием устройства и предложением ввести логин и пароль. Устройства второго типа не выдают подобного приглашения, а сразу открывают веб страницу, на которой также можно авторизоваться.

Но, если вы затрудняетесь визуально определить тип аутентификации, можно изучить HTTP заголовки ответа устройства, а конкретно заголовок WWW-Authenticate — именно он указывает на использование аутентификации на уровне протокола.

Для подбора пароля к таким устройствам Router Scan использует словари пар логин/пароль. Программой поддерживаются два метода аутентификации на уровне протокола:

  • Basic — базовая аутентификация, имя пользователя и пароль обрабатываются обратимым шифром и отправляются в заголовках (подробнее).
  • Digest — дайджест аутентификация, данные для входа необратимо хешируются алгоритмом MD5 и отправляются в заголовках (подробнее).

Для остальных устройств, не использующих эти методы, перебор по словарям не поддерживается (за исключением некоторых моделей, для которых была добавлена поддержка словаря Form аутентификации). Но можно воспользоваться функцией Use credentials в главном окне программы, которая проверяет пару логин/пароль независимо от метода аутентификации.

Итак, Router Scan использует брут-форс форм для авторизации на роутере не для всех моделей, в результате можно получить следующую картину:

Это несколько кучных подсетей в которых в избытке водится роутер ZTE F668. Скажу больше — почти во всех них стандартные логины и пароли, но ни Router Scan, ни RouterSploit не извлекает из них информацию, поскольку на роутере вход выполняется с помощью веб-формы, а для этой модели брут-форс не поддерживается.

Классификация и способы выполнения брутфорс-атаки

Существует несколько видов атаки методом «грубой силы»:

  • Персональный взлом. В этом случае брутфорс направлен на получение доступа к личным данным конкретного пользователя: аккаунтам социальных сетей, почте, сайту. Во время общения через интернет, в том числе используя мошеннические схемы, злоумышленник старается узнать логин, персональные сведения и другую информацию, которая понадобится для подбора пароля. Далее взломщик прописывает в специальную программу адрес ресурса, к которому нужен доступ, логин учетной записи, подключает словарь и подбирает пароль. Если пароль пользователя основан на личной информации и состоит из малого количества символов, то попытка злоумышленника может принести успех даже за короткое время.
  • «Брут-чек». Этот вид брутфорса означает охоту на пароли в больших количествах. Соответственно, цель — завладеть данными не одного пользователя, а множества разных аккаунтов на нескольких веб-ресурсах. К хакерской программе подключается база логинов и паролей каких-либо почтовых сервисов, а также прокси-лист, чтобы замаскировать узел, не дав веб-сервисам почты обнаружить атаку. При регистрации на сайте, в социальной сети или в игре пользователь заполняет поле с адресом своей почты, на который приходят данные для входа в соответствующий аккаунт. В опциях брутфорса прописывается список названий сайтов или других ключевых слов, по которым программа будет искать в почтовых ящиках именно эти письма с логинами и паролями, вынимать и копировать информацию в отдельный файл. Так киберпреступник получает сотни паролей и может использовать их в любых целях.
  • Удаленный взлом операционной системы компьютерного устройства. Брутфорс в комбинации с другими взламывающими утилитами применяется для получения доступа к удаленному ПК. Взлом такого вида начинается с поиска сетей, подходящих для атаки. Адреса пользователей добываются особыми программами или берутся из баз. Словари перебора и списки IP-адресов вводятся в настройках brute force. В случае успешного подбора пароля сохраняются IP-адрес машины жертвы и данные для входа, которые далее используются злоумышленником — например, с целью полного управления ПК через утилиту Radmin или другую подобную программу.

RainbowCrack

Сайт:
project-rainbowcrack.com
Платформа: Unix, Windows

Обычно, хешированный вариант пароля хранится в открытом доступе и известно,
по какому алгоритму получен этот хэш (например MD5), но обратное преобразование
считается слишком сложной операцией, требующей в общем случае перебор всех
возможных комбинаций — это ставится в основу безопасности многих современных
систем. Если же иметь сортированные таблицы хешей и соответствующие им пароли —
получим систему, которая с помощью быстрого бинарного поиска по таблице может
получать обратное преобразование хеша в пароль для любого существующего
алгоритма хеширования.

Основная проблема: таблицы всех возможных паролей занимают слишком большой
объём на дисках. Поэтому используется оригинальный формат таблиц: хеши
собираются в цепочки по несколько тысяч комбинаций — каждая следующая комбинация
получается из предыдущей очередным применением той же функции хеширования. В
таблицы записывается только начало и конец каждой такой цепочки. Для того, чтобы
найти пароль по такой таблице, нужно применить к заданному хешу точно так же
функцию хеширования несколько тысяч раз (в зависимости от используемой длины
цепочек) и на очередной итерации получим хеш, который является концом одной из
цепочек в наших таблицах. После чего прогоняем эту цепочку заново от начального
хеша до нужного нам и находим комбинацию, предшествующую нашему хешу — это и
есть искомый пароль.

RainbowCrack
позволяет использовать такой подход. Смысл заключается в том,
что много времени занимает составление таблиц, зато взлом пароле осуществляется
в сотни раз быстрее, чем брутфорс. RainbowCrack
поможет как составить таблицы,
так и использовать их для взлома хеша. Кстати говоря, тратить уйму времени на
составления таблиц совсем необязательно — их можно купить и частично скачать из
торрентов.

Чрезвычайно быстрое восстановление пароля по хешу с использованием
Rainbow-таблиц.

Unbreakable codes

Certain types of encryption, by their mathematical properties, cannot be defeated by brute force. An example of this is one-time pad cryptography, where every cleartext bit has a corresponding key from a truly random sequence of key bits. A 140 character one-time-pad-encoded string subjected to a brute-force attack would eventually reveal every 140 character string possible, including the correct answer – but of all the answers given, there would be no way of knowing which was the correct one. Defeating such a system, as was done by the Venona project, generally relies not on pure cryptography, but upon mistakes in its implementation: the key pads not being truly random, intercepted keypads, operators making mistakes – or other errors.

Теоретические пределы

Ресурсы, необходимые для атаки методом грубой силы, растут экспоненциально с увеличением размера ключа , а не линейно. Хотя правила экспорта США исторически ограничивали длину ключей до 56-битных симметричных ключей (например, стандарт шифрования данных ), эти ограничения больше не действуют, поэтому современные симметричные алгоритмы обычно используют более надежные в вычислительном отношении 128–256-битные ключи.

Существует физический аргумент в пользу того, что 128-битный симметричный ключ является вычислительно защищенным от атак грубой силы. Так называемый предел Ландауэра, подразумеваемый законами физики, устанавливает нижний предел энергии, необходимой для выполнения вычисления kT  · ln 2 на бит, стертый при вычислении, где T — температура вычислительного устройства в кельвинах , k — постоянная Больцмана , а натуральный логарифм 2 составляет около 0.693. Ни одно необратимое вычислительное устройство не может потреблять меньше энергии, даже в принципе. Таким образом, для того, чтобы просто пролистать возможные значения для 128-битного симметричного ключа (игнорируя выполнение фактических вычислений для его проверки) теоретически потребовалось бы 2 128 — 1 битных переворотов на обычном процессоре. Если предположить, что расчет происходит при комнатной температуре (~ 300 K), можно применить предел фон Неймана-Ландауэра для оценки требуемой энергии как ~ 10 18 джоулей , что эквивалентно потреблению 30 энергии в течение одного года. Это равно 30 × 10 9 Вт × 365 × 24 × 3600 с = 9,46 × 10 17 Дж или 262,7 ТВтч ( около 0,1% годового мирового производства энергии ). Полное фактическое вычисление — проверка каждого ключа, чтобы увидеть, найдено ли решение — потребует во много раз больше. Более того, это просто потребность в энергии для циклического перемещения по ключевому пространству; фактическое время, необходимое для переворота каждого бита, не учитывается, оно определенно больше 0 .

Однако этот аргумент предполагает, что значения регистров изменяются с использованием обычных операций установки и очистки, которые неизбежно генерируют энтропию . Было показано, что вычислительное оборудование может быть спроектировано так, чтобы не сталкиваться с этим теоретическим препятствием (см. Обратимые вычисления ), хотя, как известно, такие компьютеры не были созданы.

Современные графические процессоры хорошо подходят для повторяющихся задач, связанных с аппаратным взломом паролей.

Одна доска COPACOBANA с шестью спартанцами Xilinx — группа состоит из 20 из них.

AES позволяет использовать 256-битные ключи. Для взлома симметричного 256-битного ключа грубой силой требуется в 2 128 раз больше вычислительной мощности, чем для 128-битного ключа. Один из самых быстрых суперкомпьютеров в 2019 году имеет скорость 100 петафлопс, что теоретически может проверять 100 миллионов миллионов (10 14 ) ключей AES в секунду (при условии 1000 операций на проверку), но все равно потребуется 3,67 × 10 55 лет, чтобы исчерпать 256- битовый ключ пространство.

, Лежащее в основе предположения о грубой силе атаки , что полное пространство ключей используются для генерации ключей, то , что опирается на эффективном генераторе случайных чисел , и что нет никаких дефектов в алгоритме или его реализации. Например, ряд систем, которые изначально считались невозможными для взлома с помощью грубой силы, тем не менее, были взломаны, потому что ключевое пространство для поиска оказалось намного меньше, чем первоначально предполагалось, из-за отсутствия энтропии в их псевдослучайном числе. генераторы . К ним относятся реализация SSL в Netscape (знаменитая взломанная Яном Голдбергом и Дэвидом Вагнером в 1995 г.}} и выпуск OpenSSL для DebianUbuntu, обнаруженный в 2008 г. как ошибочный. Подобное отсутствие реализованной энтропии привело к нарушению кода Enigma .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector