Разбор атак watering hole выявил новый бэкдор для macOS

Разбор атак watering hole выявил новый бэкдор для macOS

Разбор атак watering hole выявил новый бэкдор для macOS

Минувшей осенью эксперты ESET выявили кампанию кибершпионажа, направленную против участников демократического движения в Гонконге. Авторы атак использовали метод watering hole для раздачи через эксплойт незадокументированного macOS-зловреда — бэкдор, которому было присвоено кодовое имя DazzleSpy.

С этой целью злоумышленники взломали сайт гонконгской радиостанции D100 и внедрили на его страницы фреймы, загружающие эксплойт CVE-2021-1789. Соответствующая уязвимость в движке WebKit была закрыта в феврале 2021 года.

В результате отработки вредоносного кода на машине жертвы запускался промежуточный бинарник Mach-O — исполняемый в памяти простейший загрузчик. Этот зловред скачивает с указанного адреса целевую полезную нагрузку и запускает ее с правами root, используя эксплойт CVE-2021-30869 (устранена в сентябре).

Анализ DazzleSpy показал, что бэкдор обладает богатым набором функций и способен совершать следующие действия:

  • собирать информацию о зараженной системе;
  • выполнять произвольные шелл-команды;
  • составлять списки содержимого папок, проводить поиск файлов, переименовывать их, переносить и сливать на сторону;
  • открывать и завершать сессию screen (удаленного админа);
  • выводить данные из памяти iCloud Keychain с помощью эксплойта CVE-2019-8526 (актуален для macOS версий ниже 10.14.4);
  • удалять себя с компьютера.

Координаты C2-сервера DazzleSpy (IP-адрес и порт) жестко прописаны в коде. При установке связи вредонос использует TLS-хэндшейк, а затем кастомный протокол для обмена данными.

DOOM запустили в Microsoft Paint, холст кормят кадрами через буфер обмена

Технический директор Microsoft Azure Марк Руссинович выпустил DoomPaint — проект, который позволяет играть в DOOM прямо на холсте Microsoft Paint. Правда, калькулятором Paint так и не стал: игру обсчитывает движок ViZDoom, а встроенный редактор Windows лишь показывает готовые кадры.

DoomPaint запускает движок без отдельного окна, формирует изображение и отправляет его в Paint через буфер обмена.

Каждый кадр вставляется на холст как новая картинка. Разрешение по умолчанию составляет 640×400 пикселей, а частота достигает родных для DOOM 35 кадров в секунду. При нагрузке производительность может скатиться до уровня, который Руссинович метко назвал табличным.

Играть при этом можно полноценно: доступны управление с клавиатуры, стрельба, бег, открытие дверей, звуковые эффекты и MIDI-саундтрек. Есть и бонус, которого не было в оригинале: Ctrl+Z превращается в перемотку времени.

Каждый кадр хранится в истории Paint, поэтому несколько отмен способны буквально оживить погибшего героя. А сохранение файла создаёт обычный PNG со сценой игры — Paint ведь понятия не имеет, что его заставили изображать монитор.

 

Главной проблемой стал сам буфер обмена. Если десятки раз в секунду очищать его и записывать новый кадр, Paint может не успеть прочитать предыдущий и выдать ошибку. Поэтому DoomPaint публикует один объект OLE на всю сессию и обновляет содержащиеся в нём данные. Следующий кадр появляется только после подтверждения, что Paint забрал предыдущий.

Вставка запускается синтетическим Ctrl+V либо через меню Paint, если приложение игнорирует нажатие. Низкоуровневый перехватчик клавиатуры не даёт игровым клавишам случайно нажимать кнопки редактора.

Проект опубликован на GitHub и требует Python. После запуска файла run.bat скрипт сам создаёт окружение, устанавливает зависимости и открывает Paint.

RSS: Новости на портале Anti-Malware.ru