Скрытый удаленный кейлоггер для Windows своими руками

Скрытый удаленный кейлоггер Windows сделать

Мы уже не раз писали про создание кейлоггера для Windows. Сегодня продолжу тему клавиатурных шпионов и покажу, как создать обычный файл или ярлык, который будет скрыто запускать кейлоггер и отправлять перехваченные данные, набранные на клавиатуре, на удаленный хост.

Еще по теме: Как написать кейлоггер на C#

Создание и скрытый запуск кейлоггера на VBScript и HTA

Для скрытого запуска удаленного кейлоггера мы будем использовать так называемый полиглотный файл — тип файла, который может быть представлен в нескольких форматах и на разных языках. Для этого отлично подходит формат ярлыков (.lnk) так как он не показывает расширение файла, его можно сделать скрытым, легко изменить иконку и сделать полиглотным. Наиболее интересным аспектом ярлыков является возможность добавлять данные в конец содержимого, и при этом файл будет запускаться как обычно. Например, если у вас есть ярлык для Chrome, вы можете добавить произвольные байты, и он все равно откроет Chrome без ошибок.

Вся информация, методы и инструменты, описанные в данной статье, предназначены для обучения этичных хакеров (пентестеров). Использование представленной в статье информации для атак на частных лиц или организации без их предварительного согласия является незаконным. Ни редакция spy-soft.net, ни автор не несут ответственности за ваши незаконные действия.

Чтобы воспользоваться этим преимуществом, нужно найти язык программирования, который сможет выполнять код в системе, будучи добавленным в другой файл с кодом на другом языке / формате. Хорошим выбором будет HTA — это программа Microsoft Windows, исходный код которой состоит из HTML, Dynamic HTML и одного или нескольких скриптовых языков, поддерживаемых Internet Explorer, таких как VBScript или JScript.

Из этого следует, что для выполнения кода можно использовать VBScript. Мы можем объединить файл ярлыка (Google Chrome) с файлом HTA (с помощью VBScript) для выполнения любых команд, сохраняя при этом работоспособность ярлыка после выполнения вредоносной команды.

Наша схема будет выглядеть так: запуск вредоносного ярлыка + HTA-файла + VBscript с командой PowerShell, которая запускается в памяти:

  1. Экспорт файла C:/temp/keylogger.txt на нашу атакующую машину.
  2. Запуск кейлоггера, который экспортирует данные в C:/temp/keylogger.txt.
  3. Открытие обычного Chrome.exe.

Эта схема позволит получать содержимое keylogger.txt при каждом запуске ярлыка Chrome, и при этом Chrome будет по-прежнему запускаться.

Создание шаблона файла ярлыка (.lnk)

Кликните правой кнопкой мыши на Рабочем столе —> Новый —> Ярлык —> Обзор —> Google Chrome (chrome.exe) —> Введите любое имя (в моем случае — Template).

Создание ярлыка для скрытого запуска кейлоггер

Создание ярлыка для удаленного запуска кейлоггер

Измените «Target» (Цель) в Template.lnk, чтобы запустить Google Chrome.lnk (вредоносный ярлык), а также Chrome.exe (обычный Chrome) с Рабочего стола.

Измените «Start In» на %CD%

Создать ярлык для удаленного кейлоггера

Создание файла code.hta с помощью VBScript

Теперь необходимо создать HTA-файл ( code.hta), который будет выполнять VBScript, который, в свою очередь, выполнит наш скрипт PowerShell. По сути, этот VBScript выполняет запуск файла keylogger.ps1, который будет описан ниже.

Можно обойти некоторые сигнатурные детекты, добавив произвольные элементы в файл HTA, приведенный ниже. Это полиглотный файл, поэтому он позволяет нам немного обфусцировать.

Теперь, используя Apache2 нужно создать веб-сервер, на котором будет находиться файл upload.php:

Создание файла code.hta используя VBScript

Создайте каталог uploads в том же месте, где находится файл upload.php, и измените права доступа на www-data для пользователя и группы. Затем запустите Apache на порту 80. И наконец, запустите сервер на порту 8080, чтобы отправить файл keylogger.ps1 жертве:

Запуск сервера Kali Linux для доставки кейлоггера

Создание вредоносного ярлыка Chrome.lnk

Итак, теперь у нас есть файл Template.lnk и файл code.hta, готовые к объединению в новый Chrome.lnk, который запустит сам себя и запустит как Chrome.exe (указанный в Target), так и code.hta (также указанный в Target).

Создание вредоносного ярлыка Chrome.lnk

Запустите командную строку на рабочем столе:

Запуск командной строки на рабочем столе

Ярлык скрытый кейлоггер

Теперь перенесите это на атакующую машину, чтобы выполнить с порта 8080.

Создание keylogger.ps1

Обход AMSI + отправитель файлов кейлоггера + кейлоггер

В моей предыдущей статье я уже показывали метод исправления AMSI.dll. Чтобы не выдумывать велосипед, просто создаем файл keylogger.ps1 и добавляем в него этот код:

Вначале Защитник будет отмечать обнаружение на основе поведения, но после этого он не будет уведомлять пользователя. При первом использовании пользователь увидит небольшое всплывающее окно об обнаружении угрозы. В последующие разы, когда пользователь запустит ярлык, кейлоггер запустится без предупреждения о вирусе. Это связано с поведением VBScript при выполнении файла PowerShell.

Создание keylogger.ps1

Защитник Windows использует методы поведенческого анализа для выявления подозрительных действий. Например, если скрипт PowerShell пытается загрузить и выполнить файлы из Интернета, зашифровать файлы в большом количестве или использовать уязвимости системы, такое поведение может отобразить у пользователя предупреждение.

Сценарий использования

Допустим, вы получили RCE от имени администратора в CMD с помощью известного CVE и имеете нестабильную сессию PowerShell, поэтому вы отправляете reverse shell, который может обойти AV (обфусцированный), чтобы получить более стабильный shell.

Удаленный запуск скрытого кейлоггера

Удаленный запуск скрытый кейлоггер

Сначала удалите текущий Chrome.lnk и замените его нашим вредоносным Chrome.lnk.

Затем создайте каталог C:\temp для файла keylogger.txt:

Размещение нашего Google Chrome.lnk на рабочем столе пользователя

Кейлоггер создание

На атакующей машине у нас есть наш веб-сервер upload.php, запущенный на порту 80, и keylogger.ps1, готовый к работе на порту 8080, так что теперь нам остается только ждать, пока пользователь запустит ярлык.

Запуск сервера кейлоггер шпион

Когда пользователь запустит Google Chrome, браузер откроется как обычно, но также выполнит скрипт keylogger.ps1 с нашего сервера. Наш кейлоггер теперь активен, а файл keylogger.txt пуст.

Пользователь входит в Facebook

Запуск удаленный кейлоггер

Затем, когда пользователь снова запустит ярлык, мы получим все, что он вводил с момента первого запуска Google Chrome. Файл keylogger.txt просто добавляется, так что мы не потеряем ничего из того, что было набрано пользователем. Проверяем каталог uploads на атакующем:

Запуск удаленный кейлоггер

Теперь используем две нижеприведенные команды, чтобы можно было открыть его в Linux.

Скрытый удаленный кейлоггер для Windows

Удаленный скрытый кейлоггер Windows

Это пока не идеальный вариант, но он показывает, что Защитник часто не справляется с угрозами, выполняющимися в памяти, и что ярлык на рабочем столе — это вполне действенный вектор атаки, которым могут воспользоваться злоумышленники.

ПОЛЕЗНЫЕ ССЫЛКИ:

QUASAR

Этичный хакер: компьютерный ниндзя и мастер цифровых тайн.

Добавить комментарий