Защита wordpress от брутфорс атаки [11 способов]
Содержание:
- Краткое введение
- Theoretical limits[edit]
- Анализ риска
- Брутфорс: как пользоваться
- An introduction to brute force attacks
- Правила защиты от брутфорс — атак на SSH и PPTP
- Countermeasures[edit]
- Теоретические пределы
- Description
- Двухэтапная авторизация
- Программы для взлома паролей: RainbowCrack
- Unbreakable codes[edit]
- Дедик, dedik, dedicated — зачем нужен выделенный сервер
- По другую сторону баррикады
- Брутфорс для ВК
- Что такое брут и с чем его едят
- Словари
Краткое введение
В этой статье рассмотрим только два самых распространенных вида атак, а также продемонстрируем реализацию простейшего, но при том надежного, вида защиты.
DoS-атака
DoS-атака не подразумевает взлома данных. Ее цель состоит в загрузке сервера большим количеством трафика, чтобы реальные пользователи не могли получить к нему доступ.
DDoS-атака
DDoS-атака аналогична DoS, но имеет ключевое отличие, а именно то, что в ней задействуется не одна атакующая машина, а множество.
Наше решение не будет работать против такого вида атак. Поэтому с целью их предотвращения стоит обратиться к Akamai, Cloudflare и другим подобным сервисам, которые смогут оградить приложение прокси-сервером.
Брутфорс атака
В ходе брутфорс атаки сервер подвергается сотням запросов в секунду. Как правило, эти запросы нацелены на получение доступа к системе через отправку множества форм авторизации со случайными именами и паролями. Это значит, что нам нужно создать API с учетом всевозможных ситуаций.
Защиты против атак брутфорсом:
- сложные пароли максимальной длины;
- двухфакторная аутентификация;
- reCAPTCHA;
- ограничение попыток ввода.
Theoretical limits[edit]
The resources required for a brute-force attack grow exponentially with increasing key size, not linearly. Although U.S. export regulations historically restricted key lengths to 56-bit symmetric keys (e.g. Data Encryption Standard), these restrictions are no longer in place, so modern symmetric algorithms typically use computationally stronger 128- to 256-bit keys.
There is a physical argument that a 128-bit symmetric key is computationally secure against brute-force attack. The so-called Landauer limit implied by the laws of physics sets a lower limit on the energy required to perform a computation of kT · ln 2 per bit erased in a computation, where T is the temperature of the computing device in kelvins, k is the Boltzmann constant, and the natural logarithm of 2 is about 0.693. No irreversible computing device can use less energy than this, even in principle. Thus, in order to simply flip through the possible values for a 128-bit symmetric key (ignoring doing the actual computing to check it) would, theoretically, require 2128 − 1 bit flips on a conventional processor. If it is assumed that the calculation occurs near room temperature (~300 K), the Von Neumann-Landauer Limit can be applied to estimate the energy required as ~1018joules, which is equivalent to consuming 30 of power for one year. This is equal to 30×109 W×365×24×3600 s = 9.46×1017 J or 262.7 TWh (about 0.1% of the yearly world energy production). The full actual computation – checking each key to see if a solution has been found – would consume many times this amount. Furthermore, this is simply the energy requirement for cycling through the key space; the actual time it takes to flip each bit is not considered, which is certainly greater than 0.
However, this argument assumes that the register values are changed using conventional set and clear operations which inevitably generate entropy. It has been shown that computational hardware can be designed not to encounter this theoretical obstruction (see reversible computing), though no such computers are known to have been constructed.[citation needed]
Modern GPUs are well-suited to the repetitive tasks associated with hardware-based password cracking
A single COPACOBANA board boasting 6 Xilinx Spartans – a cluster is made up of 20 of these
AES permits the use of 256-bit keys. Breaking a symmetric 256-bit key by brute force requires 2128 times more computational power than a 128-bit key. One of the fastest supercomputers in 2019 has a speed of 100 petaFLOPS which could theoretically check 100 million million (1014) AES keys per second (assuming 1000 operations per check), but would still require 3.67×1055 years to exhaust the 256-bit key space.
An underlying assumption of a brute-force attack is that the complete keyspace was used to generate keys, something that relies on an effective random number generator, and that there are no defects in the algorithm or its implementation. For example, a number of systems that were originally thought to be impossible to crack by brute force have nevertheless been cracked because the key space to search through was found to be much smaller than originally thought, because of a lack of entropy in their pseudorandom number generators. These include Netscape’s implementation of SSL (famously cracked by Ian Goldberg and David Wagner in 1995) and a Debian/Ubuntu edition of OpenSSL discovered in 2008 to be flawed. A similar lack of implemented entropy led to the breaking of Enigma’s code.
Анализ риска
Риски от применения брутфорса зависят от количества объектов, на которые нацелены атаки, и намерений злоумышленника. С каждым годом появляются новые технологии, которые могут применяться как в благих, так и в преступных целях. Так, несколько лет назад на конференции DEF CON общественности был представлен WASP — беспилотник, который может собирать статистику домашних сетей Wi-Fi. Мощный компьютер на борту аппарата среди прочих функций имел возможность автоматического взлома паролей с помощью брутфорса.
Не так давно была замечена новая ботнет-сеть, проникающая в компьютерные системы с помощью подбора паролей SSH. Методы защиты, обычно применяемые против атак методом «грубой силы», не дают желаемого результата. Как в таком случае повысить уровень безопасности, можно узнать из нашей статьи.
Проблем со взломом через брутфорс можно избежать, если:
- создавать длинный пароль из букв, цифр и спецсимволов,
- не использовать в пароле личную информацию или какие-либо элементы логина,
- для всех аккаунтов создавать свои уникальные пароли,
- регулярно, примерно один раз в месяц, менять пароли,
- на веб-сайтах защищать вход от многочисленных попыток ввода данных.
Брутфорс: как пользоваться
Далее рассмотрим, как пользоваться брутфорсом и для чего. Если говорить о легальных и благих намерениях, то он используется для проверки надёжности или восстановления паролей. Этим занимаются системные администраторы, используя при этом специализированные программы.
В ситуациях с иными намерениями существует три вида использования такого метода. Первый – это персональный взлом. Киберпреступник может как узнать номер электронного кошелька так и завладеть другими личными данными пользователей. Используя их в последствие, злоумышленник подбирает пароль получения доступа к его аккаунтам, электронной почте или сайту.
Второй вид брутфорса – брут-чек. В данном случае уже выступает цель завладения паролями именно в больших количествах, для последующей продажи аккаунтов и иных целей. И третьим видом является удалённый взлом компьютерной системы, с целью полного управления персональным компьютером жертвы. Зачастую, злоумышленники пишут программы для такого перебора самостоятельно, с использованием мощных компьютерных систем.
Если Вам была интересна данная статья, рекомендуем так же прочитать о разработке сайта-визитки под ключ и о том, как это происходит. Будьте внимательны и осторожны, распространяя свои личные данные, не подвергайте себя риску и не занимайтесь преступной деятельностью.
An introduction to brute force attacks
Brute force attacks are often referred to as brute force cracking. Indeed, brute force — in this case computational power — is used to try to crack a code. Rather than using a complex algorithm, a brute force attack uses a script or bot to submit guesses until it hits on a combination that works.
There are easily available to help hackers launch brute force attempts. But even writing a script from scratch wouldn’t be too much of a stretch for someone comfortable with code. While these attacks are easy to execute, depending on the length and nature of the password and the computational power used, they could take days, weeks, or even years to be successful.
It’s worth noting that brute force attacks are re-entering the spotlight in 2020 as cybercriminals take advantage of the increase in the number of remote workers. An April 2020 report from Kaspersky found that the number of brute force attacks on Remote Desktop Protocols (RDPs) increased 400 percent in March and April.
Source: Kaspersky
Before we look at how to spot and prevent brute force attacks, we should note some other terms you may come across related to this topic.
Hybrid brute force attacks
A brute force attack uses a systematic approach to guessing that doesn’t use outside logic. Similar attacks include a dictionary attack, which might use a list of words from the dictionary to crack the code. Other attacks may start with commonly used passwords.
These are sometimes described as brute force attacks. However, because they use some logic to decide which iterations may be the most likely first, they are more accurately referred to as hybrid brute force attacks.
Reverse brute force attack
A reverse brute force attack involves using a common password or group of passwords against multiple possible usernames. This doesn’t target a single user but might be used to try to gain access to a particular network.
The best protection against this type of attack is to use strong passwords, or from an administrator’s point of view, require that strong passwords are used.
Credential stuffing
Credential stuffing is a unique form of brute force attack that uses breached username and password pairs. If a username/password pairing is known, an attacker can use it to attempt to gain access to multiple sites. Once in a user’s account, they have full control over that account and access to any of the details it holds.
Precautions like two-factor authentication and security questions can help prevent damage by these kinds of attacks. However, the best protection is for users to never use the same password for multiple accounts.
Правила защиты от брутфорс — атак на SSH и PPTP
Как и говорилось выше, блокировать будем ip — адреса, с которых было четыре запроса на соединение с интервалом менее одной минуты.
Для этого создадим:
- по 4 правила в IP-Firewall-Filter для SSH и для PPTP, которые будут добавлять ip-адреса для блокировки в список blacklist
- правило блокировки в для всех ip-адресов из списка blacklist
Правила для SSH
Правила для PPTP
правило для блокировки ip-адресов из списка «blacklist»
Детальное описание правил
Для понимания детально рассмотрим каждую строку правил для SSH и правило блокировки ip-адерсов из списка «blacklist».Начнём с привил для SSH. Строки будем рассматривать с конца. Начнем с четвертой.
строка 4
Этой строкой «говорим» микротику добавить на одну минуту (address-list-timeout=1m) ip-адрес нового соединения (connection-state=new), поступившего на порт 22 TCP (protocol=tcp dst-port=22) в адрес-лист (address-list=ssh_stage1)
строка 3
Этой строкой «говорим» микротику добавить на одну минуту (address-list-timeout=1m) ip-адрес нового соединения (connection-state=new), поступившего на порт 22 TCP (protocol=tcp dst-port=22) в адрес-лист (address-list=ssh_stage2), если этот ip-адрес уже находится в списке ssh_stage1 (src-address-list=ssh_stage1)
Аналогично добавляем в список ssh_stage3 — строка 2
строка 1
Этой строкой «говорим» микротику добавить на десять дней (address-list-timeout=10d) ip-адрес нового соединения (connection-state=new), поступившего на порт 22 TCP (protocol=tcp dst-port=22) в адрес-лист (address-list=blacklist), если этот ip-адрес уже находится в списке ssh_stage3 (src-address-list=ssh_stage3)
Блокировка ip-адресов из списка «blacklist»
После того как мы создали правила заполнения списка «blacklist», нужно добавить правило блокировки всех ip-адресов, входящих в него. Для этого нужно правильно выбрать цепочку, в которой будем осуществлять блокировку, и вид блокировки.
Цепочку предлагаю выбрать PREROUTING. Обратите внимание, что есть RAW PREROUTING и MANGLE PREROUTING. В нашем случае используется RAW PREROUTING, так как эта обработка идет первой. Это позволит снизить нагрузку на процессор.В официальной документации предлагают делать правило в цепочке INPUT
Возможно, это сделано для того, чтобы было удобней управлять правилами в разделе «IP-Firewall-Filter Rules».
Countermeasures[edit]
In case of an offline attack where the attacker has access to the encrypted material, one can try key combinations without the risk of discovery or interference. However database and directory administrators can take countermeasures against online attacks, for example by limiting the number of attempts that a password can be tried, by introducing time delays between successive attempts, increasing the answer’s complexity (e.g. requiring a CAPTCHA answer or verification code sent via cellphone), and/or locking accounts out after unsuccessful login attempts.[page needed] Website administrators may prevent a particular IP address from trying more than a predetermined number of password attempts against any account on the site.
Теоретические пределы
Ресурсы, необходимые для атаки методом перебора, растут экспоненциально с увеличением размера ключа , а не линейно. Хотя правила экспорта США исторически ограничивали длину ключей до 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 с 6 спартанцами 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 .
Description
A brute force attack can manifest itself in many different ways, but
primarily consists in an attacker configuring predetermined values,
making requests to a server using those values, and then analyzing the
response. For the sake of efficiency, an attacker may use a dictionary
attack (with or without mutations) or a traditional brute-force attack
(with given classes of characters e.g.: alphanumeric, special, case
(in)sensitive). Considering a given method, number of tries, efficiency
of the system which conducts the attack, and estimated efficiency of the
system which is attacked the attacker is able to calculate approximately
how long it will take to submit all chosen predetermined values.
Двухэтапная авторизация
Защита файлов и директорий паролем в cPanel
Можно установить защиту паролем на любую директорию на сервере средствами встроенного модуля веб-сервера. Для хостинга на базе панели cPanel нужно нажать в панели Файлы — Конфиденциальность каталога.
На следующем экране выберите папку, которую вы хотите защитить (/home/username/public_html/wp-admin). При нажатии на иконку слева происходит открытие каталога, при нажатие на название каталога — выбор.
Далее укажите логин и пароль и включите защиту. Вы же помните, что пароли должны отвечать критериям из пункта 1? Ну и, конечно, не устанавливайте одинаковые пароли на различные формы ввода.
В результате этих действий в папке wp-admin будет создан файл .htaccess с такими настройками:
AuthType Basic AuthName "Autorize" AuthUserFile "/home/username/.htpasswds/domain.com/passwd" require valid-user
К сожалению, интерфейс панели управления не предусматривает защиту файла wp-login.php. Потому нужно скопировать фрагмент выше и вставить его в основной файл .htaccess в папке вашего сайта (обычно это /home/username/public_html) таким образом:
<FilesMatch "wp-login.php"> AuthType Basic AuthName "Autorize" AuthUserFile "/home/username/.htpasswds/domain.com/passwd" require valid-user </FilesMatch>
Защита файлов и директорий паролем в Apache
Если у вас панель управления не cPanel, или вообще нет панели управления на сервере, то можно просто добавить такие строки, как указано выше. После чего нужно сгенерировать сам файл доступа (прописан в строке AuthUserFile). Пароли в данный файл записываются в зашифрованном виде. Для шифрования пароля можно использовать сервис (тип кодировки нужно указать MD5). Полученные строчки нужно вписать в файл паролей, который в примере записан как /home/username/.htpasswds/domain.com/passwd
Содержимое файла passwd должно выглядеть примерно так:
admin:$apr1$jO5DLVTA$/KiKawt4F52ZNnTISPC1y/ editor:$apr1$BsN/.Ddj$zSgP0RrJpvgazIS4D23Ce/
Защита файлов и директорий паролем в Nginx
И в случае использования только веб-сервера Nginx — добавьте такие строчки в файл конфигурации для сайта (в блоке server):
location ~* ^/(wp-admin|wp-login.php) { auth_basic "Unauthorized"; auth_basic_user_file "/home/username/.htpasswds/domain.com/passwd"; }
Если хотите комбинировать эту настройку с ограничением доступа из пункта 3 данной статьи, то достаточно добавить только две строки, описывающие авторизацию внутрь блока, ограниченного фигурными скобками. Если вы продублируете блок location ниже, то в результате будет получена ошибка при перезапуске веб-сервера Nginx.
Для проверки правильности конфигурационного файла Nginx и перезагрузки веб-сервера в командной строке нужно выполнить:
~# nginx -t ~# systemctl restart nginx
Путь к файлу, который выше указан как «/home/username/.htpasswds/domain.com/passwd» может быть любой. Главное, чтобы пользователь, от имени которого работает Nginx, имел права на его чтение. Содержимое данного файла формируется точно так же, как и при настройке для веб-сервера Apache.
Программы для взлома паролей: RainbowCrack
Как понятно из названия, программа RainbowCrack использует радужные таблицы для взлома парольных хешей. Работа возможна из командной строки или через понятный начинающему графический интерфейс.
Методика подбора пароля, который “изымается” по этому методу, значительно превосходит по скорости работу программ по методу брутфорс. При этом хакеру нет необходимости готовить таблицы самому: разработчики любезно составили радужные таблицы для LM, NTLM, MD5 и SHA1 бесплатно.
Самая привлекательная, конечно, для хакера фишка программы в том, что здесь активно используется возможность графических процессоров в процессе дешифрования, что ещё более ускоряет процесс реинкарнации паролей.
Поддерживаемые платформы: Linux и Windows
Скачать RainbowCrack с сайта производителя
Unbreakable codes[edit]
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.
Дедик, dedik, dedicated — зачем нужен выделенный сервер
Если вы далеки от администрирования, то могли подумать, что Дедик и Брут — это два друга (или недруга?) с экзотическими именами. Но нет — слово «дедик» образовалось от английского dedicated, а точнее Dedicated server. Сленговое название «дедик» означает, как нетрудно догадаться, выделенный сервер. Опытные пользователи уже знают обо всех преимуществах физических серверов, но на всякий случай мы напомним.
Dedicated server — это, по сути, полноценный компьютер, расположенный в дата-центре провайдера в отдельной стойке и работающий 24 часа в сутки 7 дней в неделю. В отличие от виртуального хостинга, на нём не будут размещены сайты других клиентов, что, несомненно, даёт ощутимые преимущества:
— Все ресурсы принадлежат вам, что делает работу сервера более стабильной.
— Можно выбрать любую версию любой операционной системы и настроить её на своё усмотрение, а также установить необходимое ПО.
— Вы будете осуществлять полноценное администрирование своего сервера с root-правами.
— Всё оборудование полностью изолировано и находится в отдельной стойке, что повышает безопасность и сохранность данных.
И, конечно же, на выделенном сервере нет ограничений на количество сайтов, баз данных и почтовых ящиков. Обычно «дедики» используются для крупных ресурсов или проектов, которым необходимо обеспечить бесперебойную работу даже при большом наплыве посетителей.
Но довольно теории, перейдём к практике. Представим, что ваш сайт вырос, просмотры растут, вы перенесли его на отдельный сервер — теперь можно радоваться новым возможностям и высокой пропускной способности. Так ли всё радужно на самом деле?
По другую сторону баррикады
Теперь посмотрим на хеши глазами администратора того ресурса, который он хочет максимально защитить от взлома. Как можно усложнить жизнь хешкрекеру или вообще сделать так, что хеши пользователей станут неломаемыми?
Иногда для этого достаточно перейти на самую свежую версию движка и выбрать алгоритм, самый медленный по скорости брута. Но если обновление движка не планируется, а администратор хочет максимально обезопасить пароли своих пользователей от подбора, то есть другой вариант — пропатчить код проверки пароля так, чтобы у всех вновь зарегистрированных пользователей (или сменивших свои пароли после определенной даты) пароли хешировались по-другому. Как?
Конечно, можно использовать любой стандартный тяжелый алгоритм из 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 остаются до сих пор несломанными. Что там внутри намешано при хешировании — неизвестно.
И нестареющий совет всем пользователям: самый надежный вариант защитить свой аккаунт от взлома, даже если был получен доступ к хешу от вашего пароля, — использовать длинный пароль, состоящий из случайных символов. Такие пароли не ломаются!
Брутфорс для ВК
Специализированные форум и паблики соцсетей кишат сообщениями и предложениями услуг по взлому страниц вконтакте методом подбора. Всевозможные “хакерские” сайты предлагают скачать чудодейственную программу, которая в считанные минуты подберет ключ к любой странице ВК. Доля правды в этом есть — пароль и логин от аккаунта соцсети станут известны разработчикам программы, поскольку доверчивый пользователь, скачавший приложение, введет их в окне настройки. Весь, абсолютно весь софт, продвигаемый под брендом взлома вконтакте имеет две цели — вытянуть средства за оплату ПО юзером, либо похитить его данные.
Взлом личных страниц вконтакте методом грубого перебора был актуален до 2011 года, после чего разработчики озаботились безопасностью пользователей и ввели скрипты, позволяющие блокировать подозрительные аккаунты с большим количеством попыток входа, и обходящие антикапчу боты. Администрация портала вправе подать исковое заявление в суд о попытке взлома аккаунта пользователя исходя из данных IP-адреса, с которого осуществлялось действие.
Как обезопасить себя от взлома
Как бы банально это ни звучало — не разглашайте конфиденциальные данные, даже если собеседник вам симпатичен. Устанавливайте пароли чуть более сложные, нежели пресловутые 123456789, qwerty, даты рождения, имена и фамилии, и прочие шаблонные комбинации.
Что такое брут и с чем его едят
Слово «брут» или «брутфорс» произошло от английского brute force, что в переводе означает «грубая сила». Но к дракам это не имеет никакого отношения. Метод brute force — один из способов взлома или хакерской атаки. Его суть состоит в простом переборе огромного числа различных сочетаний символов с расчётом на то, что однажды взломщик подберёт нужную комбинацию — ваш пароль.
Первые кандидаты на разоблачение — простые пароли вроде “12345678”, “admin”, “qwerty” и прочие. Следом за ними идут популярные слова, имена, названия, даты. Брутфорсеры используют специальные словари, в которых содержатся тысячи примеров наиболее частых паролей. И поверьте, “alexandr01” или “parol1324” точно не относятся к разряду надёжных.
К сожалению, перед взломом могут не устоять даже наборы случайных символов, составленные по всем правилам: с заглавными буквами и знаками препинания. Хотя их шансы, несомненно, гораздо выше. Но в нашем случае проблема с брутом не ограничивается только сложностью пароля.
Что же значит «брутить дедики», и чем опасен взлом? Ответ на первый вопрос мы уже получили — злоумышленник начнёт предпринимать многократные попытки авторизации на вашем сервере, перебирая различные пароли. Для этого он будет использовать один из известных протоколов удалённого доступа: обычно это SSH (Secure Shell) у Linux-серверов и RDP (Remote Desktop Protocol) у Windows Server
Брут отличается от DDoS-атаки тем, что хакеру важно сохранить работоспособность ресурса, поскольку чаще всего он собирается использовать его для своих нужд
Взлом причиняет вред уже на стадии попыток — система будет хранить логи неудачных входов, размер которых может достигать нескольких гигабайт. Если своевременно не очищать их, нагрузка станет довольно существенной. Чересчур активные и продолжительные атаки приведут к падению производительности и снижению скорости работы. При этом конфигурация, тип и версия операционной системы не играют роли — брутфорсу подвержены абсолютно любые серверы.
В случае успешного взлома хакер получает полный доступ к вашей удалённой машине, и далее возможны два варианта развития событий. Первый — злоумышленник начнёт «портить» ваши файлы и данные вплоть до их удаления, устанавливать вирусы и вредоносные программы. И второй — взломщик постарается вести себя как можно незаметнее, чтобы использовать сервер в своих целях. Например, для тех же DDoS-атак или для создания ботнета.
Словари
Успех в хешкрекинге основан на хороших словарях, желательно состоящих из реальных паролей пользователей. Где же их взять? Есть три пути, рассмотрим их подробнее.
- Скачать из интернета готовые словари (погуглив слово wordlist). Это самый простой способ, но и словари эти весьма низкого качества — в них много мусора и искусственно нагенерированных слов, а мало реальных паролей. Так что этот вариант — если только на первое время.
- Скачать вложения (аттачменты) к сообщениям о сломанных хешах на форумах InsidePro и HashKiller — там часто размещаются просьбы о помощи при бруте крупных списков, и другие форумчане помогают, выкладывая свои результаты в формате хеш:пароль. А значит, можно накачать себе таких файлов и извлечь оттуда все пароли. Это уже будут очень хорошие словари, но у них будет один недостаток — все пароли из таких словарей лежат в паблике и доступны также и всем остальным хешкрекерам.
- Нарабатывать словари самому, постоянно обрабатывая списки невзломанных хешей, которые можно накачать с тех же форумов. Это самый действенный метод, хотя и самый долгий. Однако такие словари — наиболее ценные, так как содержат только реальные, уникальные и часто приватные пароли. У профессиональных хешкрекеров есть даже такой термин, как «майнинг реалпассов», то есть если есть платные хеши — ферма брутит их, если их нет — ферма не простаивает, а сутками брутит списки несломанных хешей с форумов, непрерывно нарабатывая все новые и новые уникальные пароли в копилку хешкрекера.
Очевидно, что тот, кто серьезно занимается хешкрекингом, идет по последнему пути и постепенно накапливает свой собственный и очень эффективный словарь.
Частотные словари
Допустим, имеется огромный список соленых хешей, который надо быстро обработать. Как это сделать, если атака по большому словарю даже на мощной ферме будет идти много суток, а то и недель? Ответ один — использовать частотные словари.
Что это такое? Это обычные словари, но в них пароли отсортированы в порядке убывания частоты их употребления. В таких словарях первыми идут наиболее популярные пароли — см. примеры таких словарей в дистрибутиве программы Hash Manager, файлы Top100xx.dic. Очевидно, что эффективней проверить хеши сначала на самые часто употребляемые пароли, затем — на более редкие и так далее. Это позволит быстро сломать все популярные пароли и существенно облегчить список хешей для последующей работы.
Таким образом, накопив порядочно словарей, можно собрать по ним статистику, сформировать собственный частотный словарь и обработку всех тяжелых списков хешей начинать именно с него.