1. Введение 4
2. Постановка задачи 6
3. Обзор 7
3.1. Система привилегий в ОС Windows 7
3.2. Несанкционированное повышение привилегий пользователя 8
3.3. Belkasoft Triage 9
3.4. Обзор аналогов 10
3.5. Современные уязвимости для повышения привилегий пользователя в ОС Windows 13
4. Архитектура 18
4.1. Требования 18
4.2. Пользовательский сценарий 19
4.3. Архитектура модуля 21
4.4. Пользовательский интерфейс 23
5. Особенности реализации 25
5.1. Реализация библиотеки, использующей уязвимость CVE-2021-1732 25
5.2. Внедрение C++ кода в C# 27
6. Тестирование и апробация 29
7. Заключение 30
Список литературы 31
В современном мире совершается большое число цифровых преступлений [1]. К ним можно отнести распространение вредоносного программного обеспечения, кражу реквизитов банковских карт, взлом па-ролей. Для противодействия преступлениям в сфере цифровых техно-логий применяется цифровая криминалистика. Цифровая криминалистика — это наука, направленная на получение, обработку и анализ данных, расположенных на электронных носителях.
Электронные доказательства имеют решающее значение для расследований в области цифровой криминалистики [2]. Одним из основных источников пользовательских данных является образ памяти исследуемого устройства [3]. Память устройства содержит информацию о запущенных процессах, учётных данных, сетевых соединениях, сообщениях из чатов.
Для доступа к ресурсам компьютера могут потребоваться особые команды, недоступные обычному пользователю. Например, в операционной системе Windows существуют различные права и привилегии пользователей. Они вводят ограничения на выполнение некоторых системно-ориентированных команд и доступ к данным.
Однако используя уязвимости операционной системы, можно повысить привилегии пользователя и получить права администратора. С помощью прав администратора можно получить доступ к гораздо большему набору команд и защищённым данным.
Вопрос повышения привилегий пользователя в системе возник у компании «Белкасофт» при разработке продукта Belkasoft Triage. Belkasoft Triage — инструмент цифровой криминалистики, разработанный для быстрого поиска и создания частичного образа важных данных работающего компьютера.
На момент написания данной работы существует набор уязвимостей в различных версиях операционной системы Windows, для некоторых из которых были разработаны проверки концепций. Тем не менее эти проверки концепций зачастую не имеют документации, а их работа проверена лишь на определённых версиях системы. Однако эти наработки можно использовать для реализации модуля, который будет повышать привилегии пользователя в системе. Реализация такой функциональности для коммерческого продукта Belkasoft Triage и стала целью данной работы.
2. Постановка задачи
Целью представленной дипломной работы является разработка модуля, предназначенного для повышения привилегий пользователя в ОС Windows с использованием уязвимости.
• Выполнить обзор предметной области — системы привилегий в ОС Windows, уязвимостей, повышающих привилегии пользователя в ОС Windows, а также существующих аналогов разрабатываемого модуля.
• Спроектировать и реализовать модуль, повышающий привилегии пользователя с помощью одной из рассмотренных уязвимостей.
• Провести тестирование и апробацию разработанного модуля.
• Выполнить интеграцию разработанного модуля в продукт Belkasoft Triage.
В ходе данной работы были получены следующие результаты.
• Проанализированы существующие аналоги разрабатываемого решения: Metasploit, BeRoot, Watson, Seatbelt, WinPEAS. С помощью доступных инструментов нельзя гарантированно повысить привилегии пользователя в ОС Windows.
• Реализован модуль, позволяющий повышать привилегии пользователя Windows до администратора с помощью уязвимости CVE- 2021-1732 (C++/ C#, Visual Studio).
• Выполнена интеграция разработанного модуля в продукт Belkasoft Triage: модуль упакован в динамически подключаемую библиотеку и используется при запуске Belkasoft Triage. Реализованная функциональность попала в апрельский выпуск продукта Belkasoft Triage.
• Проведено тестирование реализованного модуля c использованием виртуального окружения Oracle VM VirtualBox: успешно повышены привилегии пользователя в шести современных версиях Windows 10 (1809—20H2).
Код проекта закрыт и принадлежит компании ООО «Белкасофт».