Бесплатно Экспресс-аудит сайта:

15.03.2021

3 способа найти рабочую учетную запись в WordPress

Автор: Raj Chandel


Предварительные требования:

  • На целевом сайте установлен WordPress
  • В качестве рабочей системы используется Kali Linux (с WPscan)
  • Приложение Burp Suite (Intruder) для осуществления автоматически атак на веб-приложения.

WPscan

WPscan представляет собой утилиту, работающую из командной строки и применяемую в качестве сканера уязвимостей по методу черного ящика. Обычно используется специалистами и блогерами для тестирования сайтов на безопасность.

В качестве примера используется сайт с WordPress, установленный на локальном хосте (localhost), как показано на рисунке ниже.

Рисунок 1: Тестовый сайт на WordPress, установленный на локальном хосте

Во время брутфорса вы можете использовать как свой список имен пользователей и паролей, так и словарь из дистрибутива 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.

Продолжительность сканирования, как правило, зависит о того, насколько большой словарь с паролями, а поскольку список пользователей тоже большой, брутефорс может повлиять на производительность сайта в случае длительного использования.

Рисунок 2: Текстовая заставка, появляющаяся во время запуска брутфорса

Как показано на рисунке ниже, брутфорс завершился успешно, и найдено рабочее сочетание имени пользователя и пароля.

Рисунок 3: Найдена рабочая учетная запись admin / flower

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.

Рисунок 4: Повторное успешное завершение брутефорса

Burp Suite

Для решения нашей задачи подойдет Burp suite community edition, или можно использовать версию, которая устанавливается вместе с Kali Linux. Запускаем Burp Suite, открываем страницу авторизации в WordPress и активируем перехват в Burp Proxy. Затем указываем любое имя пользователя / пароля с целью последующего перехвата ответа на текущей запрос.

Рисунок 5: Пробная авторизация в Wordpress

Обратите внимание на последнюю строчку перехваченного сообщения на рисунке ниже, где показаны имя пользователя и пароль raj:raj, введенные во время пробной авторизации. Затем кликните правой кнопкой мыши на пустом пространстве в поле с сообщением и выберите Send to Intruder или нажмите ctrl + I для отправки перехваченного сообщения в Intruder.

Рисунок 6: Перехваченное сообщение

Теперь зайдите в раздел Intruder, где находится запрос, созданный по базовому шаблону, который мы отправили. Далее зайдите во вкладку Positions, где выбраны несколько позиций, обозначенных символами §. Всё между двумя символами § будет заменено на полезную нагрузку. Однако сейчас нужно кликнуть на кнопку Clear с правой стороны от редактора.

Далее выберите позиции, как показано на рисунке ниже, и кликните на кнопку Add. Будут настроены две выбранные позиции для вставки полезной нагрузки. В списке Attack type выбираем Cluster bomb, поскольку у нас две позиции с полезной нагрузкой. Этот тип атаки полезен во время брутфорса, поскольку первая полезная нагрузка помещается на первую позицию, а вторая соответственно – на вторую. При проходе в цикле через элементы полезной нагрузки будут испробованы все комбинации. Например, если у вас 1000 имен пользователей и 1000 паролей, будет выполнено 1000000 запросов.

После выполнения всех настроек нажмите на кнопку Start attack.

Рисунок 7: Настройки атаки Cluster bomb для реализации брутфорса при помощи отправки запросов

Во вкладке Payloads кликните на выпадающий список Payload set, где можно выбрать числа 1 и 2. Выберите значение 1 для первой позиции полезной нагрузки. В выпадающем списке Payload type выберите Simple list, позволяющий настроить простой список строк для полезных нагрузок. Вы можете вручную добавить элементы в список при помощи текстового поля и кнопки Add или вставить список из буфера обмена или загрузить из файла.

Рисунок 8: Настройка первой позиции полезной нагрузки

Схожим образом выбираем значение 2 для второй позиции полезной нагрузки и в параметре Payload type выбираем Runtime file. Эта опция полезна, когда нужен очень большой список полезных нагрузок, чтобы не хранить в памяти. Добавьте путь к словарю с паролями и кликните на кнопку Start attack.

Рисунок 9: Настройка второй позиции полезной нагрузки

Во время атаки будут перебираться все возможные комбинации, как показано на рисунке ниже. Если вы обратите внимание на колонки Status и Length, то можете увидеть, что для комбинации admin / flower эти значения отличаются от остальных (status = 302, lengh = 1203). Соответственно, можно сделать вывод, что именно такого результата мы и добиваемся. В итоге была еще раз обнаружена рабочая комбинация имени пользователя admin и пароля flower.

Рисунок 10: Результаты тестирования полезных нагрузок

Как защититься от брутфорса

Если предпринять меры, указанные ниже, можно защититься от атак подобного рода:

Длина пароля: в идеале длина пароля должна быть 8-16 символов. Важно избегать наиболее распространенных паролей и периодически менять.

Сложность пароля: Пароль должен содержать буквы в верхнем / нижнем регистре, должен содержать цифры и специальные символы. Пользователи должны выбирать сложные парольные фразы, а не одиночные слова. Чем сложнее пароль, тем дольше выполняется перебор.

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

Двухфакторная аутентификация: Еще один способ защититься от брутфорса – двухфакторная аутентификация (или 2FA). Эта технология задействует еще один канал подтверждения авторизации (обычно при помощи телефона или электронной почты).

Капча: Установка капчи позволяет довольно просто защититься от ботов, использующих автоматизированные скрипты для авторизации.

Плагин Firewall: Даже неудачные атаки с использованием брутфорса могут замедлить работу сайта или даже полностью уронить сервер. Поэтому важно блокировать эти запросы, например, при помощи фаервола, который позволят отфильтровать плохой трафик и блокирует доступ к сайту.

Cloudflare – один из наиболее известных сервисов для защиты от брутфорса.

Резервная копия: В случае неудачного стечения обстоятельств у вас всегда должна быть свежая резервная копия и план по восстановлению работоспособности сервера.

Есть несколько плагинов для Wordpress, позволяющих настроить автоматическое резервное копирование.

Запрет на просмотр содержимого директории и регулярное обновление WordPress также помогает защититься от брутфорса.

Спасибо за внимание.