Эксплуатация уязвимости HTTP PUT

Эксплуатация уязвимости HTTP PUT

В этой статье рассмотрим уязвимость HTTP PUT. Я покажу, как эксплуатировать уязвимость HTTP PUT. В конце, как обычно, дам советы для защиты.

Еще по теме: Эксплуатация уязвимости PrintNightmare

Что такое метод HTTP PUT

Метод PUT изначально был представлен как один из методов HTTP для управления файлами.

Чем отличается POST и PUT?

  • POST — отправка новых данных на сервер.
  • PUT — добавление и изменение уже имеющейся на сервере информации.

Если на веб-сервере включен метод HTTP PUT и неправильно настроены права, его можно использовать для загрузки вредоносных файлов (веб-шелла / обратного шелла / reverse shell) на целевой сервер.

Cadaver — это клиент для загрузки файлов по протоколу WebDAV. Cadaver установлен по умолчанию в Kali Linux. С помощью Cadaver можно загрузить обратный шелл на уязвимую систему, используя метод HTTP PUT.

Статья в образовательных целях и предназначается для пентестеров (белых хакеров). Взлом и несанкционированный доступ уголовно наказуем. Ни редак­ция spy-soft.net, ни автор не несут ответс­твен­ность за ваши действия.

Как найти уязвимость HTTP PUT

Чтобы убедиться, что целевая система поддерживает метод HTTP PUT, позволяющий нам загрузить на сервер удаленный шелл, запустим сканирование с помощью сканера для поиска уязвимостей Nikto.

В качестве уязвимого сервера, для этого примера, будет выступать Metasploitable.

Поиск уязвимостя HTTP PUT
Уязвимая машина Metasploitable

Для сканирования веб-сервера с помощью Nikto, используем команду:

На следующем скрине видим, что веб-приложение уязвимо позволяет загружать файлы с помощью метода HTTP PUT.

Веб-приложение позволяет сохранять файлы на веб-сервере с помощью метода HTTP PUT

Теперь создадим обратный шелл с помощью MSFVenom:

Здесь lhost — ваш IP-адрес  (в моем случае — 172.17.0.1).

После запуска команды MSFVenom будет создан бэкдор:

Создание реверс шелла в Meterpreter

Теперь можно создать файл php (в моем случае — shell.php) и вставить туда полезную нагрузку созданную в MSFVenom. После этого залить вредоносный файл на сервер.

Загрузка обратного шелла с помощью Cadaver

В начале нужно указать целевой сервер:

Затем залить созданный файл .php на сервер:

Загрузка вредоносного файла

Теперь, при обновлении сайта увидим reverse shell.

Вредоносный файл загружен на сервер HTTP PUT

Эксплуатация уязвимости HTTP PUT

Для эксплуатации запустим Metasploit Framework:

В Metasploit Framework вводим команды для выбора обработчика и полезной нагрузки. Устанавливаем lhost (ваш IP-адрес) и устанавливаем lport:

Теперь, после нажатия по файлу php, будет открыта сессия в Metasploit Framework.

Эксплуатация уязвимости HTTP PUT

Вот как мы можем эксплуатировать уязвимость HTTP PUT, используя Cadaver, установленный в Kali Linux.

Уязвимость HTTP PUT

Как защититься от уязвимости HTTP PUT

Этот метод используется для изменения или удаления файлов из файловой системы целевого сервера. Чтобы обезопасить сервер, при использовании метода HTTP PUT, ограничьте права доступа к файлам.

Еще по теме:

ВКонтакте
OK
Telegram
WhatsApp
Viber

Добавить комментарий

Ваш адрес email не будет опубликован.