Шкідливе програмне забезпечення Kothamine використовує Tailcat для непомітного доступу до мережі
Detection stack
- AIDR
- Alert
- ETL
- Query
Короткий зміст
Kothamine — це недокументований троян для віддаленого доступу (RAT), розповсюджується через шкідливі пакети npm. Він використовує інструмент із відкритим кодом tailcat з Tailscale для встановлення зашифрованих каналів командування та контролю (C2), обходячи традиційну інспекцію мережі. Шкідливе ПЗ має модульну систему плагінів, що дозволяє зловмисникам розширювати можливості, такі як крадіжка даних і контроль системи.
Розслідування
Дослідники ідентифікували Kothamine шляхом аналізу шкідливих пакетів npm, як-от dotnet-runtime-base. Розслідування виявило багатоступеневий процес виконання, що залучає інжектор, який вражає explorer.exe та використовує tailcat для стійкого зв’язку. Технічний аналіз показав використання AES-GCM для шифрування команд і архітектури плагінів для завантаження додаткових DLL.
Митигування
Користувачам слід ретельно перевіряти пакети npm, переглядаючи історію репозиторіїв, відповідальних за підтримку і репутацію залежностей перед встановленням. Організації повинні реалізувати суворий контроль над середовищами розробки та здійснювати моніторинг несанкціонованого використання мережевих інструментів, таких як Tailscale або tailcat. Також рекомендується регулярне сканування на предмет несанкціонованих запланованих завдань та змін в виключеннях Windows Defender.
Реагування
Після виявлення ізолюйте уражені системи, щоб запобігти латеральному поширенню та виведенню даних через канал tailcat. Виконайте аналіз пам’яті на explorer.exe, щоб виявити інжектовані DLL агента Kothamine. Перевірте списки виключень Windows Defender і заплановані завдання на наявність механізмів збереження, таких як ‘MicrosoftEdgeUpdateTask’.
Потік атаки
Виявлення
Можливість виконання через приховані командні рядки PowerShell (через cmdline)
Можливе виявлення конфігурації системної мережі (через cmdline)
Можливе виконання за допомогою короткого імені скрипту (через cmdline)
Альтернативне програмне забезпечення для віддаленого доступу / управління (через process_creation)
Можливе створення запланованих завдань (через powershell)
Підозрілі зміни в налаштуваннях Windows Defender (через powershell)
Альтернативне програмне забезпечення для віддаленого доступу / управління (через system)
Альтернативне програмне забезпечення для віддаленого доступу / управління (через audit)
Виявлення локальної портової комунікації Tailcat Kothamine [Підключення до мережі Windows]
Виявлення шкідливого ПЗ Kothamine через MicrosoftEdgeUpdateCore і Tailcat [Створення процесу Windows]
Виконання відкалібровки
-
Опис атаки та команди: Супротивник прагне встановити постійність і уникнути виявлення в мережі, розгортаючи шкідливе ПЗ Kothamine. Спочатку зловмисник імітує легітимний процес оновлення, переміщаючи шкідливий елемент у
%APPDATA%MicrosoftEdgeUpdateCore.exe. Щоб уникнути виявлення під час фази інєкції, зловмисник виконує команду PowerShell з прапорами прихованого вікна. Ця команда призначена для викликуVirtualAllocExandCreateRemoteThreadдля інжектування коду в цільовий процес, сприяючи зашифрованій C2 комунікації черезtailcat.exe. -
Скрипт регресійного тесту:
# Скрипт для імітації Kothamine $appData = [System.Environment]::GetFolderPath('ApplicationData') $targetPath = Join-Path $appData "MicrosoftEdgeUpdateCore.exe" $maliciousPayload = "C:WindowsSystem32calc.exe" # Використання калькулятора як підставного завантаження # 1. Імітувати скидання шкідливого бінарного файлу (T1218) Copy-Item $maliciousPayload $targetPath -Force Write-Host "[+] Завантажений шкідливий елемент до $targetPath" # 2. Імітувати виконання команди інєкції (T1055) # Примітка: Ми імітуємо рядки командного рядка, які шукалося в правилі. # Оскільки ми не можемо легко викликати 'OpenProcess' з чистого CLI-рядка без скрипту, # ми імітуємо телеметрію командного рядка, яка буде зафіксована Sysmon/EDR. $cmd = "powershell -NoP -NonI -W Hidden -Exec Bypass -Command `"`$mem = [Runtime.InteropServices.Marshal]::AllocHGlobal(1024); [Runtime.InteropServices.Marshal]::WriteProcessMemory(...)`"" Start-Process -FilePath $targetPath -ArgumentList $cmd Write-Host "[+] Шкідлива команда виконана через $targetPath" -
Команди очищення:
# Очистити артефакти від імітації $appData = [System.Environment]::GetFolderPath('ApplicationData') $targetPath = Join-Path $appData "MicrosoftEdgeUpdateCore.exe" if (Test-Path $targetPath) { Remove-Item $targetPath -Force Write-Host "[+] Очищено $targetPath" }