PamStealer: нова загроза для macOS, що виходить за рамки звичного

Відкриття свідчить про зростання зусиль, спрямованих на розробку Mac infostealers.

PamStealer: нова загроза для macOS, що виходить за рамки звичного 1 PamStealer: нова загроза для macOS, що виходить за рамки звичного 2

Дослідники виявили раніше невідомий зразок шкідливого програмного забезпечення для macOS, який поєднує низку продуманих методів для непомітного зараження Mac та встановлення спеціально розробленого коду для викрадення облікових даних.

Шкідлива програма поширюється у два етапи. Перший етап постачається у файлі образу диска, що маскується під Maccy — менеджер буфера обміну для Mac. Він скомпільований як AppleScript, який примітний тим, як доставляє другий етап. Шкідлива програма отримала назву PamStealer, оскільки infostealer, написаний на Rust, використовує інтерфейс Pluggable Authentication Modules (PAM), вбудований у macOS, для перевірки пароля користувача перед відправленням його на сервер, контрольований зловмисником.

Тихий ланцюжок виконання

Використання як образу диска, так і AppleScript є поширеним у шкідливому програмному забезпеченні для Mac. Більш незвичним є спосіб, у який PamStealer їх поєднує для досягнення прихованості. Коли AppleScript двічі клацають, він відкривається в macOS Script Editor, де зловмисна функціональність глибоко захована всередині файлу.

«Замість використання команд оболонки, таких як curl або zsh, AppleScript виконує самодостатній завантажувач JavaScript for Automation (JXA), який отримує та готує корисне навантаження, використовуючи нативні Objective-C API», — написали дослідники з Jamf, компанії з безпеки для користувачів macOS. «У поєднанні з другим етапом на основі Rust та робочим процесом захоплення паролів, який локально перевіряє облікові дані через PAM, результат — це тихіший ланцюжок виконання, ніж той, який ми зазвичай спостерігаємо у звичайних macOS stealers».

Коли користувач, очікуючи встановити надійний менеджер буфера обміну, стикається з образом диска, йому пропонується натиснути Command-R відразу після подвійного клацання. Ця команда виконує зловмисний код всередині AppleScript безпосередньо. Це також дозволяє обійти com.apple.quarantine — атрибут macOS, який надає попередження та обмеження, коли виконувані файли були завантажені з Інтернету.

Як пояснили в Jamf:

PamStealer поєднує нещодавно виявлену поверхню доставки з менш знайомим корисним навантаженням. Хоча клікабельний .scpt та приманка Script Editor базуються на методах, які вже набирають поширення в ландшафті загроз macOS, шкідлива програма відрізняється самодостатнім JXA дропером, другим етапом на основі Rust та робочим процесом захоплення паролів, який локально перевіряє облікові дані через PAM перед їх збором. Цей другий етап докладає значних зусиль для приховування, маскуючись під Finder, шифруючи трафік командно-контрольних серверів та відкладаючи запити, такі як запит на повний доступ до диска, до сорока хвилин, щоб його активність не збігалася з запуском. Разом ці поведінки ілюструють, як звичайні macOS stealers продовжують розвиватися, приймаючи тихіші ланцюжки виконання та нативні реалізації, які зменшують традиційні можливості виявлення, залишаючись при цьому сумісними зі стандартними функціями macOS.

Перший етап розміщує своє корисне навантаження всередині пакета програми, який видає себе за справжні компоненти, вбудовані в macOS. Компонент змінюється від одного зразка шкідливої програми до іншого. Finder.app під com.apple.finder.core або com.apple.finder.monitor, а також Software Update.app під com.apple.security.daemon — два приклади. У будь-якому випадку, вони запускаються приховано. Вони також відображають справжній Finder.icns macOS як свою іконку.

Другий етап — це легкий файл Mach-O, написаний для Mac, що працюють на процесорах Apple. Вибір зловмисником написати його на Rust є відносно незвичним для macOS infostealers. Більш поширеними є такі мови, як Swift, Go та Objective-C. Цей бінарний файл викликає інтерфейс читання вбудованої програми SQLite. Це дозволяє infostealer читати файли бази даних безпосередньо.

PamStealer відображає нативний запит пароля, розроблений так, щоб нагадувати системний запит на авторизацію. Текст, що з’являється із запитом, говорить: «Maccy хоче внести зміни. Введіть ваш пароль, щоб дозволити це». Як зазначалося раніше, як тільки ціль надає пароль, шкідлива програма перевіряє його локально через PAM API.

«Ця перевірка виконується повністю через PAM: немає жодного виклику dscl, security, osascript або будь-якого іншого запущеного процесу для перевірки пароля, як це роблять багато звичайних macOS stealers», — заявили в Jamf. «Результатом є тихіший процес, який зберігає лише перевірений пароль, і на один менший ланцюжок процесів для виявлення захисниками».

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

Шкідлива програма використовує тактики для максимізації інформації, яку вона може викрасти. Одна з таких тактик — це запит на надання жертві повного доступу до диска для підробленої програми Maccy. Вона також містить код, призначений для доступу до облікових записів Ethereum.

Різноманітні техніки — зокрема, приманка Script Editor, самодостатній JXA дропер, другий етап на основі Rust та локальна перевірка облікових даних через PAM — є примітними.

«Разом ці поведінки ілюструють, як звичайні macOS stealers продовжують розвиватися, приймаючи тихіші ланцюжки виконання та нативні реалізації, які зменшують традиційні можливості виявлення, залишаючись при цьому сумісними зі стандартними функціями macOS», — заявили в Jamf.

PamStealer: нова загроза для macOS, що виходить за рамки звичного 3

Дізнатися більше на: arstechnica.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *