# Лабораторная работа №3 "Big Windows Boss" (Остапенко В.Ю.) --- ## **Цель работы:** - Получить понимание структуры исполняемых файлов Windows. - Получить базовые навыки по анализу запущенных в системе процессов. - Знакомство с типовыми сервисами ОС: Task Scheduler и службами Windows. - Получить базовые навыки работы с DACL и Брандмауэром Windows. --- ## Практическая часть ### 1. Анализ дампа запущенного процесса Для начала открываю **notepad++** и записываю в него случаюную фразу (в моём случае - "Heisenberg"). ![](https://i.imgur.com/ZMdWmu4.png) > Рис 1. Notepad++ Далее, запускаю ProcessExplorer, нахожу запущенный notepad++ (предварительно отфильровав процессы по нужному имени) и делаю его дамп. ![](https://i.imgur.com/wdv5iPN.png) > Рис 2. Дамп процесса Notepad++ ![](https://i.imgur.com/e87uNbW.png) > Рис 3. Сохраняю дамп в удобную директорию. Открыв дамп памяти, нахожу введёный ранее текст. ![](https://i.imgur.com/sPXltcG.png) > Рис 4. "Heisenberg" в файле дампа :::success Задание выполнено успешно! ::: --- ### 2. Анализ PID и ParentPID запущенных процессов #### Задание 1. Попробуйте определить, какой процесс инициировал запуск данных процессов svchost.exe ![](https://i.imgur.com/8qxDg7o.png) Для выполнения задания необходимо определить ParentPID родительских процессов из предыдущего скриншота: ![](https://i.imgur.com/WR1A4ru.png) ParentPID процессов - 1016, что соответсвует процессу "services.exe" :::info Можно выстроить цепочку: **Процессы "svchost.exe" < "services.exe" < "winlogon.exe" < "smss.exe" < "System"** ::: #### Задание 2. Какой процесс был запущен при помощи Проводника? Проводнику (**explorer.exe**) соответсвует PID - **880**. Единственным процессом имеющим ParentPID = 880 является процесс **sqlmangr.exe (PID - 1512)** ![](https://i.imgur.com/aUflOib.png) #### Задание 3. Назовите ID процесса, имеющего максимальное количество дочерних процессов. Не трудно заметить что в столбце PPID преобладает значение **1016** (15 процессов). Данный PID соответсвует процессу **"services.exe"** ![](https://i.imgur.com/TAmNZU3.png) #### Задание 4*. Откройте на своем ПК ProcessExplorer, сделайте скриншот процессов так, чтобы было видно их название и PID. Дайте краткую аналитику запущенных процессов (PID, родительский процесс, краткое описание процесса будет плюсом). Разбирать каждый процесс давольно муторное и бессмысленое занятие. Поэтому рассмотрю лишь несколько процессов для демонстрации. ![](https://i.imgur.com/TUTHxVz.png) :::info Алгоритм просмотра подробной инофрмации о процессе прост - **"ПКМ по процуссу -> Properties..."** ::: a) Процесс notepad++.exe ![](https://i.imgur.com/BTN5FWx.png) Процесс соответсвует рассмотренему ранее приложению nodepad++. PID - 8472, ParentPID - 7828 (explorer.exe) б) AMD External Events Client Module (atieclxx.exe) Процесс отвечает за автоматическое определение и работу с подключёнными мониторами. PID - 13608 (или для аналогичного процесса - 2712). ParentPID - 2288 (atiesrxx.exe) ![](https://i.imgur.com/2B4zXu1.png) в) Search application (SearchApp.exe) Процесс отвечает за поисковую строку Windows (в моём случае процесс не работает корректно, поэтому он "заморожен"). PID - 15836. ParentPID - 1172 (svchost.exe) ![](https://i.imgur.com/e2uv9qV.png) --- ### 3. Создание задачи в Task Scheduler В Task Scheduler создаю новое задание ![](https://i.imgur.com/ANVWQWI.png) Добавляю тригер ![](https://i.imgur.com/eFq5kms.png) Добавляю дейсвтвие ![](https://i.imgur.com/ULUOW9i.png) :::info Я не использую Chrome, поэтому использую иной браузер (Brave) ::: Произвожу проверку: ![](https://i.imgur.com/ZoNRTLE.png) :::success Успех ::: ![](https://i.imgur.com/so3mWBg.png) Для того, чтобы ответить на вопрос "почему при данном методе запуска родительским процессом стал svchost.exe, а не explorer.exe", стоит рассмотреть пару моментов. а) В случае если процесс был запущен используя графический интерфейс (т.е. проводник), то и родительским процессом, соответсвенно будет explorer.exe. б) Теперь, чтобы понять почему именно "svchost.exe" - рассмотрю данный процесс. ![](https://i.imgur.com/qt9snIy.png) Параметр командной строки "**-s Schedule**" показывает, что данный процесс svchost и отвечает за планировщик задач, и, следовательно, он и будет ялвяться родительским процессом для всех запланированных задач. #### Самостоятельное задание. Создайте задачу, однократно запускающую любое приложение по достижении определенного времени. Создам задание автоматически запускающие hex редактор (HxD): ![](https://i.imgur.com/OmBDPZX.png) Назначаю время выполнения 22:00 (для меня + 5 минут) ![](https://i.imgur.com/HbBFw7h.png) Назначаю действие ![](https://i.imgur.com/b2P3cla.png) Дожидаюсь нужного времени: ![](https://i.imgur.com/fDc2Ssr.png) :::success Успех! ::: --- ### 4. Анализ запущенных служб, запуск исполняемого файла как службы #### Домашнее задание. Установка Блокнота (notepad.exe) как системной службы. Добавляю notepad.exe как системную службу ![](https://i.imgur.com/ISTjgCF.png) :::success Служба добавлена ::: Запуск службы в оснастке services.msc: ![](https://i.imgur.com/212Xg7p.png) ![](https://i.imgur.com/yn3q7dt.png) :::danger Ошибка запуска службы ::: Не забываю удалить службу ![](https://i.imgur.com/T1dno2q.png) ---- ### 5. DACL #### Задание: попробуйте запретить своей УЗ запускать любой исполняемый файл (это может быть браузер/игра/любая другая программа). Моим подопытным в очередной раз станет Hex редактор HxD. Запрещаю "чтение и выполнение" файла HxD.exe ![](https://i.imgur.com/ul0Ooud.png) Итог: ![](https://i.imgur.com/q1Opzxp.png) :::success Успех! Возможность запуска программы была заблокирована. ::: --- ### 6. Брандмауэр Windows #### Задание: запретите выход в интернет с конкретного приложения (желательно с браузера). Результатом работы станет скриншот с настройками правила для брандмауэра и скриншот с ошибкой от браузера. Создаю новое правило (для программы - браузера) ![](https://i.imgur.com/TOverkL.png) > Назначаю конкретную программу в качестве жертвы (вновь Brave браузер) Создаю правило, для запрета http протокола. ![](https://i.imgur.com/G4qg4Np.png) ![](https://i.imgur.com/5Agm3Lm.png) Ошибка при получении доступа к сайту (http) ![](https://i.imgur.com/jIcU38i.png) Теперь запрещу любой доступ к выходу в интернет. ![](https://i.imgur.com/22Z8QNc.png) Ошибка при получении доступа к сайту (https) ![](https://i.imgur.com/RuoplsS.png) ---- ### Заключение. #### В ходе выполнения был получен опыт работы в разных аспектах работы с Windows: работа со служюами и их изучение, создание дампов памяти, планировка задач, работа с доступом (DACL), и др. Для меня особо интересным стала возможность добавления программ, таких, например, как, notepad в качестве службы, при том что такую службу запустить невозможно.