![]() |
https://forum.antichat.xyz/attachmen...c01f51d6d4.png
Диспетчер задач показывает 47 процессов, а дамп памяти - 49. Два «лишних» процесса, невидимых для ОС. Причины бывают разные: завершающиеся процессы, системные артефакты, мусор от снятия дампа. Но если расхождение устойчиво и скрытые процессы ведут себя подозрительно - это классика DKOM (Direct Kernel Object Manipulation). Стандартные средства тут бесполезны, и реальное обнаружение руткитов начинается с инструментов, которые смотрят на систему «снаружи». Четыре инструмента - GMER, rkhunter, chkrootkit и Volatility - не на уровне man-страниц, а на уровне конкретных артефактов: что запускать, какие флаги передавать и как отличить настоящий руткит от ложного срабатывания. Почему стандартные средства ОС не видят руткиты Прежде чем лезть в инструменты, стоит разобраться с фундаментальной проблемой. Когда вы вызываете Код:
ps auxKernel-руткиты - самые опасные (полная классификация по типам и векторам атаки - в обзоре техник руткитов с матрицей обнаружения): они перехватывают через SSDT hooking (System Service Descriptor Table), подменяют указатели в IDT (Interrupt Descriptor Table) или манипулируют DKOM напрямую. Ключевой принцип обнаружения - кросс-обзор (cross-view detection). Идея простая как лом: сравниваем то, что видит ОС, с тем, что видит инструмент, работающий на другом уровне. Расхождения - следы руткита. Маппинг на MITRE ATT&CK Руткиты задействуют целый кластер техник, и понимание маппинга критично для threat hunting: Техника MITRE ATT&CKТактикаКак проявляетсяRootkit (T1014)Defense EvasionСкрытие процессов, файлов, сетевых соединенийCredential API Hooking (T1056.004)Collection, Credential AccessНекоторые руткиты (банковские, например) совмещают скрытие с перехватом API (LogonUser, CredRead) для кражи учётокHijack Execution Flow (T1574)Persistence, Privilege Escalation, Defense EvasionSSDT, IDT, inline hooksKernel Modules and Extensions (T1547.006)Persistence, Privilege EscalationЗагрузка вредоносных LKM/драйверовProcess Injection (T1055)Defense Evasion, Privilege EscalationВнедрение кода в легитимные процессыHidden File System (T1564.005)Defense EvasionСкрытые FS для хранения payloadDisable or Modify Tools (T1562.001)Defense EvasionПодавление работы антируткитов GMER - обнаружение руткитов Windows через анализ ядра GMER - бесплатный антируткит для Windows, работающий по принципу кросс-обзора. Важно: последнее обновление - около 2014 года, и на Windows 10/11 с включённым Secure Boot, HVCI или Credential Guard он может устроить BSOD. Для современных Windows лучше взять Windows Defender Offline, YARA-сканирование или Volatility с дампом памяти. А вот для legacy-систем (Windows 7/XP) GMER по-прежнему хорош. Он сканирует SSDT, IDT, таблицу дескрипторов, IRP-хуки драйверов и сравнивает с эталоном. Это не сигнатурный сканер - GMER ищет аномалии в поведении ядра. Что именно проверяет GMER При запуске выполняется несколько категорий проверок:
Запускаем с правами администратора. При старте GMER автоматически делает быстрое сканирование. Вкладка Rootkit/Malware - сюда смотрим в первую очередь. Критический момент: GMER нужно запускать до установки антивируса или параллельно. Многие антивирусы сами ставят легитимные хуки ядра, и GMER их покажет как аномалии. Это не ложное срабатывание в привычном смысле - hook реальный, но легитимный. Отличить один от другого можно по адресу: если hook ведёт в модуль известного антивируса - всё нормально. На что обращать внимание в выводе: Код: Код:
.text ntkrnlpa.exe!ZwCallbackReturn + 2C08 804E26C8 5 Bytes JMP 00643F5AКод:
00643F5AКрасные строки в GMER - не приговор. Лично я неоднократно видел, как GMER подсвечивал хуки от Kaspersky, ESET и даже от драйверов VirtualBox. Алгоритм простой: красная строка → смотрим адрес → определяем модуль → если модуль легитимный, игнорируем. rkhunter - проверка системы Linux на руткиты rkhunter (Rootkit Hunter) - стандартный инструмент для обнаружения руткитов Linux, работающий по двум принципам: сигнатурная проверка (известные файлы/директории руткитов) и integrity checking (сравнение контрольных сумм системных бинарей с эталоном). Установка и первичная настройка Bash: Код:
sudoBash: Код:
# Обновляем базу сигнатур руткитовКод:
--propupdКод:
--propupdКонфигурация для Ubuntu/Debian На Ubuntu не редактируйте Код:
/etc/rkhunter.confBash: Код:
sudoЗдесь кроется суть кросс-обзорного обнаружения:
Поиск вредоносного кода в памяти процессов Bash: Код:
# malfind - ищет инъецированный код (PAGE_EXECUTE_READWRITE без mapped file)Типичный вывод: Код: Код:
Process: svchost.exe PID: 1284Код:
MZАнализ SSDT hooks через Volatility Bash: Код:
# Проверка модификаций SSDTКод:
ntoskrnl.exeКод:
win32k.sysКод:
windows.ssdtКод:
windows.modulesКод:
ntoskrnl.exeКод:
win32k.sysАнализ загруженных модулей ядра Bash: Код:
# Список драйверов/модулей ядраКод:
lsmodМетодология обнаружения руткитов: пошаговый алгоритм Одиночный инструмент полной картины не даст. Ниже - алгоритм, который я использую при incident response, когда есть подозрение на руткит. Шаг 1. Сбор volatile-данных (до перезагрузки) Работаем с доверенными инструментами, запущенными с USB-накопителя. Бинари на скомпрометированной системе могут быть подменены - доверять им нельзя. Bash: Код:
# Снимаем дамп памятиBash: Код:
# WindowsШаг 3. Офлайн-анализ дампа памяти Bash: Код:
# Кросс-обзорный анализ процессов (psxview недоступен в Vol3, сравниваем вручную)Что сравниваемИнструмент 1Инструмент 2Расхождение = подозрениеЧисло процессовpslist (Volatility)psscan (Volatility)Скрытые процессы (DKOM)Процессы ОС vs дампTask Manager / pspslist vs psscan (Volatility)Руткит скрывает от ОССетевые соединенияnetstat / ssnetscan (Volatility)Скрытые C2-каналыМодули ядраlsmod / driverquerymodules (Volatility)Скрытые драйверы Автоматизация сканирования и интеграция в IR-процесс Для серверов с непрерывным контролем - rkhunter и chkrootkit в одном скрипте с почтовыми уведомлениями: Bash: Код:
#!/bin/bashBash: Код:
sudoКод:
apt upgradeКод:
sudo rkhunter --propupdКод:
ssСравнение инструментов: что, когда и зачем КритерийGMERrkhunterchkrootkitVolatilityО СWindowsLinuxLinuxWindows/Linux/macOSТип анализаКросс-обзор ядраСигнатуры + integrityСигнатуры + LKMФорензика памятиKernel rootkitsДаЧастичноЧастичноДаUs erland rootkitsЧастичноДаДаДаНужен дамп памятиНетНетНетДаОфлайн-анализНетНетДа (-r флаг)ДаЛожноположительные реднеВысокоСреднеНизкоСл жность интерпретацииСредняяНизка яНизкаяВысокая Ни один инструмент не самодостаточен. GMER и chkrootkit/rkhunter работают на живой системе и зависят от её состояния - если руткит перехватил достаточно низкоуровневые функции, он обманет и антируткит. Volatility анализирует «снимок» памяти и после снятия дампа его не обмануть - но для работы с ним нужны навыки форензики и чистая forensics-станция. Оптимальная комбинация: живое сканирование GMER (Windows) или rkhunter + chkrootkit (Linux) для быстрой оценки, затем дамп памяти и Volatility для подтверждения. Этот подход закрывает и обнаружение руткитов на уровне пользователя, и kernel-level угрозы, которые прячутся от стандартных средств ОС. Снимите дамп памяти с любого своего сервера и прогоните через Код:
windows.psscanКод:
linux.pslist |
| Время: 16:58 |