Blinder Tunnel: фальшиве завдання Dubai Airports запускає шкідливий код

Unit 42 відтворила фальшиве завдання Dubai Airports: відкриття проєкту Visual Studio запускало шкідливий код, а GitHub передавав команди.

Біла папка тестового завдання відкривається в блакитний люк; текст «ТЕСТ НА РОБОТУ» та «ПРИХОВАНИЙ КОД».

Фальшивий відбір на роботу в Dubai Airports перетворив звичайне тестове завдання на запуск шкідливого ПЗ: пастка могла спрацювати вже під час відкриття проєкту у Visual Studio, ще до компіляції. У звіті від 6 жовтня Unit 42 відтворює кампанію Blinder Tunnel проти людини з сектору критичної інфраструктури Іраку, ймовірно інженера-програміста. Операція розпочалася в березні 2026 року, а підготовка простежується з листопада 2025-го. Це нове дослідження давнішої активності, а не повідомлення про початок атаки сьогодні.

Бренд аеропорту був прикриттям. Unit 42 не має відомостей про злам чи вразливість систем Dubai Airports. Для розробника висновок конкретніший за «не запускайте невідомі програми»: незнайомий проєкт здатний виконувати інструкції збирання, поки середовище розробки лише завантажує його.

Безпечний перший етап додав довіри небезпечному другому

Спочатку псевдорекрутери надали інсталятор автономного порталу вакансій. Кандидат входив із виданими ними обліковими даними й заповнював кадрову анкету з десяти запитань. За аналізом дослідників, надсилання відповідей не викрадало дані, не зверталося до сервера й не запускало шкідливий код. Така тиша допомагала сприйняти наступне прохання як звичайне продовження відбору.

У квітні той самий користувач VirusTotal з Іраку завантажив наступний етап: архів проєкту Visual Studio із вправою для системи керування польотами. README звертався до адресата на ім’я й описував коротке домашнє завдання. Навмисно помилковий цикл пропускав останній елемент — правдоподібна причина зібрати й запустити проєкт.

Знімок README у Unit 42: ім’я адресата приховане, описано коротке тестове завдання з програмування.
README подає персоналізоване домашнє завдання як звичайний етап найму. Ім’я цілі приховане в оригіналі. Джерело: Unit 42.

Ім’я адресата та невелике завдання з налагодження створювали довіру, але не підтверджували роботодавця. На знімку, який дослідники оприлюднили з прихованою особою цілі, видно, як проєкт подали як звичайну перевірку навичок.

Відкриття проєкту вже було межею виконання

Шкідливі інструкції містилися у файлі проєкту .csproj, а не в очевидній вправі. Коли Visual Studio завантажує проєкт, воно виконує фонове збирання для роботи із залежностями й редактором. У цьому зразку нападники перевизначили ціль збирання, яку викликає така ініціалізація. Фоновий процес скопіював файли з каталогу Resources у папку з оманливою назвою Microsoft і запустив виконуваний файл.

Тому «я лише відкрив код, щоб подивитися» тут не було достатньою межею безпеки. Звіт описує використання очікуваної поведінки середовища розробки, а не доведену вразливість кожної версії Visual Studio чи кожного проєкту. Саме наданий проєкт був налаштований так, щоб завантаження спричинило виконання.

Unit 42 позначає шкідливий csproj, папку Resources із навантаженням і FlightManager.cs із завданням-приманкою.
Видиме завдання з налагодження та шкідлива конфігурація проєкту містилися в різних файлах. Джерело: Unit 42.

Перелік файлів відділяє завдання-приманку у FlightManager.cs від конфігурації проєкту й ресурсів із корисним навантаженням. Перевірка лише видимої помилки не показала б компонент, який запускав ланцюжок.

Підпис Microsoft стосувався процесу, а не завантаженого коду

Далі використовувався справжній підписаний Microsoft процес хостингу Visual Studio, перейменований на RuntimeBroker.exe. Супровідна конфігурація перенаправляла менеджер запуску .NET на код нападника — це техніка AppDomainManager hijacking. Потім підміна завантажуваної DLL дозволяла виконати RuntimeBroker.dll, яку Unit 42 називає ShelbyLoader V2. Конфігурація також намагалася погіршити роботу Event Tracing for Windows — джерела відомостей про виконання.

Знайома назва чи чинний підпис такого процесу не підтверджують безпеки конфігурації та DLL поруч. Назва також не означає, що справжній Runtime Broker у Windows є шкідливим. У цьому випадку важлива сукупність: перейменований процес, супровідні файли й нетипове розташування в локальних даних користувача.

ShelbyLoader V2 створював запис автозапуску поточного користувача й завантажував ShelbyC2 V2 — компонент віддаленого доступу. Окремий модуль виконував PowerShell усередині захопленого процесу без запуску PowerShell.exe. Ще один компонент, Blackwood, обгортав утиліту Chisel для тунелювання у внутрішню мережу. Це описані можливості й досліджені етапи; відкритий звіт не називає всіх постраждалих організацій і не встановлює загальну кількість жертв.

GitHub передавав команди та запасний маршрут до них

Завантажувач використовував репозиторії GitHub для реєстрації пристрою, отримання команд і матеріалу для розшифрування наступного компонента. Якщо токен відкликали або основний канал повертав помилку авторизації, він шукав у GitHub issues зашифровані запасні інструкції, приховані в коментарях. Так оператори могли змінити адресу зв’язку, навіть коли початковий канал переставав працювати.

Це зловживання легітимним хмарним сервісом. GitHub видалив шкідливу інфраструктуру, виявлену у звіті. Видалення порушує її роботу, але не доводить очищення вже зараженого пристрою чи усунення всіх запасних маршрутів.

Власне оформлення нападників також допомогло розслідуванню. Їхня публічна інфраструктура запозичувала назви з Peaky Blinders, а файл із музичною темою зберіг метадані іранського музичного сайту. Інфраструктура, вибір цілей та інші артефакти стали підставою для оцінки Unit 42 з високою впевненістю про зв’язок з іранською державно орієнтованою активністю. Збіги з конкретними відомими групами мали низьку впевненість, тому активність відстежують як CL-STA-1178 без остаточного приписування одній із них.

Що перевіряти після незнайомого проєкту для співбесіди

Перед відкриттям завдання перевірте рекрутера й вакансію через самостійно знайдені канали роботодавця. Постійне попередження Dubai Airports про шахрайський найм зазначає, що компанія не вимагає оплати за відбір, і називає офіційний домен електронної пошти. Це загальні правила, а не підтвердження саме цієї шкідливої кампанії; правдоподібний відправник сам по собі не робить проєкт безпечним.

Якщо ви вже відкрили описаний проєкт, не відтворюйте його поведінку повторно на звичному комп’ютері. Збережіть повідомлення, архів і час подій, від’єднайте підозрілий робочий пристрій від мережі та залучіть команду безпеки. Конкретні орієнтири для перевірки в цьому випадку:

  • Запис автозапуску MicrosoftRuntime, що вказує на нетиповий каталог Microsoft\RuntimeBrokers у локальних даних користувача.
  • Перейменований RuntimeBroker.exe разом із конфігурацією, RuntimeBroker.dll чи RuntimeBrokerApi.dll, походження яких пов’язане із завданням.
  • Нетипові звернення до GitHub API після відкриття проєкту — у зв’язку з ланцюжком процесів та індикаторами звіту, а не як привід блокувати весь GitHub.

Ці ознаки потребують контексту: назва файла не є діагнозом, а відсутність ознак не доводить безпеки. Захисний засіб може видалити видимий компонент, залишивши запис автозапуску, завантажувач або супровідний модуль. Якщо підозрілий код виконався на особистому комп’ютері Windows, Gridinsoft Anti-Malware може бути кроком локального сканування. На робочому пристрої потрібна процедура реагування організації, зокрема перевірка облікових даних і сеансів, доступних із цього комп’ютера.

Перевірити комп’ютер після підозрілого проєкту за допомогою Gridinsoft Anti-Malware

Окрема кампанія фальшивих співбесід WaterPlum показує, чому звичний процес найму зручний для доставки шкідливого ПЗ. Відмінність Blinder Tunnel — точка переходу від довіри до виконання: саме відкриття проєкту вже було частиною атаки.

Джерела

  1. Unit 42. Кампанія Blinder Tunnel проти інфраструктури Іраку. Palo Alto Networks, 6 жовтня 2026 року; переглянуто 6 жовтня 2026 року.
  2. Dubai Airports. Попередження про шахрайство під час найму. Постійні рекомендації; переглянуто 6 жовтня 2026 року.

Пишу про те, як зробити життя онлайн комфортним і безпечним. Вірю, що сучасний цифровий світ вартий того, щоб бути його частиною.