WordPress — самая распространённая в мире система управления контентом (CMS) для веб-сайтов, охватывающая почти 28% всех сайтов в интернете. Это означает, что десятки миллионов веб-сайтов используют эту CMS, и обнаруженные нами уязвимости могут быть использованы на таком большом количестве сайтов, что имеет смысл уделять сайтам на WordPress значительное внимание.
В пятой части этой серии я показал вам ,как перечислить пользователей на сайтах WordPress и затем подобрать их пароли методом подбора с помощью графического интерфейса wp-login. Во многих случаях подбор паролей с помощью wpscan в wp-login невозможен из-за сбоев паролей или других защитных механизмов, которые блокируют повторные попытки. В таких случаях вам потребуется другой подход к проверке паролей, и именно здесь интерфейс XML-RPC становится полезным для хакера.
XML-RPC (удалённый вызов процедур XML) позволяет пользователям и разработчикам WordPress получать удалённый доступ к своим сайтам, то есть осуществлять удалённый вызов процедур. Таким образом, разработчики и авторы могут получать доступ к своим сайтам со смартфонов и других устройств. Приложения для смартфонов и других удалённых устройств получают доступ к сайтам WordPress, предоставляя учётные данные пользователя через XML-RPC.
Обычно при попытке подбора пароля система регистрирует одну попытку входа на каждый введенный пароль. Как только мы достигаем определённого лимита попыток, система блокирует нас. Однако в XMLRPC есть функция system.multicall , с помощью которой можно отправлять сотни или тысячи паролей одним HTTP-запросом. Хакер может использовать XMLRPC для представления тысяч учётных данных без риска блокировки или вмешательства в работу других устройств безопасности.
XMLRPC был представлен в WordPress 2.6, а начиная с версии 3.5 он включён по умолчанию. Эта уязвимость была устранена в новых версиях WordPress, но мы все знаем, что в интернете миллионы сайтов на WordPress без каких-либо исправлений. Нужно лишь набраться терпения, чтобы найти эти сайты с помощью взлома Google и других методов.
Шаг №1 Загрузите и установите инструмент WordPress XMLRPC Brute Force Exploitation
Первый шаг, конечно же, — запустить Kali и открыть терминал. Поскольку этот инструмент НЕ встроен в Kali, нам потребуется скачать и установить его. Это значит, что если вы используете другую версию Linux, эти инструкции будут работать так же хорошо.
Мы можем получить этот инструмент с github.com, поэтому для его извлечения нам нужно всего лишь использовать команду git clone , например:
kali > git clone http://github.com/1N3/WordPress-XMLRPC-Brute-Force-Exploit
Теперь, когда мы клонировали этот инструмент в нашу систему, давайте убедимся, что он там есть, выполнив длинный список в нашем каталоге.
кали > ls -l
Как видно выше, мы создали каталог WordPress-XMLRPC-Brute-Force-Exploit. Теперь перейдём в этот каталог.
kali > cd WordPress-XMLRPC-Brute-Force-Exploit
Как видите выше, у этого эксплойта есть две версии: список паролей и файл README. В этом руководстве мы будем использовать версию 2.
Шаг №2. Подсчет пользователей с помощью wpscan
Теперь, когда наш инструмент для работы с XMLRPC готов к использованию, давайте воспользуемся инструментом wpscan для подсчёта пользователей реального сайта WordPress. Я нашёл этот сайт, используя несколько приёмов Google , описанных в моей статье о поиске сайтов WordPress.
Для перечисления пользователей мы можем использовать следующую команду:
kali > wpscan -u <домен> –enumerate u
При запуске wpscan он обнаруживает, что данный сайт использует WordPress 4.6.1, а затем перечисляет всех пользователей, как показано ниже.
Теперь, когда у нас есть пользователи, давайте посмотрим, сможем ли мы
подобрать их пароли методом подбора с помощью XMLRPC Brute-Force!
Шаг №3. Подбор паролей с помощью XMLRPC
Последний шаг — использование инструмента XMLRPC для этих учётных записей. Поскольку этот инструмент не использует стандартный интерфейс входа, вы, вероятно, сможете перебрать тысячи потенциальных паролей. Когда вы найдёте правильный пароль, скрипт остановится и покажет вам правильный пароль.
Перед использованием этого скрипта нам необходимо дать себе разрешение на его выполнение.
Кали > chmod 755 wordpress-xmlrpc-brute-v2.py
Теперь, когда у нас есть разрешение, давайте выполним скрипт, чтобы увидеть его страницу справки.
Кали > ./wordpress-xmlrpc-brute-v2.py
Под заставкой мы видим, что скрипт отображает информацию о своём «использовании». Синтаксис здесь прост: за командой следует URL-адрес веб-сайта, список паролей и имя пользователя, которое мы хотим взломать.
kali > ./wordpress-b <URL> <список паролей> <имя пользователя>
В нашем случае мы можем создать команду для взлома нашего веб-сайта с помощью следующего кода (веб-сайт был скрыт для защиты небезопасных данных).
kali > ./wordpress http://wordpress_domain passwords.txt taskfleet
Обратите внимание, что мы используем пользователя «taskfleet» и список паролей, включённый в этот скрипт. В реальной жизни вы, вероятно, захотите использовать свой собственный список паролей.
Давайте нажмем Enter и дадим ей волю!
Всего за несколько минут наш скрипт нашёл пароль пользователя «taskfleet». С этим паролем мы теперь входим на экран wp-login и имеем полный контроль над этим сайтом!
В пятой части этой серии я показал вам ,как перечислить пользователей на сайтах WordPress и затем подобрать их пароли методом подбора с помощью графического интерфейса wp-login. Во многих случаях подбор паролей с помощью wpscan в wp-login невозможен из-за сбоев паролей или других защитных механизмов, которые блокируют повторные попытки. В таких случаях вам потребуется другой подход к проверке паролей, и именно здесь интерфейс XML-RPC становится полезным для хакера.
XML-RPC (удалённый вызов процедур XML) позволяет пользователям и разработчикам WordPress получать удалённый доступ к своим сайтам, то есть осуществлять удалённый вызов процедур. Таким образом, разработчики и авторы могут получать доступ к своим сайтам со смартфонов и других устройств. Приложения для смартфонов и других удалённых устройств получают доступ к сайтам WordPress, предоставляя учётные данные пользователя через XML-RPC.
Обычно при попытке подбора пароля система регистрирует одну попытку входа на каждый введенный пароль. Как только мы достигаем определённого лимита попыток, система блокирует нас. Однако в XMLRPC есть функция system.multicall , с помощью которой можно отправлять сотни или тысячи паролей одним HTTP-запросом. Хакер может использовать XMLRPC для представления тысяч учётных данных без риска блокировки или вмешательства в работу других устройств безопасности.
XMLRPC был представлен в WordPress 2.6, а начиная с версии 3.5 он включён по умолчанию. Эта уязвимость была устранена в новых версиях WordPress, но мы все знаем, что в интернете миллионы сайтов на WordPress без каких-либо исправлений. Нужно лишь набраться терпения, чтобы найти эти сайты с помощью взлома Google и других методов.
Шаг №1 Загрузите и установите инструмент WordPress XMLRPC Brute Force Exploitation
Первый шаг, конечно же, — запустить Kali и открыть терминал. Поскольку этот инструмент НЕ встроен в Kali, нам потребуется скачать и установить его. Это значит, что если вы используете другую версию Linux, эти инструкции будут работать так же хорошо.
Мы можем получить этот инструмент с github.com, поэтому для его извлечения нам нужно всего лишь использовать команду git clone , например:
kali > git clone http://github.com/1N3/WordPress-XMLRPC-Brute-Force-Exploit
Теперь, когда мы клонировали этот инструмент в нашу систему, давайте убедимся, что он там есть, выполнив длинный список в нашем каталоге.
кали > ls -l
Как видно выше, мы создали каталог WordPress-XMLRPC-Brute-Force-Exploit. Теперь перейдём в этот каталог.
kali > cd WordPress-XMLRPC-Brute-Force-Exploit
Как видите выше, у этого эксплойта есть две версии: список паролей и файл README. В этом руководстве мы будем использовать версию 2.
Шаг №2. Подсчет пользователей с помощью wpscan
Теперь, когда наш инструмент для работы с XMLRPC готов к использованию, давайте воспользуемся инструментом wpscan для подсчёта пользователей реального сайта WordPress. Я нашёл этот сайт, используя несколько приёмов Google , описанных в моей статье о поиске сайтов WordPress.
Для перечисления пользователей мы можем использовать следующую команду:
kali > wpscan -u <домен> –enumerate u
При запуске wpscan он обнаруживает, что данный сайт использует WordPress 4.6.1, а затем перечисляет всех пользователей, как показано ниже.
подобрать их пароли методом подбора с помощью XMLRPC Brute-Force!
Шаг №3. Подбор паролей с помощью XMLRPC
Последний шаг — использование инструмента XMLRPC для этих учётных записей. Поскольку этот инструмент не использует стандартный интерфейс входа, вы, вероятно, сможете перебрать тысячи потенциальных паролей. Когда вы найдёте правильный пароль, скрипт остановится и покажет вам правильный пароль.
Перед использованием этого скрипта нам необходимо дать себе разрешение на его выполнение.
Кали > chmod 755 wordpress-xmlrpc-brute-v2.py
Теперь, когда у нас есть разрешение, давайте выполним скрипт, чтобы увидеть его страницу справки.
Кали > ./wordpress-xmlrpc-brute-v2.py
Под заставкой мы видим, что скрипт отображает информацию о своём «использовании». Синтаксис здесь прост: за командой следует URL-адрес веб-сайта, список паролей и имя пользователя, которое мы хотим взломать.
kali > ./wordpress-b <URL> <список паролей> <имя пользователя>
В нашем случае мы можем создать команду для взлома нашего веб-сайта с помощью следующего кода (веб-сайт был скрыт для защиты небезопасных данных).
kali > ./wordpress http://wordpress_domain passwords.txt taskfleet
Обратите внимание, что мы используем пользователя «taskfleet» и список паролей, включённый в этот скрипт. В реальной жизни вы, вероятно, захотите использовать свой собственный список паролей.
Давайте нажмем Enter и дадим ей волю!
Всего за несколько минут наш скрипт нашёл пароль пользователя «taskfleet». С этим паролем мы теперь входим на экран wp-login и имеем полный контроль над этим сайтом!