Всем привет! Сегодня предлагаем вашему вниманию перевод статьи «Control Panel Forensics: Evidence of Time Manipulation and More…», автор Chad Tilbury трудился спецагентом в Офисе специальных расследовнаий ВВС США, а после этого стал заниматься проблемами пиратства в Американской Ассоциации Кинопрокатчиков. О расследованиях компьютерных преступлений этот парень знает не из учебников. Итак, начнем!
Панель управления — давно известный инструмент Windows, позволяющий изменять огромное количество настроек системы. Использование панели управления может быть ограничено с помощью Групповых политик, но в любом случае, некоторые элементы панели доступны для большинства учетных записей (для внесения некоторых изменений необходимы права администратора). В ходе расследования мы можем провести аудит использования панели управления для того, чтобы идентифицировать широкий спектр действий пользователей, таких как:
Процесс идентификации отдельных изменений в системе позволяет, как минимум, показать – какие апплеты из панели управления запускались пользователем и когда это произошло. Артефакты, т.е. следы, оставленные в системе могут дать дополнительную информацию для нашего расследования. Особенно важен контекст, последовательность действий. Представьте, что вы идентифицируете, как использовалась панель управления и видите следующую картину:
Доступ к центру поддержки (этот апплет в англ.версии называется Security Center) сам по себе не является особенно интересным. Но необходимо учитывать, что этот апплет был открыт сразу же после запуска известного инструмента для подбора паролей на роутерах. Как говорится, почувствуйте разницу!
Панель управления Windows состоит из нескольких апплетов, каждый представлен файлом *.cpl
Апплеты, как правило хранятся в папке %system root%\System32. Файл ‘control.exe’ используется для открытия апплетов, но, как и для других действий в Windows, существует бесконечное количество способов – как получить доступ к апплету:
Использование различных методов оставляет разные следы в системе. К сожалению, в некоторых случаях следы вообще могут не оставаться, это зависит от методов выполнения апплета и версии Windows. Хорошая новость заключается в том, что следы использования панели управления остаются в разных местах системы – вы почти всегда сможете найти необходимые данные для расследования.
Механизм Windows Prefetch
Механизм Windows Prefetch отслеживает выполнение приложений. В отличие от обычных приложений, апплеты не оставляют файлы *.pf в папке C:\Windows\prefetch. Можно предположить, что файл «Control.exe» предоставит нам доказательство запуска апплета, но к сожалению – его prefetch-файл (если он существует) свидетельствует только о том, что Панель управления была открыта. Для того, чтобы выяснить, какой из апплетов запускался, нам надо рыть более глубоко! При запуске апплета создается ссылка в prefetch-файле для процесса RunDLL32.exe. Множественные ссылки в prefetch-файлах процесса RunDLL32.exe, указывающие на один и тот же апплет, говорят о том, что апплет запускался различными способами. Такие ссылки могут создаваться в результате работы алгоритма вычисления хеш-функции механизма Windows Prefetch, который отлично описан в блоге компании Hexacorn.
Prefetch-файл для процесса RunDLL32.exe также может содержать ссылку на апплет (но не всегда — в зависимости от апплета и от того, каким процессом был порожден его вызов). Поиск таких ссылок в prefetch-файлах процессов RunDLL32 и DLLHost – это трудоемкое занятие, но у нас не зря отмечаются праздник весны и труда , обещаю вознаграждение в виде полезной информации – вы получите время первого и последнего запусков апплета в системе, а также узнаете, сколько раз апплет был запущен.
На рисунке чуть ниже мы видим, что информация, добытая из файла RUNDLL32.EXE-2F51D544.pf, свидетельствует о том, что апплет «Дата и время» был запущен минимум один раз, 6 апреля 2013 в 04:14:58 UTC.
Во время исследования prefetch-файлов процесса RunDLL32 я рекомендую внимательно следить также за различными системными приложениями, например, за плагинами MMC (COMPMGMT.MSC). Отличный инструмент для исследования prefetch-файлов был создан Марком Воаном (Mark Woan).
Реестр Windows: Userassist (только XP/Vista)
Prefetch-файлы являются более-менее надежными уликами, но их существенный недостаток в том, что они никак не связывают действия, произведенные в системе с учетной записью пользователя. Ключ «userassist», содержащийся в кусте реестра NTUSER.dat (NTUSER.DAT\Software\Microsoft\Windows\Current\Version\Explorer\UserAssist), позволяет нам восполнить этот пробел.
На рисунке изображена запись об использовании Панели управления, сделанная в системе Windows XP. Необходимо обратить внимание на префикс “UEME_RUNCPL”, с которого начинается каждая строчка. Это идентификатор, используемый в системах XP и Vista для обозначения действий, связанных именно с выполнением апплетов Панели управления. В нашем случае мы видим, что пользователь запускал четыре разных апплета, всего 10 раз. Последний раз апплет был запущен 4 мая 2013г в 21:41:41. Инструмент для сбора доказательств UserAssist был разработан Дидье Стивенсом.
С выходом Windows 7 механизм UserAssist претерпел существенные изменения. Сбор надежных доказательств запуска апплетов не поддерживается в системах Windows7|8, вместо этого мы можем использовать т.н. списки переходов (jumplists), источник информации, содержащий следы запуска апплетов в современных ОС.
Об этом мы поговорим в следующей части.
Панель управления — давно известный инструмент Windows, позволяющий изменять огромное количество настроек системы. Использование панели управления может быть ограничено с помощью Групповых политик, но в любом случае, некоторые элементы панели доступны для большинства учетных записей (для внесения некоторых изменений необходимы права администратора). В ходе расследования мы можем провести аудит использования панели управления для того, чтобы идентифицировать широкий спектр действий пользователей, таких как:
- Изменения настроек Брандмауэра (firewall.cpl), необходимы для того, чтобы в дальнейшем использовать неавторизованное ПО;
- Добавление/изменение учетных записей (nusrmgr.cpl);
- Отключение функций «Восстановление системы» и службы Теневого резервного копирования (sysdm.cpl);
- Изменение системного времени (timedate.cpl);
- Взаимодействие с приложениями сторонних производителей, изменяющими настройки безопасности.
Процесс идентификации отдельных изменений в системе позволяет, как минимум, показать – какие апплеты из панели управления запускались пользователем и когда это произошло. Артефакты, т.е. следы, оставленные в системе могут дать дополнительную информацию для нашего расследования. Особенно важен контекст, последовательность действий. Представьте, что вы идентифицируете, как использовалась панель управления и видите следующую картину:
Доступ к центру поддержки (этот апплет в англ.версии называется Security Center) сам по себе не является особенно интересным. Но необходимо учитывать, что этот апплет был открыт сразу же после запуска известного инструмента для подбора паролей на роутерах. Как говорится, почувствуйте разницу!
Краткий обзор Панели управления
Панель управления Windows состоит из нескольких апплетов, каждый представлен файлом *.cpl
Апплеты, как правило хранятся в папке %system root%\System32. Файл ‘control.exe’ используется для открытия апплетов, но, как и для других действий в Windows, существует бесконечное количество способов – как получить доступ к апплету:
- Через графический интерфейс Панели управления;
- Через меню «Пуск» > «Выполнить»;
- С помощью Панели задач (например «Настройка даты и времени»);
- С помощью командной строки (синтаксис: control.exe timedate.cpl);
- С помощью начального экрана Windows 8, написать «Control Panel».
Использование различных методов оставляет разные следы в системе. К сожалению, в некоторых случаях следы вообще могут не оставаться, это зависит от методов выполнения апплета и версии Windows. Хорошая новость заключается в том, что следы использования панели управления остаются в разных местах системы – вы почти всегда сможете найти необходимые данные для расследования.
Сбор доказательств запуска апплета
Механизм Windows Prefetch
Механизм Windows Prefetch отслеживает выполнение приложений. В отличие от обычных приложений, апплеты не оставляют файлы *.pf в папке C:\Windows\prefetch. Можно предположить, что файл «Control.exe» предоставит нам доказательство запуска апплета, но к сожалению – его prefetch-файл (если он существует) свидетельствует только о том, что Панель управления была открыта. Для того, чтобы выяснить, какой из апплетов запускался, нам надо рыть более глубоко! При запуске апплета создается ссылка в prefetch-файле для процесса RunDLL32.exe. Множественные ссылки в prefetch-файлах процесса RunDLL32.exe, указывающие на один и тот же апплет, говорят о том, что апплет запускался различными способами. Такие ссылки могут создаваться в результате работы алгоритма вычисления хеш-функции механизма Windows Prefetch, который отлично описан в блоге компании Hexacorn.
Prefetch-файл для процесса RunDLL32.exe также может содержать ссылку на апплет (но не всегда — в зависимости от апплета и от того, каким процессом был порожден его вызов). Поиск таких ссылок в prefetch-файлах процессов RunDLL32 и DLLHost – это трудоемкое занятие, но у нас не зря отмечаются праздник весны и труда , обещаю вознаграждение в виде полезной информации – вы получите время первого и последнего запусков апплета в системе, а также узнаете, сколько раз апплет был запущен.
На рисунке чуть ниже мы видим, что информация, добытая из файла RUNDLL32.EXE-2F51D544.pf, свидетельствует о том, что апплет «Дата и время» был запущен минимум один раз, 6 апреля 2013 в 04:14:58 UTC.
Во время исследования prefetch-файлов процесса RunDLL32 я рекомендую внимательно следить также за различными системными приложениями, например, за плагинами MMC (COMPMGMT.MSC). Отличный инструмент для исследования prefetch-файлов был создан Марком Воаном (Mark Woan).
Реестр Windows: Userassist (только XP/Vista)
Prefetch-файлы являются более-менее надежными уликами, но их существенный недостаток в том, что они никак не связывают действия, произведенные в системе с учетной записью пользователя. Ключ «userassist», содержащийся в кусте реестра NTUSER.dat (NTUSER.DAT\Software\Microsoft\Windows\Current\Version\Explorer\UserAssist), позволяет нам восполнить этот пробел.
На рисунке изображена запись об использовании Панели управления, сделанная в системе Windows XP. Необходимо обратить внимание на префикс “UEME_RUNCPL”, с которого начинается каждая строчка. Это идентификатор, используемый в системах XP и Vista для обозначения действий, связанных именно с выполнением апплетов Панели управления. В нашем случае мы видим, что пользователь запускал четыре разных апплета, всего 10 раз. Последний раз апплет был запущен 4 мая 2013г в 21:41:41. Инструмент для сбора доказательств UserAssist был разработан Дидье Стивенсом.
С выходом Windows 7 механизм UserAssist претерпел существенные изменения. Сбор надежных доказательств запуска апплетов не поддерживается в системах Windows7|8, вместо этого мы можем использовать т.н. списки переходов (jumplists), источник информации, содержащий следы запуска апплетов в современных ОС.
Об этом мы поговорим в следующей части.