Шкідливе програмне забезпечення Redtail: технічний аналіз та поведінка
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
RedTail – це мультиархітектурне сімейство шкідливих програм для Linux з можливостями для розширеного профілювання хостів та маскування процесів. Воно встановлює стійкість через crontab, змінює правила брандмауера на хості та намагається зірвати роботу засобів моніторингу шляхом завершення процесів, таких як inotify and strace. Шкідлива програма також генерує мережевий трафік через DNS-over-TLS на TCP-порті 853 для потенційного доступу до віддаленої інфраструктури.
Розслідування
Аналітик провів динамічний аналіз зразка RedTail для x86-64 в ізольованому середовищі Ubuntu 24.04. Розслідування порівнювало виконання з root-привілеями і без привілеїв, використовувало Proxmox/QEMU для аналізу пам’яті та моніторило системні виклики за допомогою strace and auditd. Спостережувана поведінка включала постійне профілювання хостів, перейменування процесу на php-fpm, та створення @reboot записи cron.
Пом’якшення
Організації повинні застосовувати принцип найменших привілеїв, щоб зменшити здатність шкідливої програми змінювати системні crontabs або правила брандмауера. Команди безпеки повинні моніторити підозрілі маскування процесів, включаючи законні назви служб, такі як php-fpm запускаються з неочікуваних шляхів. Рішення EDR також повинні виявляти сигнали SIGKILL , що націлені на процеси моніторингу безпеки.
Реакція
Якщо активність RedTail виявлено, уражені хости Linux слід негайно ізолювати, щоб запобігти латеральному переміщенню або додатковій командно-контрольній комунікації. Відповідачі повинні провести аналіз пам’яті, щоб ідентифікувати замасковані процеси та перевірити crontab на наявність несанкціонованих @reboot записів. Мережеві журнали також слід перевірити на наявність аномальних вихідних з’єднань на TCP-порті 853, а конфігурацію iptables перевірити на наявність несанкціонованих змін правил.
Хід атаки
Ми все ще оновлюємо цю частину.
Виявлення
Підозріла виконання утиліти xxd (через cmdline)
Файл Cron був створений (через file_event)
Скрипт Linux був створений у тимчасових папках (через file_event)
Прихований файл був створений на хості Linux (через file_event)
IOCs (HashSha256) для виявлення: Аналіз навантаження Redtail
IOCs (SourceIP) для виявлення: Аналіз навантаження Redtail
IOCs (DestinationIP) для виявлення: Аналіз навантаження Redtail
Завершення процесу RedTail Strace через SIGKILL [Створення процесу Linux]
Виявлення спроб мережевого підключення RedTail Malware [Створення процесу Linux]
Виконання навантаження RedTail та маскування процесів [Створення процесу Linux]
Виконання симуляції
-
Сценарій атаки та команди: Противник розгорнув спеціалізований зразок шкідливої програми під назвою
redtail.x86_64всередині конкретної структури каталогів/analysis/run-002/sample/. Щоб запобігти відладці виконання з боку аналітиків з безпеки або використаннюstraceдля спостереження за його мережевими комунікаціями та змінами файлів, шкідлива програма активно сканує наявність утилітиstrace. Коли знаходить процесstrace, шкідлива програма видаєсигнали SIGKILL(Сигнал 9) дляstracePID, ефективно завершуючи інструмент аналізу миттєво і безшумно. -
Скрипт регресійного тесту:
#!/bin/bash # Налаштування структури каталогів симуляції mkdir -p /analysis/run-002/sample/ # Створення фальшивого бінарного шкідника, щоб відповідати логіці виявлення echo -e '#!/bin/bashnstrace sleep 100 & nsleep 1nkill -9 $!' > /analysis/run-002/sample/redtail.x86_64 chmod +x /analysis/run-002/sample/redtail.x86_64 # Запустити strace на безпечному процесі у фоновому режимі strace sleep 100 & STRACE_PID=$! echo "[+] Запущено strace з PID: $STRACE_PID" # Чекати ініціалізації strace sleep 2 # Виконати "шкідник", який вб'є процес strace echo "[+] Виконується симульований шкідник RedTail..." /analysis/run-002/sample/redtail.x86_64 # Перевірив, чи strace припинений if ! kill -0 $STRACE_PID 2>/dev/null; then echo "[+] Успіх: процес strace припинено." else echo "[-] Невдача: процес strace все ще працює." fi -
Команди очищення:
# Видалити симульований шкідник і структуру каталогів rm -rf /analysis/run-002/ # Убити всі процеси sleep, що залишились pkill -f "sleep 100"