В этой статье вы узнаете о том, как взламывать учетные данные сайтов на WordPress с помощью различных брутфорс атак.
Содержание:
- Предварительные требования
- WPscan
- Metasploit
- Люкс Burp
- Как обезопасить сайт от брутфорса?
Предварительные требования
- Сайт на WordPress. Здесь мы будем использовать собственную лабораторию для пентеста, о созданию которой был посвящен наш предыдущий пост.
- Kali Linux (WPscan). Более подробно о WPScan и его возможностях мы уже писали, а вместо Kali Linux можно использовать любую другую из ОС для белого хакинга.
- Burp Suite (Intruder). Более подробно о данном инструменте можно узнать здесь.
WPscan
WPscan это фреймворк, который используется в качестве сканера уязвимостей методом черного ящика. WPscan предустановлен в большинстве дистрибутивов Linux, ориентированных на безопасность, а также доступен в виде подключаемого модуля.
Здесь мы будем использовать WordPress, размещенный на локальном хосте.
Во время перебора можно использовать:
В данном случая был использован файл паролей rockyou.txt, который предоставляется со стандартной Kali Linux и содержит 14 341 564 уникальных пароля.
wpscan --url http://192.168.1.100/wordpress/ -U users.txt -P /usr/share/wordlists/rockyou.txt
- URL это параметр URL-адреса, за которым следует URL-адрес веб-сайта WordPress для сканирования.
- -U будет перебирать только указанные имена пользователей, в нашем случае это users.txt
- -P перебор паролей из предоставленного списка rockyou.txt
Продолжительность сканирования во многом зависит от размера файла имен и паролей. В нашем случае мы сопоставляем большое количество имен с еще большим количеством паролей, что может сказаться на производительности сайта.
Атака прошла успешно и на экране видим совпадение логина admin и пароля flower.
Metasploit
Metasploit также идет предустановленным в Kali Linux. Первым делом нужно попасть в консоль Metasploit, а затем запустить модуль WordPress. Этот модуль msf будет запускать проверку логинов и паролей. Сначала будут проверены имена пользователей, а затем с ними будут сопоставлены пароли.
msf > use auxiliary/scanner/http/wordpress_login_enummsf auxiliary(wordpress_login_enum) > set rhosts 192.168.1.100msf auxiliary(wordpress_login_enum) > set targeturi /wordpressmsf auxiliary(wordpress_login_enum) > set user_file user.txtmsf auxiliary(wordpress_login_enum) > set pass_file pass.txtmsf auxiliary(wordpress_login_enum) > exploit
Как и в предыдущем случае атака прошла успешно, в результате которой были полчены:
- Логин: admin
- Пароль: flower
Burp Suite
Можно опять использовать предустановленную в Kali версию или скачать Burp Suite Community Edition. Далее запускаем Burp Suite и открываем страницу входа в WordPress. Затем включаем вкладку перехвата в Burp Proxy. Далее вводим любое имя пользователя и пароль по вашему выбору для входа на сайт WordPress. Это перехватит ответ текущего запроса.
Посмотрите на изображение ниже и обратите внимание на последнюю строку перехваченного сообщения, где указаны учетные данные для входа как raj: raj, которые были использованы для входа в систему. Теперь нужно отправить эти данные в Intruder, что можно сделать с помощью сочетания клавиш ctrl + I или выбрав опцию Send to Intrude в контекстном меню.
Теперь открываем вкладку Intruder и видим запрос базового шаблона, который был сюда отправлен. Выбираем Positions, где по умолчанию активно несколько позиций, которые помечены символами . Все, что находится между двумя символами , заменяется полезной нагрузкой. Но сейчас все они нам не нужны, поэтому нажмите кнопку очистки в правом нижнем углу окна редактора.
Выбираем позиции, как показано на скриншоте, а также нажимаем
кнопку add справа. Это настроит выбранные позиции
как точки вставки полезной нагрузки. Теперь выбираем тип атаки.
Поскольку у нас есть 2 позиции полезной нагрузки, то выберем
cluster bomb. Этот метод брутфорса очень
эффективен в нашем случае. Он помещает первую полезную нагрузку в
первую позицию, а вторую полезную нагрузку во вторую позицию. Но
когда он проходит через наборы полезных данных, то пробует все
комбинации. Например, когда есть 1000 логинов и 1000 паролей, тогда
будет выполнено 1 000 000 запросов.
Теперь нажимаем кнопку start attack.
На вкладке payloads в раскрывающемся списке можно увидеть числа 1 и 2. Выберите 1 для первой позиции полезной нагрузки и установите для него простой список. В простой список можно вручную добавлять элементы с помощью кнопки add , а также вставлять список с помощью буфера обмена или загрузки из файла.
Аналогично ставим цифру 2 для другой позиции и выбираем для нее Runtime file, что полезно при работе с большими списками. Указываем путь к любому файлу-словарю, который содержит только список паролей. Нажимаем start attack.
Обратив внимание на статус и длину полезных данных, где видно, что учетные данные admin и flower имеют статус 302 и длину 1203, что отличается от всех других комбинаций. Это значит, что логин: admin и пароль flower именно то, что мы хотели получить.
Как избежать брутфорса?
Конечно, этих атак можно избежать, используя следующие меры предосторожности:
Длина пароля
Оптимальная длина пароля должна составлять 8-16 символов. Важно избегать использования наиболее распространенных паролей и часто их менять.
Сложность пароля
Надежный пароль должен состоять из:
- Символов верхнего регистра (A)
- Символов нижнего регистра (a)
- Цифр
- Специальных символов
Надежный пароль не гарантирует 100%, но по крайней мере позволяет значительно увеличить время взлома.
Ограничение попыток входа в систему
Ограничение попыток входа позволяет сильно усложнить процесс брутфорса.
Например, после трех неудачных попыток входа в систему данный IP-адрес должен быть заблокирован на какое-то время, чтобы пресечь дальнейшие попытки входа в систему.
Двухфакторная аутентификация
Следующий способ защиты от брутфорса двухфакторная аутентификация или 2FA. Обычно в качестве второго подтверждения используют телефон или почту.
Captcha
Установить капчу на WordPress довольно просто, например, с помощью многочисленных плагинов. Капча поможет предотвратить ботами выполнение автоматических скриптов для входа в вашу учетную запись.
Плагин брандмауэра WordPress
Даже неудачные брутфорс атаки могут замедлить работу сайта или полностью вывести сервер из строя. Вот почему так важно их заблокировать, для чего и понадобиться брандмауэр, который отфильтровывает плохой трафик и блокирует ему доступ к вашему сайту.
Подключить СDN сервис
CDN (Content Delivery Network) сеть доставки и дистрибуции контента, более подробно о которой можно узнать здесь. Для нас главное, что CDN обеспечивают надежную защиту от брутфорса.
Топ 6 CDN c бесплатными решениями для WordPress:
- Cloudflare
- Jetpack
- Swarmify
- Amazon CloudFront (1 год бесплатного доступа)
- Incapsula
- JS Deliver
Установить и настроить бэкап плагин
На крайний случай будет полезно установить и настроить бэкап плагин. По крайней мере в случае удачной атаки будет возможность восстановить данные. Есть несколько отличных плагинов для WordPress, которые позволяют делать резервные копии автоматически.
Отключение просмотра каталогов и автоматических обновлений
Еще один способ снизить риск брутфорс атаки для сайта на WordPress.