Розкриваючи варіант SectopRAT, вбудований у легальне програмне забезпечення
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Нападники використовують багатостадійний завантажувач, щоб приховати троян віддаленого доступу SectopRAT серед легітимного програмного забезпечення. Шкідливий код застосовує підробку DLL та запуск у пам’яті розшифрованого коду ASM, щоб уникнути виявлення безпеки. Після розгортання він дозволяє повний віддалений контроль за скомпрометованою системою, крадіжку даних для аутентифікації та ексфільтрацію даних.
Розслідування
Команда реагування на інциденти FortiGuard виявила SectopRAT, прихований всередині директорії легітимної цифрової аудіоробочої станції в C:ProgramData. Дослідники виявили, що FrameworkBase.dll було змінено через маніпуляцію IAT для завантаження шкідливого sdkcra.dll. Подальший аналіз розкрив використання хешування API та складних технік обфускації для приховування функціональності та виконання шкідливого коду.
Пом’якшення
Організації повинні забезпечувати встановлення легітимних додатків лише в очікуваних шляхах директорій, а не в незвичайних місцях, таких як C:ProgramData. Потужний захист кінцевих точок слід розгорнути для виявлення підробки DLL та несанкціонованого створення запланованих задач. Команди безпеки також повинні стежити за підозрілими вихідними з’єднаннями до невідомих IP-адрес та резервних доменів, що імітують сервіси криптовалют.
Відповідь
Якщо виявлено активність SectopRAT, уражені системи Windows слід негайно ізолювати, щоб припинити подальшу взаємодію з центрів управління і ексфільтрацію даних. Реагуючі повинні зібрати дані пам’яті для відновлення розшифрованого шкідливого завантаження та дослідити несанкціоновані заплановані задачі, пов’язані з ReportDump.exe. Логі мережі також повинні бути переглянуті для підключень до 98.142.252.140 та встановлених резервних доменів із темою Binance.
Ключові слова: SectopRAT, троян віддаленого доступу, багатостадійний завантажувач, підробка DLL, код ASM, виконання в пам’яті, реагування на інциденти FortiGuard, FrameworkBase.dll, модифікація IAT, sdkcra.dll, хешування API, обфускація, C:ProgramData, ReportDump.exe, Binance, крадіжка даних аутентифікації, ексфільтрація даних, C2.
Потік атаки
Ця частина ще оновлюється.
Виявлення
Можливе використання вибору для відкладання виконання (через cmdline)
Можлива спроба зловживання Publicnode Ethereum як каналу C2 (через dns_query)
Індикатори компрометації (HashSha256) для виявлення: вивчення версії SectopRAT, вбудованої в легітимне програмне забезпечення
Індикатори компрометації (HashMd5) для виявлення: вивчення версії SectopRAT, вбудованої в легітимне програмне забезпечення
Індикатори компрометації (SourceIP) для виявлення: вивчення версії SectopRAT, вбудованої в легітимне програмне забезпечення
Індикатори компрометації (DestinationIP) для виявлення: вивчення версії SectopRAT, вбудованої в легітимне програмне забезпечення
Виявлення версії SectopRAT, що виконується через компонент легітимного програмного забезпечення [Створення процесу Windows]
Виконання симуляції
-
Опис атаки та команди: Супротивник прагне встановити стійкість і уникнути виявлення, використовуючи завантаження DLL. Вони розгортають легітимну версію
ReportDump.exeвC:ProgramData, директорія, яку часто ігнорують користувачі, але на яку можуть писати певні процеси. Поруч вони розміщують шкідливу DLL із назвоюsdkcra.dll. КолиReportDump.exeзапускається, він шукає залежності у своїй локальній директорії, завантажує шкідливуsdkcra.dll, і виконує навантаження супротивника в контексті здавалося б нешкідливого процесу. -
Сценарій регресійного тестування:
# Сценарій симуляції для виявлення підвантаження SectopRAT DLL # Цей сценарій створює структуру директорій і файлів, необхідних для активації правила. $targetDir = "C:ProgramDataSectopSim" $exeName = "ReportDump.exe" $dllName = "sdkcra.dll" # 1. Створіть директорію в ProgramData if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory | Out-Null } # 2. Створіть підроблений "легітимний" виконуваний файл # У реальній атаці це був би реальний ReportDump.exe $dummyExe = [System.Text.Encoding]::ASCII.GetBytes("MZ`x00`x01`x00`x00`x00`x00`x00`x00`x00`x00") Set-Content -Path "$targetDir$exeName" -Value $dummyExe -NoNewline # 3. Створіть шкідливий DLL-файл $dummyDll = [System.Text.Encoding]::ASCII.GetBytes("MZ`x00`x01`x00`x00`x00`x00`x00`x00`x00`x00") Set-Content -Path "$targetDir$dllName" -Value $dummyDll -NoNewline Write-Host "[+] Симуляційні файли створено у $targetDir" # 4. Запустіть виявлення: Здійсніть виконання EXE та спробу завантажити DLL # Примітка: Оскільки це підроблені файли, вони фактично не "завантажаться" як справжні PE-файли, # але для логіки правила виявлення ми імітуємо взаємодію з файлом. # У реальному інструменті BAS ми б використовували справжній підписаний бінарний файл для забезпечення активації Event ID 7. Write-Host "[*] Імітація виконання $exeName..." # Використання реального процесу для імітації поведінки, якщо підроблені файли не викликали Event ID 7 # Щоб забезпечити спрацьовування правила виявлення (ImageLoaded), перевага надається реальному завантаженню DLL. # Для цього сценарію ми використаємо PowerShell, щоб імітувати телеметрію 'ImageLoaded', якщо це можливо, # але ідеально, щоб користувач використовував реальний вразливий бінарний файл. Start-Process -FilePath "$targetDir$exeName" -ErrorAction SilentlyContinue Write-Host "[!] Перевірте ваш SIEM на: Зображення: .*ReportDump.exe ТА ImageLoaded: .*sdkcra.dll" -
Команди очищення:
# Сценарій очищення $targetDir = "C:ProgramDataSectopSim" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force Write-Host "[+] Очищено симуляційні файли." } else { Write-Host "[-] Цільова директорія не знайдена. Немає чого очищувати." }