Пост-эксплуатация

#7 После атаки. Загружаем файлы на целевой сайт. Пост-эксплуатация.

Здравствуйте, дорогие друзья. Давайте рассмотрим, как загружать файлы на сервер. Это может быть очень полезно, потому что Вы можете закачивать все, что хотите. К примеру, любые php-скрипты. Они могут использоваться для чего угодно. Вы можете использовать их для получения обратного шелла, для выполнения команд на сервере, а также использовать при подключении к базе данных и для просмотра файлов. Вы можете применять их для использования уязвимостей, таких как переполнение буфера и выполнения кода. Возможности безграничны.

Чтобы проверить текущего пользователя в weevely, нужно написать команду «whoami»:

Я нахожусь под пользователем www-data. Текущий веб-сайт запушен под этим пользователем. По сути, я могу делать на этом веб-сайте все что угодно, так как я владею им.

Во множестве случаев, когда Вы получили доступ к веб-сайту, у Вас не будет таких привилегий. Иными словами, Вы не сможете загружать файлы на сервер. Вы можете загружать файлы в директории с правами 777. Это директории, в которые кому угодно можно загружать файл.

Давайте пропишем «ls -la»:

Видим все наши файлы. Как видим, все они принадлежат пользователю «www-data». Это обычные файлы и текущие директории. Исходя из этого делаем вывод того, что я могу загружать файлы куда угодно с текущими правами.

Давайте притворимся, что мы не можем загружать файлы в любое место. Нам нужно найти его в первую очередь. Это место, куда все могут загружать файлы, с наличием прав 777. Как я уже говорил, что начальная буква «d» — означает директорию. Права должны выглядеть как «drwxrwxrwx». При осмотре мы не найдем директории с правами 777. У нас есть интересная директория, под названием «hackable». Откроем ее с помощью команды «cd hackable», после чего откроем содержимое директории при помощи «ls -l»:

Здесь нет ничего интересного, поэтому вернемся обратно, поднявшись на два уровня выше:

Просмотрим содержимое директории:

Смотрите, что у нас есть директория «dav». Она не принадлежит нам, а находится под пользователем «root»:

В эту директорию, исходя из обозначения, можно загружать файлы всем. У нее есть права 777, которые выглядят как «drwxrwxrwt».

Откроем эту директорию с помощью «cd» и выведем содержимое «ls -l»:

Как видим, у нас нет никаких файлов и директорий. Мы можем загрузить наш файл, используя функцию «file_upload -h»:

Синтаксис команды следующий. Сначала пишем функцию «file_upload», затем прописываем метод «=force», для принудительной перезаписи файлов, если он уже существует. Далее нужно указать месторасположение файла на текущем компьютере «lpath», а затем удаленное расположение, если Вы хотите сохранить файл на сервере «rpath».

Я уже предварительно создал файлик, в директории «/root/», который называется «shell.txt», мы попытаемся загрузить его. Команда будет выглядеть как: «file_upload /root/shell.txt ./test-shell-uploaded.txt»:

И мы видим выражение «True», и это значит, что файл был загружен. Давайте пропишем «ls», и видим, что файл был загружен в текущую директорию:

Теперь мы можем открыть наш веб-браузер, и прописать путь до шелла:

Видим зашифрованный шелл, и он был загружен правильно. Основная мысль такова, что нужно искать директории с правами 777, для дальнейшей эксплуатации.

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

Первая часть статьи по пост-эксплуатации.

Вторая часть статьи по пост-эксплуатации.

Третья часть статьи по пост-эксплуатации.

Четвертая часть статьи по пост-эксплуатации.

Пятая часть статьи по пост-эксплуатации.

Шестая часть статьи по пост-эксплуатации.