Как взломать пароль с помощью брутфорс атаки
Содержание:
- Как обойти капчу Вконтакте?
- Какие пароли взламывают чаще всего? Статистика
- Способы предотвращения
- Теоретические пределы
- Отключение xmlrpc.php
- How to Detect Brute Force Attacks
- How can it happen?
- Types of Brute Force Attacks
- License
- Description
- Взлом страницы входа роутера
- High Security
- Ликбез
- wordlistctl: large database of dictionaries [Dictionary Collection]
- Deprecation
- Impossible Security
Как обойти капчу Вконтакте?
ВК требует ввод капчи после 3 неудачной попытки (перезагрузка F5 не помогает), а как он узнает что это именно вы делаете несколько попыток входа?
— по IP
— по кукам (cookies), кэшу и JavaScript
Значит, нам не реже чем через 3 запроса нужно менять IP и чистить куки.
С куками, кэшем и JavaScript нет проблем – их можно просто отключить в настройках браузера.
IP можно менять установив прогу по смене IP – в этом нет ничего мудреного, в сети их полно (Гугл в помощь)
Можно пользоваться браузером TOR (кто не знает – это браузер для анонимного гуляния по сети, он же меняет IP-шники при каждой новой сессии, полезная штука особенно для тех кто сёрфит или работает в САР)
Но почти полностью сводит на нет все попытки перебора ГЕОлокация.
Сервер ВК запоминает откуда (географически) был произведен последний вход.
И если ваш IP из другого населенного пункта, то (возможно) будет выскакивать надпись:
«Вы пытаетесь зайти под именем Ивана Иванова из необычного места.»
Чтобы подтвердить, что Вы действительно являетесь владельцем страницы, пожалуйста, укажите все недостающие цифры номера телефона, к которому привязана страница.
Какие пароли взламывают чаще всего? Статистика
Для большинства систем, где может авторизоваться пользователь, предусмотрены логин и пароль, выданные по умолчанию. В идеале, каждый пользователь после входа в систему по дефолтному паролю должен устанавливать свой уникальный, однако многие пренебрегают этим простым правилом безопасности или устанавливают слишком простые сочетания символов, чтобы было проще их запоминать. Таким образом формируются целые группы уязвимых паролей:
- Простые последовательности (keyboard-walks): qwerty, qazwsx, 123456;
- Фразы и слова, которые часто первыми приходят в голову при создании пароля: password, admin, root, access;
- Пароли, частично дублирующие логины, например с добавлением цифр: user123;
- Слова на русском языке в английской раскладке: gfhjkm, flvby.
Немного статистики:
- по данным https://haveibeenpwned.com/ на сегодняшний день скомпрометировано более 9 млрд аккаунтов;
- в «словаре» паролей у злоумышленников находится более 555 млн записей;
- наибольшее число хостеров ботнет (botnet C&C — command & controllers) располагается в США. На втором и третьем месте — Россия и Нидерланды.
Из отчета Spamhaus Botnet Threat Report 2019
Способы предотвращения
Обе атаки работают схожим образом, одновременно отправляя множество запросов на сервер. Таким образом, главным приоритетом будет обнаружить инициатора и ограничить количество его запросов в определенный промежуток времени.
1. Решение с reCAPTCHA
Это одно из типовых решений, которое работает только для форм авторизации/регистрации или любых других POST-методов, не давая атакующему отправлять случайные запросы.
Форма reCAPTCHA
Однако наша главная задача состоит не в этом. Нам нужно ограничить запрос определенной продолжительностью, а значит данное решение не подходит. Мы не хотим, чтобы злоумышленники могли продолжать перегружать систему.
2. Ограничитель частоты обращений
С помощью этого метода можно ограничить продолжительность запросов клиента до определенного времени, независимо от того, что именно он делает. В результате время совершения запроса ограничивается как для реального пользователя, так и для скрипта. Этот метод еще известен как инкрементная задержка или регулирование запросов. Вот некоторые из его особенностей.
- Ограничитель частоты обращений может контролировать входящий и исходящий трафик.
- Таким образом можно ограничивать количество запросов от конкретного пользователя.
- Это помогает защититься от DoS и брутфорс атак.
А теперь создадим такой сами.
В данном случае будем использовать npm-пакет Express Rate Limit и создадим простой проект с помощью Express. Для других фреймворков есть ряд альтернативных пакетов, которые можно без проблем найти в Google.
Вот простой Express API для нашего эксперимента.
Здесь у нас два API. Один отвечает за получение, а второй за отправку. При этом никакого ограничения для них нет. Мы можем обращаться к этим API тысячи раз, что и представляет основной риск для авторизации или других чувствительных API.
А теперь ограничим этот API.
Здесь мы задействуем Express Rate Limit, так как работаем с Express.
Теперь настроим API.
Это работает?
Вот результат для первых пяти запросов. Как и ожидалось, мы получили сообщение об успешном обращении и код состояния 200.
Запрос Postman
А теперь превысим наш лимит и взглянем еще раз. Мы получили сообщение, которое прописали в ограничителе обращений, а также код состояния 429. Значит, ограничение для нашей конечной точки работает.
Запрос Postman
Теоретические пределы
Ресурсы, необходимые для атаки методом перебора, растут экспоненциально с увеличением размера ключа , а не линейно. Хотя правила экспорта США исторически ограничивали длину ключей до 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 .
Отключение xmlrpc.php
Атаки путем запросов к файлу xmlrpc.php очень популярны, поскольку таким образом за один запрос возможно перебрать десятки тысяч комбинаций различных логинов и паролей. Поэтому очень важная часть защиты админ-панели — это отключение или ограничение доступа к данному файлу. В WordPress протокол XML-RPC используется для взаимодействия движка с различными внешними приложениями, например, Jetpack. Как показывает практика, в 99% сайтов файл xmlrpc.php не используется вообще. Если вы сомневаетесь, используется он у вас или нет, то создайте резервную копию файлов, которые вы будете изменять перед выполнением дальнейших инструкций.
Отключение xmlrpc.php при помощи плагинов
Для отключения xmlrpc.php можно использовать различные плагины, которых на данный момент уже достаточно много. Просто напишите в поиске в маркетплейсе плагинов «xmlrpc»:
После установки не забудьте активировать плагин и включить саму защиту в настройках выбранного плагина.
Запрет доступа к xmlrpc.php при помощи .htaccess
Первый вариант:
<IfModule mod_alias.c> RedirectMatch 403 (?i)/xmlrpc.php </IfModule>
Этот способ будет полезен, если у вас в одной папке несколько установок WordPress в разных подпапках. Достаточно разместить код настройки в главном .htaccess-файле, который располагается уровнем выше папок с WordPress, и все сайты будут защищены. Также защита регистронезависимая, то есть будет работать в случае атаки запросами с заглавными буквами.
Второй вариант:
<Files xmlrpc.php> Require all denied Require ip 127.0.0.1 #разрешить локальные подключения Require ip 23.45.67.89 #один адрес Require ip 10.20.30.40 #еще один адре </Files>
Этот способ удобен тем, что можно закрыть доступ для всех или оставить доступ с некоторых доверенных адресов, если требуется.
Запрет доступа к xmlrpc.php при помощи Nginx
Если на вашем сервере не используется Apache, то запрет доступа через Nginx будет выглядеть так:
location /xmlrpc.php { allow 23.45.67.89; #один адрес allow 123.123.123.0/24; #блок адресов deny all; #запрет всем остальным }
Отключение xmlrpc.php при помощи пользовательской функции
Еще один вариант защиты связан с добавлением пользовательской функции в файл вашей темы сайта. В конце functions.php вашей темы добавьте код:
function shapeSpace_disable_xmlrpc_multicall($methods) { unset($methods); return $methods; } add_filter('xmlrpc_methods', 'shapeSpace_disable_xmlrpc_multicall');
Данный метод позволяет не затрагивать настройки Apache или Nginx и будет полезен, если у вас ограниченный доступ к серверу, где расположен сайт. Но недостаток в том, что защита привязана к конкретной теме и при ее изменении или обновлении настройку нужно добавлять повторно.
How to Detect Brute Force Attacks
The key indication a bad actor is trying to brute force their way into your system is to monitor unsuccessful login attempts. If you see there have been many repeated failed login attempts, be suspicious. Watch for signs related to multiple failed login attempts from the same IP address and the use of multiple usernames from the same IP address.
Other signs can include a variety of unrecognized IP addresses unsuccessfully attempting to login to a single account, an unusual numerical or alphabetical pattern of failed logins, and multiple login attempts in a short time period.
It’s also possible for these cyberattacks to add you to a botnet that can perform denial-of-service attacks on your website. Aside from the above, spam, malware, and phishing attacks can all be the prerequisite of a brute force attack.
How can it happen?
However, If You are interested in cracking passwords, you will have to use the computer.If you are a good coder then it will be easier to code the lines which can code the program easily.
Let’s suppose that you have developed a password that breaks the program which tries 1000 combinations per second but it takes around a minimum of 7 years.
Even if you want to do it faster!
You need a supercomputer. So, if we calculate the supercomputer then in just 22 seconds, all 218 trillion will be tested. But Can a Hacker purchase or create a supercomputer to perform this function?
Computing resources of this kind are not available for the common people. The password hackers are not common people who can collect the computing resources by different means for developing a powerful computing engine via software.
The calculation which are the possible combinations of an 8-character-password.but think if your password is the 10th combination or the 100th combinations. Why it is essential to have additional layers of the security in order to detect and deflect any password breaching attempt.
Hacker’s Motive Behind Every Act
The Brute Force attack which is done by the threat actor has some motive behind that even they try to gain illegal access to the target website and utilize it in either executing another kind of attack or stealing valuable data which simply used to break.
How Can I Prevent It?
You can take some precautionary measures :
- Password length
- Modifying .htaccess file
- Using captcha
- Two-factor Authentication.
- Cloudflare.
- Password Complexity.
- Limit login attempts.
Password length & Complexity :
The first step towards the Brute Force Attack prevention should be longer password length like “ I love* “ and “12345” instead of using these types of passwords to make sure to make it complex. The complexity of the password delays the cracking process.
Modifying .htaccess file
When you add a few rules in.htaccess file which further hardens to the security of your WordPress site. The objective is to allow the wp-admin which can only specific IP addresses listed in .htaccess file.
So open your .htaccess file and modify it like :
“
<Files /wp-login>
order deny, allow
allow from IP1
allow from IP2
deny from all
</Files>”
IP1 and IP2 will be the Ip that you allowed to access.Using Captcha :
If you are using captchas are most commonly used in websites. Even they prevent the boats from executing the automated scripts, mainly used in brute force attacks. The installing captcha in your WordPress site is fairly easy.
Two-factor Authentication :
The two-factor authentication is an extra line for the defense which can defend your account from the Brute Force attack. The chances of successfully executing the Brute Force Attack on the 2FA protected sites.
Cloudflare
Cloudflare is a renowned service for WordPress which usually deals with the CDN and caching.this company offers the protective shield against the Brute Force Attacks. Users can set rules for accessing the login pages and set Browser Integrity Check.
Limit the Login Attempts :
The powerful action is to limit the login attempts on WordPress which admin or another admin panel for that matter.
Found this article informative? Follow Vednam on , , Mix, Tumbler, and Linkedin to know more exclusive content we post.
You can Also read Articles :
Types of Brute Force Attacks
The most basic brute force attack is a dictionary attack, where the attacker works through a dictionary of possible passwords and tries them all. Dictionary attacks start with some assumptions about common passwords to try to guess from the list in the dictionary. These attacks tend to be somewhat outdated, given newer and more effective techniques.
Recent computers manufactured within the last 10ish years can brute force crack an 8 character alphanumeric password – capitals and lowercase letters, numbers, and special characters – in about two hours. Computers are so fast that they can brute force decrypt a weak encryption hash in mere months. These kinds of brute force attacks are known as an exhaustive key search, where the computer tries every possible combination of every possible character to find the right combination.
Credential recycling is another type of brute force attack that reuses usernames and passwords from other data breaches to try to break into other systems.
The reverse brute-force attack uses a common password like “password,” and subsequently tries to brute force a username to go with that password. Since password is one of the most common password in 2017, this technique is more successful than you might think.
License
Copyright 2020 — Luke Paris (Paradoxis)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the «Software»), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to
do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
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.
Взлом страницы входа роутера
Чтобы иметь представления об 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 не извлекает из них информацию, поскольку на роутере вход выполняется с помощью веб-формы, а для этой модели брут-форс не поддерживается.
High Security
Switching to the High Security level in DVWA extends on the medium level by making the time delay between failed logins a random number between 0 and 4 seconds, the Devoloper has also introduced a Anti Cross-Site Request Forgery (CSRF) token
If you just re-run the hydra command as we did with medium Security changing the security= at the end of the command too high as below..
Hydra’s output will error saying its found 16 valid passwords found.
before going any further let us use FireFox’s inspector element by right-clicking the webpage within firefox and choose Inspect Element and lets take a look at the html.
Drill down in Inspect Element until you find the HTML for the login form. notice there is now a hidden field with the name user_token being submitted with our GET request.
If you change the type=”hidden” to type=”text” you should see the hidden box render in your web browser.
If you remove all the characters from this un-hidden box and try to login we get a new error message that states CSRF token is incorrect.
Making burp intercept a login attempt shows the user_token with a string of alpha numeric characters added to the end of the GET request.
Forward on the intercepted request and have another go at logging in, notice that the user_token= has changed to another random alpha numeric string of characters.
This is the CSRF Token and is used to add credibility to the origin of the request being received by the server, this token is a impossible to guess random number generated by the server and is sent along with our GET request.
On the brute forcing page we are currently looking at, if the CSRF Token does not match, our request will error with the message “CSRF Token is incorrect” which we have just seen previously when we sent a request removing all the characters from the hidden user_token= field.
No longer can use hydra alone to brute force DVWA on the high security level as hydra does not have the ability to collect the CSRF token while making the request, so we have to get a little more creative to get this Brute Force to work.
There are a few different options for us to get around this, firstly we could use Burp this can be used to capture the CSRF token and run the brute force against the page using intruder tab in Burps menus but in the community edition using this feature only allows for a single thread to be run at a time greatly reducing Burp’s attack speed.
You can also combine Burp with Hydra, putting Hydra’s traffic through a proxy like Burp, This allows Burp to handle the requests and capturing the CSRF token, altering Hydra’s initial request, so it does not need to be aware of the CSRF Token and also bypasses Burps intruder limitations in the community edition.
Lastly we can have a go at creating our own brute forcing tool, which is the option i thought was most interesting and i will be covering below using python.
If you would like to see a tutorial for either using Burp or using Burp and Hydra to brute force DVWA on high security please let me know in the comments below and I will make a separate tutorial for these.
Ликбез
Brute-force (атака полным перебором) – метод решения математических задач, сложность которого зависит от количества всех возможных решений. Сам же термин brute-force обычно используется в контексте хакерских атак, когда злоумышленник пытается подобрать логин/пароль к какой-либо учетной записи или сервису.
Рассмотрим инструменты, которые можно использовать для выполнения brute-force атак на SSH и WEB-сервисы, доступные в Kali Linux (Patator, Medusa, Hydra, Metasploit), а также BurpSuite и даже самый известный сетевой сканер nmap.
Brute-force SSH
Для примера возьмем тестовую машину 192.168.60.50 и попробуем подобрать пароль пользователя test по SSH.
Мы будем использовать популярные пароли из стандартного словаря rockyou.txt. Этот и другие словари доступны в свободном доступе на гитхабе.
Patator
Для подбора пароля средствами Patator используем команду:
где:ssh_login — необходимый модульhost – наша цельuser – логин пользователя, к которому подбирается пароль или файл с логинами для множественного подбораpassword – словарь с паролями-x ignore:mesg=’Authentication failed’ — команда не выводить на экран строку, имеющую данное сообщение. Параметр фильтрации подбирается индивидуально.
Hydra
Для подбора пароля используя Hydra выполним команду:
где:-V – показывать пару логин+пароль во время перебора-f – остановка как только будет найден пароль для указанного логина-P – путь до словаря с паролямиssh://192.168.60.50 – указание сервиса и IP-адрес жертвы
Medusa
Для подбора пароля с использованием Medusa выполним команду:
где:-h – IP-адрес жертвы-u – логин-P – путь к словарю-M – выбор модуля-f – остановка после нахождения валидной пары логин/пароль-v – настройка отображения сообщений на экране во время процесса подбора
Metasploit
Произведем поиск инструмента для проведения brute-force атаки по SSH:
search ssh_login и получили ответ:
Задействуем модуль:
Для просмотра необходимых параметров, воспользуемся командой show options. Для нас это:rhosts – IP-адрес жертвыrport – портusername – логин SSHuserpass_file – путь до словаряstop_on_success – остановка, как только найдется пара логин/парольthreads – количество потоков
Указание необходимых параметров производится через команду “set“.
Указав необходимые параметры набираем команду “run” и ждем.
Противодействие
Ограничить количество устанавливаемых соединений с использованием межсетевого экрана.
Пример настройки iptables:
Такое правило установит ограничение доступа к SSH для каждого IP-адреса до 1 соединения в секунду, значительно усложнив перебор. Также эффективным решением может быть использование двухфакторной аутентификации (например, используя eToken) или аутентификации с использованием ключевой пары, а также использование ACL на основе IP-адресов.
wordlistctl: large database of dictionaries [Dictionary Collection]
wordlistctl is a program that contains a large database of dictionaries. In fact, it is this database that is of interest, dictionaries can be downloaded directly, without this program – I will give links to the databases below, they are in JSON format, that is, quite readable.
wordlistctl is created by blackarch.org developers, web site: https://github.com/BlackArch/wordlistctl
How to install wordlistctl
Installing wordlistctl on Kali Linux:
sudo apt install python3-pip python3-libtorrent python3-coloredlogs git clone https://github.com/BlackArch/wordlistctl cd wordlistctl
Open the requirements.txt file
gedit requirements.txt
And remove the line from there
libtorrent
Then continue:
sudo pip3 install -r requirements.txt python3 ./wordlistctl.py
In BlackArch, this program is in the standard repository – install directly from there.
sudo pacman -S wordlistctl
How to use wordlistctl
All dictionaries are divided into 5 categories:
- username
- password
- hostname
- filename
- misc = other
To show all dictionaries, for example, in the password category:
wordlistctl -F password
With the -S option, you can search by dictionary names, for example, search for ‘rus’:
wordlistctl -S rus --====-- searching for rus in urls.json wordlist russian_users found: id=842 wordlist rus_surnames_date099_fin found: id=1022 wordlist rus_surnames_first_letter found: id=1046 wordlist rus_surnames_fin found: id=1094 wordlist rus_surnames_date19002020_fin found: id=1104 wordlist rus_names_date099_fin found: id=1163 wordlist rus_names_translit found: id=1185 wordlist rus_cities_translit found: id=1206 wordlist rus_names_date19002020_fin found: id=1209 wordlist rus_eng found: id=1245 wordlist rus_names_fin found: id=1278 wordlist rus_mat found: id=1316 wordlist rus_latin found: id=1323 wordlist rus_names_kb_chage found: id=1324 wordlist rus_cities_kbchange found: id=1401 wordlist rus-mini found: id=1705 wordlist russian found: id=1710 wordlist russian2 found: id=1711 wordlist russian_31799 found: id=1712 wordlist russian_name found: id=1713 wordlist russkie-maty found: id=1714 wordlist rus_months_en found: id=1768 wordlist rus_months_translit found: id=1769
To download dictionaries, create a wordlists folder in the current directory:
mkdir wordlists
And download to this folder (-d wordlists) a dictionary that has the identifier 1714 (-f 1714), unpack it and delete the original archive (-Xr):
wordlistctl -f 1714 -d wordlists -Xr
Deprecation
Stop wasting time and CPU, use stegseek instead! Not convinced? Look at these benchmarks (stolen with love):
password | Line | Stegseek v0.4 | Stegcracker 2.0.9 | Stegbrute v0.1.1 (-t 8) |
---|---|---|---|---|
«cassandra» | 1 000 | 0.9s | 3.1s | 0.7s |
«kupal» | 10 000 | 0.9s | 14.4s | 7.1s |
«sagar» | 100 000 | 0.9s | 2m23.0s | 1m21.9s |
«budakid1» | 1 000 000 | 0.9s | 23m50.0s | 13m45.7s |
«␣␣␣␣␣␣␣1» | 14 344 383 | 1.9s | 5h41m52.5s | 3h17m38.0s |
While I’ve enjoyed building this tool it is and always will built on bad foundations. StegCracker
started out as a dirty hack for a problem which didn’t have any good or easy to use solutions, it’s
biggest limiting factor however is that it relies on just spamming thousand of subprocess calls per second
which (despite being optimized slightly with multiple threads) is just horrible for performance.
So, as a result, after three years of managing the project I’ve decided to
pass on the torch and officially
retire the project. Thanks for the support and thank you @RickdeJager for building a better version
Impossible Security
Brute Force and user enumeration should not be possible at the impossible security level in DVWA. There is now a lock out feature, where if there are five bad logins within 15 minutes the user account gets locked out.
If the locked out user tries to login, even with a valid password, it will say their username or password is incorrect. this should make it impossible to know there is a valid account on the system.
If time is not an issue we do have a couple of options here that would eventually brute force the login. We could Edit the python script we used on High Security and add a 15-minute wait after every 4 password tries. This would mean that you only try 16 diffrnet passwords a hour and if you had a huge wordlist could take you months or even years to complete.
The other option would be to use password spraying this is where you use one password against multiple users and because you are not hammering the hell out of a single user you end up not not hitting the lock outthreshold .
If you would like to see some more information about Password Sparying leave me a comment below and i will make sure i add it to the list of future posts.