Загрузка данных
1. Заголовок
Windows AutoRun Snapshot - контроль точек автозапуска
и признаков закрепления вредоносного ПО в ОС Windows
2. Подзаголовок
Направление Blue Team
3. Проблемы
-
- Persistence (закрепление вредоносного ПО) в системе Windows используется как один из ключевых этапов атак:
- Вредоносное ПО сохраняется в системе после перезагрузки ПК
- Вредоносное ПО имеет возможность самовосстановиться при частичном удалении
- В стандартной системе Windows пользователь не получает уведомлений об изменении автозагрузки
- Часто изменения в автозагрузке скрываются среди легитимных обновлений, а также частичного изменения кода доверенных исполняемых файлов
- Отсутствие эталона состояния рабочих станций усложняет аудит и реагирование
отдельным блоком:
MITRE ATT&CK:
T1547 Boot or Logon Autostart Execution
T1547.001 Registry Run Keys,
T1543.003 Windows Service
T1053.005 Scheduled Task
4. Решение
- Локальный базовый снимок автозапуска и дифференциальный анализ изменений
- Управление базовыми линиями и контролируемое принятие доверенных изменений
- Оффлайн режим, экспорт отчета, удобный интерфейс для быстрого триажа на инцидентах
5. Схема работы решения
Иконка сканера | Сканирование точек автозапуска
стрелка
Иконка диск | Формирование базовой линии JSON
стрелка
Иконка сравнение | Сравнение с текущим состоянием
стрелка
Иконка список | Отчет о новых, измененных, удаленных записей в автозагрузке
стрелка
Иконка щит | Принятие доверенных изменений в новую базовую линию (опционально)
стрелка
Иконка таблица | Экспорт CSV и сохранение истории
6. Источники автозапуска в Windows
- Папки автозагрузки
Системная (%AppData%\Microsoft\Windows\Start Menu\Programs\Startup)
Пользовательская (%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup)
- Реестр
HKCU Software Microsoft Windows CurrentVersion Run и RunOnce
HKLM Software Microsoft Windows CurrentVersion Run и RunOnce
- Службы
Win32 Service с режимами Auto и Auto Delayed
- Задачи планировщика
Триггеры Logon и Boot, действия execute и arguments
7. Выполненные этапы и план развития
Выполнено
- Сбор всех точек автозапуска (папки, реестр, службы, задачи)
- Визуализация (иконка приложения, имя, расположение, путь, статус)
- Базовые линии (создание, выбор, удаление)
- Дифференциальный отчет (новые, измененные, удаленные) с цветовой маркировкой
- Индикация прав администратора, корректная логика первого запуска
- Работа с ярлыками lnk через Windows COM интерфейсы
- Экспорт CSV и оффлайн режим
Планируется
- Криптографическое хеширование исполняемых файлов из автозагрузки SHA256
- Оповещение при смене хеша и проверка по открытым антивирусным базам по API
- Мониторинг загрузки процессора и графического процессора в первые минуты после запуска ОС с пороговым уведомлением о резком росте при неизменной автозагрузке как индикатор подозрения на майнинг
- Автоматический плановый запуск проверки
Статус выполнения проекта: 75 процентов запланированных задач выполнено
8. Использованные технологии
Python 3
PySide6 Qt - графический интерфейс
PowerShell - извлечение задач и служб
Windows API и pywin32 для lnk
JSON и CSV - обработка данных, экспорт отчётов
9. Преимущества и сравнение с конкурентами
- Sysinternals Autoruns
- Минусы конкурента:
-сложный интерфейс для пользователей
-нет возможности создать отчёт об изменениях
-не уведомляет при изменениях автозагрузки
- Преимущества моего решения:
-Простой интерфейс
-Наличие отчёта "эталон->сравнение"
-Возможность отметить доверенные программы
-Уведомления при изменении порядка автозагрузки
- Встроенные средства Windows
-Плюс конкурента:
-Встроено в систему
- Минусы конкурента:
-разрозненность необходимых инструментов и команд
-Не подходит для рядовых пользователей (команды PowerShell)
-нет возможности создать отчёт об изменениях
-не уведомляет при изменениях автозагрузки
- Преимущества моего решения:
-Единое окно
-Наличие отчёта "эталон->сравнение"
-Возможность отметить доверенные программы
-Уведомления при изменении порядка автозагрузки
10. Контакты и QR
- QR на репозиторий и релиз