Злоумышленники постоянно совершенствуют свои методы, стараясь сделать вредоносное ПО как можно менее заметным. Одним из таких подходов является использование Alternate Data Streams (ADS) - функции файловой системы NTFS, позволяющей хранить дополнительные данные внутри файлов без их отображения в стандартных операциях просмотра. Это делает ADS популярным инструментом среди злоумышленников, особенно при создании кейлогеров и других шпионских программ.
Описание
Недавно обнаруженный пример Python-кейлогера демонстрирует, как злоумышленники могут использовать ADS для сокрытия записанных нажатий клавиш. Вредоносный скрипт создает скрытую директорию в системной папке Windows (например, "%APPDATA%\Microsoft\Windows\Cache") и сохраняет данные в файл "syscache.dat:logdata", где ":logdata" - это дополнительный поток информации. Такой подход позволяет зловреду оставаться незаметным при стандартном просмотре файлов, так как ADS не отображаются в проводнике и большинстве файловых менеджеров.
Для дополнительной маскировки скрипт использует функцию "SetFileAttributesW()" с флагом "0x02", который помечает файл как скрытый. Таким образом, даже если пользователь включит отображение скрытых файлов, основной файл "syscache.dat" будет невидим без дополнительных настроек. Кроме того, этот кейлогер способен перехватывать содержимое буфера обмена, что делает его еще более опасным, так как жертва может случайно скопировать пароли, номера карт или конфиденциальные документы.
Интересно, что несмотря на отсутствие обфускации, данный образец имеет низкий уровень детектирования на VirusTotal - всего 3 из 64 антивирусов помечают его как вредоносный. Возможно, это связано с тем, что кейлогер не имеет встроенного механизма для передачи данных на удаленный сервер, и его функционал ограничен лишь сбором информации. Вероятно, данные извлекаются другим вредоносным модулем, что усложняет анализ и детектирование.
Для выявления подобных угроз администраторам и пользователям рекомендуется проверять систему на наличие скрытых потоков данных. Это можно сделать с помощью простого скрипта на PowerShell:
1 2 3 4 5 6 | Get-ChildItem -Recurse -Path C:\ | ForEach-Object { $streams = Get-Item $_.FullName -Stream * -ErrorAction SilentlyContinue if ($streams.Count -gt 1) { $streams } } |
Пример вывода может показать файлы с дополнительными потоками, такими как "Zone.Identifier" (используется для отметки файлов из интернета) или пользовательские потоки, созданные зловредами.
В целом, этот случай в очередной раз демонстрирует, насколько важно следить за скрытыми техниками атак, особенно в корпоративных сетях, где утечка данных может привести к серьезным последствиям. Регулярный мониторинг файловой системы, использование современных антивирусных решений и ограничение прав пользователей помогают минимизировать риски. Однако главная защита - это осведомленность: понимание методов атак позволяет вовремя заметить подозрительную активность и предотвратить ущерб.
Индикаторы компрометации
SHA256
- 9927159c39a0201e2fcd558c4716fc5cab7e1c6ab69a311f7a21cab3c5667980