T1554: КОМПРОМЕТАЦІЯ БІНАРНИХ ФАЙЛІВ ХОСТОВОГО ПЗ
Зловмисники модифікують виконувані файли (бінарники) легітимного програмного забезпечення для встановлення постійного доступу. Це може бути заміна оригінального файлу на версію з бекдором або патчинг (внесення змін у код) існуючої програми. Оскільки такі програми, як SSH-клієнти, браузери або системні утиліти, регулярно запускаються користувачами, зловмисник отримує гарантований перезапуск свого коду та можливість викрадати облікові дані прямо під час їх введення.
ТЕХНІЧНИЙ ОПИС
Зловмисники можуть модифікувати бінарні файли програмного забезпечення на хості для встановлення постійного доступу до систем. Бінарні файли/виконувані файли забезпечують широкий спектр системних команд або служб, програм і бібліотек. Поширеними бінарними файлами є SSH-клієнти, FTP-клієнти, поштові клієнти, веб-браузери та багато інших користувацьких або серверних додатків.
Зловмисники можуть забезпечити собі стійкість (Persistence) шляхом модифікації бінарних файлів ПЗ. Наприклад, зловмисник може замінити або іншим чином заразити легітимний бінарний файл програми (або допоміжні файли) бекдором. Оскільки ці файли можуть регулярно виконуватися додатками або користувачем, зловмисник може використовувати це для постійного доступу до хоста. Зловмисник також може модифікувати бінарний файл, такий як SSH-клієнт, щоб постійно збирати облікові дані під час входу в систему (техніка Modify Authentication Process).
Зловмисник також може модифікувати існуючий бінарний файл, впроваджуючи (patching) шкідливу функціональність (наприклад, IAT Hooking або патчинг точки входу) до початку легітимного виконання бінарного файлу. Наприклад, зловмисник може змінити точку входу (Entry Point) бінарного файлу так, щоб вона вказувала на впорскнутий шкідливий код, перш ніж відновити нормальний потік виконання програми.
Після модифікації бінарного файлу зловмисник може спробувати пошкодити захист (Impair Defenses), запобігаючи його оновленню (наприклад, за допомогою команди yum-versionlock або файлу versionlock.list у системах Linux, що використовують менеджер пакетів yum).
Методи впровадження:
- Заміна файлу: Найпростіший метод — повна заміна ssh.exe на шкідливу версію.
- Entry Point Patching: Зміна заголовка виконуваного файлу (PE/ELF), щоб перша інструкція переходила на шкідливий код у “печері коду” (code cave) всередині того ж файлу.
- IAT Hooking: Модифікація таблиці імпорту (Import Address Table), щоб програма замість системної функції (наприклад, для шифрування) викликала функцію зловмисника.
Як захиститися?
- Контроль цілісності (FIM): Використовуйте інструменти моніторингу цілісності файлів для відстеження змін у системних бінарниках.
- Підпис коду: Налаштуйте ОС так, щоб вона дозволяла запуск лише підписаних виконуваних файлів та перевіряла валідність підпису при кожному запуску.
- EDR моніторинг: Сучасні системи захисту можуть виявляти аномалії в поведінці стандартних програм (наприклад, коли SSH-клієнт раптом починає записувати дані у прихований файл).