Hl 2018. конспект доклада «make passwords great again! как победить брутфорс и оставить хакеров ни с чем»

Hydra and Other Popular Brute Force Attack Tools

Security analysts use the THC-Hydra tool to identify vulnerabilities in client systems. Hydra quickly runs through a large number of password combinations, either simple brute force or dictionary-based. It can attack more than 50 protocols and multiple operating systems. Hydra is an open platform; the security community and attackers constantly develop new modules.


Hydra brute force attack

Other top brute force tools are:

  • Aircrack-ng—can be used on Windows, Linux, iOS, and Android. It uses a dictionary of widely used passwords to breach wireless networks.
  • John the Ripper—runs on 15 different platforms including Unix, Windows, and OpenVMS. Tries all possible combinations using a dictionary of possible passwords.
  • L0phtCrack—a tool for cracking Windows passwords. It uses rainbow tables, dictionaries, and multiprocessor algorithms.
  • Hashcat—works on Windows, Linux, and Mac OS. Can perform simple brute force, rule-based, and hybrid attacks.
  • DaveGrohl—an open-source tool for cracking Mac OS. Can be distributed across multiple computers.
  • Ncrack—a tool for cracking network authentication. It can be used on Windows, Linux, and BSD.

Protecting Yourself From Brute-Force Attacks

Brute-force attacks are among the simplest possible hacks. Most of the time, they’re nothing more than an attacker automating the process of guessing your password using a program to enter these words systematically. As a result, the best way to protect yourself is to choose a secure passphrase.

The word lists attackers employ usually come from commonly used passwords and simple words straight out of the dictionary. Choosing combinations of words in a passphrase, and including one or more less common words, is a great idea. Throw in numbers and a few special characters to really create a strong standard.

A passphrase made of three or more words, three more numbers, and at least two special characters would be fairly difficult for most brute-force attacks to guess.

You can also use password managers to store randomly generated passwords. The more characters in your password, the longer it will take a brute-force attack to guess. Plus, random characters can’t be cracked with a dictionary.

Passwords with random characters can be broken with a different kind of brute-force attack that actually tests different combinations of characters. However, these are less common, because they require much more computing power.

Some programs can forego passwords altogether in favor of cryptographic keys. These keys are uniquely generated and shared between your computer and the system or server you’re logging into. You can log in automatically with the key, but anyone else is immediately denied.

Finally, you can impose limits on login attempts. There are plenty of ways to do this, depending on the program or system you’re trying to secure, but many have options to block login attempts after a certain number of failed ones. Some may even have the option to automatically block certain IP addresses after a number of failed logins.

Web application behavior when retrieving login data

Checking the success of authorization

How do we know if we are logged in? That is, how to understand that the password was successfully guessed? To do this, the page which is sent after the login attempt is analyzed. Sometimes we cannot know what is shown after successful authorization, because we do not have a valid account. Therefore, we can use only the inverse method: we try to enter any login and password and look at the error. For example, it can be ‘Account does not exist’. Next, the brute force compares the pages it receives, and if there is no ‘Account does not exist’, it means that the password is cracked.

Brute-force programs can also work with strings that are displayed when the input is successful.

The behavior of a web application with a successful or unsuccessful login is not limited to just displaying a message. Also, together, or even instead of displaying a message, the web application can:

  • redirect (for example, in case of a successful login the user is redirected to the admin panel or to his own page);
  • write the cookies (in the case of a valid login and password, the server sends cookies with session data, and based on these cookies, the web application shows the logged in user the edit button, the link to the admin panel, etc.).

And more about the displayed data — many popular web applications support many languages. This is also important to consider, because you expect to get ‘Account does not exist’ but instead it will show ‘ไม่มี บัญชี อยู่’…

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.

Are brute force attacks only an online problem?

When thinking of a brute force or a dictionary attack, one may jump to the conclusion that it’s a problem exclusive to web applications or other secure online locations, but that’s hardly the case. Offline brute force attacks are very real and may even be a bigger problem than those targeting internet assets. It’s important to specify what’s different between online and offline brute force attacks.

SEE: More most-see cybersecurity coverage (TechRepublic Flipboard magazine)

Online brute force attacks are performed in real time with an attacker directly connected to the system they’re attacking. The cybersecurity attacks are restricted by elements such as internet bandwidth, security measures, and possible discovery by the victim.

Offline brute force attacks have no connection to the system being targeted, which is a large part of what makes them so dangerous. If an attacker is able to steal a password hash, encryption key, Security Account Manager (SAM) file (Windows’ method of storing passwords), /etc/shadow/ file (the Linux equivalent of SAM), encrypted database, password protected file, or other secure document, that person has an unlimited amount of time to crack it without detection.

Offline brute force attacks are only limited by the computing power available to the attacker; with the proper setup, secured files, encryption keys, or passwords could be exposed in little time.

Additional resources

  • For just $10, a hacker can attack your business via RDP: Here’s how to stay safe (TechRepublic)
  • How to break Instagram with brute force (ZDNet)
  • How credential stuffing contributed to 8.3B malicious botnet logins in early 2018 (TechRepublic)
  • iOS 9’s new longer passcode will make brute-force attacks far tougher (ZDNet)

Медвежья хватка (MedWebGrasp, MWG)

На очереди очередной хакерский комбайн для исследования уязвимостей типа SQLinjection под патриотическим названием «Медвежья хватка» (выкладывание таких all inclusive программ уже вошло в добрую традицию нашей рубрики).

Основные возможности и модули «Медвежьей хватки»:

  • сбор и хранение информации об уязвимом сайте и учетных записях пользователей (модуль «Знаток»);
  • сбор и хранение информации из БД и файлов конфигурации уязвимого сайта (модуль «Архивариус»);
  • выполнение обычных и слепых инжектов (модуль «Хирург»);
  • онлайновый поиск значений хэшей (модуль «Детектив»);
  • сканер особенностей сайта, имеющихся таблиц и открытых портов (модуль «Разведчик»);
  • сканер структуры сайта, поиск папок и файлов (модуль «Следопыт»);
  • инструмент для чтения файлов и директорий (модуль «Читатель»);
  • инструмент для закачки скриптов на сервер (модуль «Лекарь»);
  • аудит работоспособности уязвимостей и шеллов (модуль «Ревизор»);
  • гибко настраиваемые профили запросов и построителей (модуль «Настройщик »);
  • конвертор кодировок (модуль «Толмач »);
  • экспорт содержимого баз в текстовый файл (модуль «Коробейник»).

Ты удивишься, но все это великолепие является всего лишь приложением к БД MS Access 2003! Таким образом, ты сможешь исследовать SQL-инъекции, почти не прикасаясь к клавиатуре, только с помощью предварительно настроенных профилей. У этой утилиты также есть и некоторые ограничения, которые, впрочем, не являются сколько-нибудь существенными:

  • отсутствует поиск уязвимых сайтов;
  • работа только с БД MySQL;
  • нет возможности работать через прокси.

На практике ты сможешь использовать «Медвежью хватку», например, так:

  1. Ты нашел SQL инъекцию следующего вида: http://mysite.com/show.php?id=3+union+select+1,2,user(),4,5
  2. Копируй данную инъекцию в буфер обмена и переходи в «Медвежью хватку».
  3. Нажимай на кнопку новой записи и обязательно проверь, чтобы курсор стоял в верхнем поле.
  4. Жми на кнопку «умной» вставки (при этом адрес из буфера разбивается на два поля).
  5. Вызывай модуль «Хирург» с помощью кнопки «SQL» или «BSQL» (в зависимости от формата строки запроса), по умолчанию форма открывается с профилем «Данные о базе».
  6. Нажимай на кнопку выполнения запроса.
  7. Если все прошло правильно, то в поле «Найдено» ты увидишь строку результата.
  8. Далее нажимай на кнопку «Свойства БД» (полученные данные сохранятся в базе программы) и выбирай профиль «Непустые таблицы», чтобы снова выполнить запрос.
  9. Сохрани результат с помощью кнопки «Таблицы» (если надпись «Далее» стала красного цвета, это значит, что необходимы дополнительные запросы для извлечения всех данных, в этом случае жми на кнопку «*****» и жди окончания серии запросов).
  10. Далее выполняй профиль «Непустые таблицы с *pass*,*pwd*,*psw*», который отобразит все таблицы, имеющие поля паролей.
  11. Теперь, когда известны имена таблиц, содержащие пароли, можно вызвать и выполнить профиль «* столбцы для таблицы» (результатом запроса по этому профилю будет список столбцов для выбранной таблицы).
  12. Теперь запрашивай данные учетных записей с помощью вызова профиля «* таб лица» или «* схема.таблица» и выбора в них соответствующих имен.
  13. Сохраняй результат в подтаблицу пользователей кнопками «Имя и хэш» или «Имя и пароль».
  14. Теперь, имея на руках полную базу таблиц, столбцов, пользователей и так далее нашего тестового уязвимого сайта, ты сможешь залить шелл с помощью модуля «Лекарь» или сам определиться с дальнейшими действиями с помощью своей фантазии.

Особенно хочется отметить уже упомянутый выше модуль «Лекарь», который предназначен для загрузки шеллов на сайт через уязвимость прав доступа к файловой системе (load_file) при отключенном режиме magic_quotes. Для работы с данным модулем тебе необходимо лишь задать путь и имя файла в верхних двух полях.

Переключатель слева внизу выбирает один из вариантов закачки:

  • тестовый — проверка возможности закачки тестового файла в папку /tmp/;
  • информационный — закачка функции phpinfo() по указанному пути;
  • командный шелл — закачка функции выполнения *nix-команд;
  • инклудинг — закачка шелла для инклуда внешнего скрипта;
  • аплоадер — закачка скрипта для аплоада.

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

Остальные мануалы по работе других модулей ты сможешь прочитать в подробном ReadMe из архива с прогой.

Автор комбайна будет очень рад услышать твои предложения, замечания и пожелания на сайтах mwg.far.ru и mwgrasp.oni.cc (кстати, там же ты сможешь найти исходники «Медвежьей хватки» и подробные обучающие видео).

Conclusion

So, we looked at the router web form brute-force on the example of a particular model. We encountered almost all the possible problems that can arise with brute-force both routers and other web applications that also use web forms for authentication. Unless, the situation with CAPTCHA and use of proxy for acceleration of process has not been considered.

In general, the algorithm is always approximately the same:

  • Analysis of transmitted data. This is convenient to do with Burp Suite. Special attention should be paid to randomly changing fields, cookies, referrer value and the value of user-agent (this is all passed in HTTP headers)
  • Analysis of the returned data and search for the most characteristic markers and events, indicating the correctness or incorrectness of the login and password
  • Before launching Brute Force, you should check for brute force countermeasures
  • As a marker, which tells the patator about the success of the entry, it is necessary to choose a string or event that has the least chance of triggering false positives
  • Some types of protection (for example, blocking after several incorrect attempts) can not be bypassed, but it is possible to optimize the attack process in various ways

Brute-Force Attacks Explained

A brute-force attack is an effort to break into a computer system using repeated attempts to force entry. Usually, this means trying to «guess» a password by trying different words or combinations of words systematically. This is why brute-force attacks are also commonly called «dictionary attacks.»

With a brute-force attack, the cybercriminal is betting the target computer or system is secured with a common password or a simple set of words. If the password is simple to guess, it won’t take long for the attacker’s computer to enter the right password.

Brute-force attacks try to crack passwords, passphrases, usernames, or personal identification numbers (PINs).

Proxy Scanner

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

Представляю твоему вниманию принципиально иную прогу – Proxy Scanner от некоего Sharky.

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

Запуск Proxy Scanner’а происходит следующим образом:

1. Запускаем скрипт proxyscanner.pl;

2. Вводим нужные для скана данные:

  • Start IP (начальный IP диапазона, например, 192.168.1.1);
  • End IP (конечный IP диапазона, например, 192.168.255.255);
  • Port (какой порт сканить, например, 3128);
  • Timeout (таймаут прокси в секундах, например, 10);
  • Threads (потоки, например, 50);
  • File for good proxies (в какой файл сохранять гуды, например, proxies.txt).

Как видишь, добывать свежие прокси самому не так уж и сложно, enjoy!

Protect Yourself # Protect Yourself

A common attack point on WordPress is to hammer the file over and over until they get in or the server dies. You can do some things to protect yourself.

Don’t use the ‘admin’ username


The majority of attacks assume people are using the username ‘admin’ due to the fact that early versions of WordPress defaulted to this. If you are still using this username, make a new account, transfer all the posts to that account, and change ‘admin’ to a subscriber (or delete it entirely).

You can also use the plugin Change Username to change your username.

Good Passwords

The goal with your password is to make it hard for other people to guess and hard for a brute force attack to succeed. Many automatic password generators are available that can be used to create secure passwords.

WordPress also features a password strength meter which is shown when changing your password in WordPress. Use this when changing your password to ensure its strength is adequate.

You can use the Force Strong Password plugin to force users to set strong passwords.

Things to avoid when choosing a password:

  • Any permutation of your own real name, username, company name, or name of your website.
  • A word from a dictionary, in any language.
  • A short password.
  • Any numeric-only or alphabetic-only password (a mixture of both is best).

A strong password is necessary not just to protect your blog content. A hacker who gains access to your administrator account is able to install malicious scripts that can potentially compromise your entire server.

To further increase the strength of your password, you can enable Two Step Authentication to further protect your blog.

Plugins

There are many plugins available to limit the number of login attempts made on your site. Alternatively, there are also many plugins you can use to block people from accessing wp-admin altogether.

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

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

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

Cain and Abel

I am sure you have already heard the name of this password-cracking tool. It can help in cracking various kind of passwords by performing brute-forcing attacks, dictionary attacks, and cryptanalysis attacks. Cryptanalysis attacks are done by using the rainbow tables as mentioned in the previous tool.

It is worth to mention that some virus scanners detect it as malware. Avast and Microsoft Security Essentials report it as malware and block it in system. If it is in your system, you should first block your antivirus.

Its basic functions:

  • Sniffing the network
  • Cracking encrypted passwords using Dictionary
  • Brute-Force and Cryptanalysis attacks
  • Recording VoIP conversations
  • Decoding scrambled passwords
  • Recovering wireless network keys
  • Revealing password boxes
  • Uncovering cached passwords
  • Analyzing routing protocols.

The latest version of the tool has many features, and has added sniffing to perform Man in the Middle attacks.

Download Cain and Able from this link: http://www.oxid.it/cain.html

Brute Force Attack Prevention with Imperva

Imperva Bot Protection monitors traffic to your website, separating bot traffic from real users and blocking unwanted bots. Because almost all brute force attacks are carried out by bots, this goes a long way towards mitigating the phenomenon.


Bot Protection follows three stages to identify bad bots. It classifies traffic using a signature database with millions of known bot variants. When identifying a suspected bot, it performs several types of inspection to classify the bot as legitimate, malicious or suspicious. Finally, suspicious bots are challenged, to see if they can accept cookies and parse Javascript.

SSH Bruteforce

А теперь настало время представить тебе долгожданную прогу для брутфорса SSH — SSH Bruteforce от Kaimi!

Особенности брутфорса:

  • многопоточность;
  • три режима перебора (по списку логинов, по списку паролей, по списку «логин;пароль»);
  • перебор IP по диапазону или по списку из файла;
  • возможность установки тайм-аута соединения при проверке порта;
  • подобранные логины и пароли сохраняются в файл brute_good.txt;
  • распараллеливание идет по IPадресам (если в диапазоне один IP и в настройках стоит сто потоков, то фактически перебор идет в один поток).

За исходниками и поддержкой заходи на официальную страничку утилиты: kaimi.ru/2010/12/ssh-bruteforce.

Start your free trial

What is a Brute-force attack?

Brute-force attack when an attacker uses a set of predefined values to attack a target and analyze the response until he succeeds. Success depends on the set of predefined values. If it is larger, it will take more time, but there is better probability of success. The most common and easiest to understand example of the brute-force attack is the dictionary attack to crack the password. In this, attacker uses a password dictionary that contains millions of words that can be used as a password. Then the attacker tries these passwords one by one for authentication. If this dictionary contains the correct password, attacker will succeed.

In traditional brute-force attack, attacker just tries the combination of letters and numbers to generate password sequentially. However, this traditional technique will take longer when the password is long enough. These attacks can take several minutes to several hours or several years depending on the system used and length of password.

To prevent password cracking by using a brute-force attack, one should always use long and complex passwords. This makes it hard for attacker to guess the password, and brute-force attacks will take too much time. Most of the time, WordPress users face brute-force attacks against their websites. Account lock out is another way to prevent the attacker from performing brute-force attacks on web applications. However, for offline software, things are not as easy to secure.

Similarly, for discovering hidden pages, the attacker tries to guess the name of the page, sends requests, and sees the response. If the page does not exist, it will show response 404 and on success, the response will be 200. In this way, it can find hidden pages on any website.

Brute-force is also used to crack the hash and guess a password from a given hash. In this, the hash is generated from random passwords and then this hash is matched with a target hash until the attacker finds the correct one. Therefore, the higher the type of encryption (64-bit, 128-bit or 256-bit encryption) used to encrypt the password, the longer it can take to break.

Reverse brute-force attack

A reverse brute-force attack is another term that is associated with password cracking. It takes a reverse approach in password cracking. In this, attacker tries one password against multiple usernames. Think if you know a password but do not have any idea of the usernames. In this case, you can try the same password and guess the different user names until you find the working combination.

Now, you know that Brute-forcing attack is mainly used for password cracking. You can use it in any software, any website or any protocol, which do not block requests after few invalid trials. In this post, I am going to add few brute-force password-cracking tools for different protocols.

How to Prevent Brute Force Password Hacking

To protect your organization from brute force password hacking, enforce the use of strong passwords. Passwords should:

  • Never use information that can be found online (like names of family members).
  • Have as many characters as possible.
  • Combine letters, numbers, and symbols.
  • Be different for each user account.
  • Avoid common patterns.

As an administrator, there are methods you can implement to protect users from brute force password cracking:

  • Lockout policy—you can lock accounts after several failed login attempts and then unlock it as the administrator.
  • Progressive delays—you can lock out accounts for a limited amount of time after failed login attempts. Each attempt makes the delay longer.
  • Captcha—tools like reCAPTCHA require users to complete simple tasks to log into a system. Users can easily complete these tasks while brute force tools cannot.
  • Requiring strong passwords—you can force users to define long and complex passwords. You should also enforce periodical password changes.
  • Two-factor authentication—you can use multiple factors to authenticate identity and grant access to accounts.

See how Imperva Bot Management can help you with brute force attacks.

Request Demo or learn more


С этим читают