3 способа найти рабочую учетную запись в WordPress
В этой статье будет рассмотрено, как скомпрометировать учетные записи сайта на Wordpress при помощи различных техник брутфорса.
Предварительные требования:
- На целевом сайте установлен WordPress
- В качестве рабочей системы используется Kali Linux (с WPscan)
- Приложение Burp Suite (Intruder) для осуществления автоматически атак на веб-приложения.
WPscan
WPscan представляет собой утилиту, работающую из командной строки и применяемую в качестве сканера уязвимостей по методу черного ящика. Обычно используется специалистами и блогерами для тестирования сайтов на безопасность.
В качестве примера используется сайт с WordPress, установленный на локальном хосте (localhost), как показано на рисунке ниже.
Во время брутфорса вы можете использовать как свой список имен пользователей и паролей, так и словарь из дистрибутива Kali Linux. Я использовал файлrockyou.txt
, идущий в комплекте с Kali Linux и содержащий 14341564 уникальных пароля.
wpscan --url http://192.168.1.100/wordpress/ -U users.txt -P /usr/share/wordlists/rockyou.txt
В параметре –URL указываем адрес сайта, где установлен Wordpress.
Параметр –U
позволяет указать перечень используемых имен пользователей из файла (в нашем случае – вusers.txt
).
Параметр –P
позволяет указать перечень используемых паролей из файлаrockyou.txt.
Продолжительность сканирования, как правило, зависит о того, насколько большой словарь с паролями, а поскольку список пользователей тоже большой, брутефорс может повлиять на производительность сайта в случае длительного использования.
Как показано на рисунке ниже, брутфорс завершился успешно, и найдено рабочее сочетание имени пользователя и пароля.
Metasploit
Metasploit устанавливается вместе с Kali Linux. Соответственно, первым делом нужно запустить консоль, а затем нужный модуль для WordPress.
При помощи модуля, указанного ниже, выполняется аудит учетной записи. Сначала происходит валидация имен пользователей, потом привязываются пароли.
msf > use auxiliary/scanner/http/wordpress_login_enum msf auxiliary(wordpress_login_enum) > set rhosts 192.168.1.100 msf auxiliary(wordpress_login_enum) > set targeturi /wordpress msf auxiliary(wordpress_login_enum) > set user_file user.txt msf auxiliary(wordpress_login_enum) > set pass_file pass.txt msf auxiliary(wordpress_login_enum) > exploit
И опять, как показано на рисунке ниже, брутфорс тоже завершился успешно. Найдена учетная записьAdmin / flower.
Burp Suite
Для решения нашей задачи подойдет Burp suite community edition, или можно использовать версию, которая устанавливается вместе с Kali Linux. Запускаем Burp Suite, открываем страницу авторизации в WordPress и активируем перехват в Burp Proxy. Затем указываем любое имя пользователя / пароля с целью последующего перехвата ответа на текущей запрос.
Обратите внимание на последнюю строчку перехваченного сообщения на рисунке ниже, где показаны имя пользователя и парольraj:raj
, введенные во время пробной авторизации. Затем кликните правой кнопкой мыши на пустом пространстве в поле с сообщением и выберите Send to Intruder или нажмите ctrl + I для отправки перехваченного сообщения в Intruder.
Теперь зайдите в раздел Intruder, где находится запрос, созданный по базовому шаблону, который мы отправили. Далее зайдите во вкладку Positions, где выбраны несколько позиций, обозначенных символами§
. Всё между двумя символами§
будет заменено на полезную нагрузку. Однако сейчас нужно кликнуть на кнопку Clear с правой стороны от редактора.
Далее выберите позиции, как показано на рисунке ниже, и кликните на кнопку Add. Будут настроены две выбранные позиции для вставки полезной нагрузки. В списке Attack type выбираем Cluster bomb, поскольку у нас две позиции с полезной нагрузкой. Этот тип атаки полезен во время брутфорса, поскольку первая полезная нагрузка помещается на первую позицию, а вторая соответственно – на вторую. При проходе в цикле через элементы полезной нагрузки будут испробованы все комбинации. Например, если у вас 1000 имен пользователей и 1000 паролей, будет выполнено 1000000 запросов.
После выполнения всех настроек нажмите на кнопку Start attack.
Во вкладке Payloads кликните на выпадающий список Payload set, где можно выбрать числа 1 и 2. Выберите значение 1 для первой позиции полезной нагрузки. В выпадающем списке Payload type выберите Simple list, позволяющий настроить простой список строк для полезных нагрузок. Вы можете вручную добавить элементы в список при помощи текстового поля и кнопки Add или вставить список из буфера обмена или загрузить из файла.
Схожим образом выбираем значение 2 для второй позиции полезной нагрузки и в параметре Payload type выбираем Runtime file. Эта опция полезна, когда нужен очень большой список полезных нагрузок, чтобы не хранить в памяти. Добавьте путь к словарю с паролями и кликните на кнопку Start attack.
Во время атаки будут перебираться все возможные комбинации, как показано на рисунке ниже. Если вы обратите внимание на колонки Status и Length, то можете увидеть, что для комбинацииadmin / flower
эти значения отличаются от остальных (status = 302, lengh = 1203
). Соответственно, можно сделать вывод, что именно такого результата мы и добиваемся. В итоге была еще раз обнаружена рабочая комбинация имени пользователяadmin
и пароляflower.
Как защититься от брутфорса
Если предпринять меры, указанные ниже, можно защититься от атак подобного рода:
Длина пароля: в идеале длина пароля должна быть 8-16 символов. Важно избегать наиболее распространенных паролей и периодически менять.
Сложность пароля: Пароль должен содержать буквы в верхнем / нижнем регистре, должен содержать цифры и специальные символы. Пользователи должны выбирать сложные парольные фразы, а не одиночные слова. Чем сложнее пароль, тем дольше выполняется перебор.
Ограничение количества авторизаций: Ограничьте количество попыток авторизации в панели управления. Например, после трех неудачных попыток должен быть заблокирован IP на определенный период.
Двухфакторная аутентификация: Еще один способ защититься от брутфорса – двухфакторная аутентификация (или 2FA). Эта технология задействует еще один канал подтверждения авторизации (обычно при помощи телефона или электронной почты).
Капча: Установка капчи позволяет довольно просто защититься от ботов, использующих автоматизированные скрипты для авторизации.
Плагин Firewall: Даже неудачные атаки с использованием брутфорса могут замедлить работу сайта или даже полностью уронить сервер. Поэтому важно блокировать эти запросы, например, при помощи фаервола, который позволят отфильтровать плохой трафик и блокирует доступ к сайту.
Cloudflare – один из наиболее известных сервисов для защиты от брутфорса.
Резервная копия: В случае неудачного стечения обстоятельств у вас всегда должна быть свежая резервная копия и план по восстановлению работоспособности сервера.
Есть несколько плагинов для Wordpress, позволяющих настроить автоматическое резервное копирование.
Запрет на просмотр содержимого директории и регулярное обновление WordPress также помогает защититься от брутфорса.