# Компьютерная экспертиза # Лабораторная работа #1 **Цель лабораторной работы:** получить навыки восстановления доступа к скомпрометированной системе и утраченных в результате действий злоумышленника данных. **Входные данные:** виртуальная машина с Windows 10, в котором пользователь не может войти в одну из учетных записей (кто-то сменил пароль). Скачать образ виртуальной машины можно [ТУТ](https://drive.google.com/file/d/1HbEHnZX-I3y-7WBoGvWan_cd61KlrMy0/view?usp=sharing). **Задание:** 1) Сбросить пароль пользователя и установить новый. 2) Восстановить утраченные данные (Kursovaya.pdf/Kursovaya.docx) # Ход работы **Открываем виртуальную машину, используя скачанный образ** Для этого воспользуемся приложением VMWare Workstation ![](https://i.imgur.com/mbGD8dw.png) В открывшемся окне указываем путь к образу: ![](https://i.imgur.com/y63yBoE.png) Далее указываем название виртуальнйо машины и путь к папке, где она будет хранится ![](https://i.imgur.com/e212iJc.png) Нажимаем import. Когда импорт завершится, попробуем запустить машину и войти под пользователем Alex, который и обратился к нам за помощью (по его словам, он устанавливал пароль Qq123456) Увы и ах, пароль не подходит: ![](https://i.imgur.com/d5p1HI5.png) Что ж, тогда загрузимся с флешки и сбросим пароль. Для этого, в первую очередь, надо подготовить загрузочную флешку. В интернете существует множество готовых сборок LiveCD, однако пользоваться ими рекомендую с осторожностью, надежнее подготовить такую сборку самостоятельно. В наших же целях будет достаточно одной утилиты для сброса пароля, к примеру Lazer Recovery. Скачиваем и устанавливаем на свою рабочую ОС программу (на официальном сайте доступна бесплатная версия) и открываем: ![](https://i.imgur.com/YtgkQbJ.png) Нас интересует пункт BurnCD/USB В новом окне выбираем ОС, на которой хотим сбросить пароль (в нашем случае Windows 10 64-bit), жмем далее, и отмечаем пункт USB Flash ![](https://i.imgur.com/ufo5Jho.png) Учтите, что флешка должна быть вставлена в компьютер и отформатирована на момент запуска программы. Следующим шагом следует настроить виртуальную машину таким образом, чтобы мы могли загрузиться с нашей флешки. Для этого в выключенной ВМ нажимаем Edit: ![](https://i.imgur.com/hkOkZhA.png) Выбираем Hard Disk и жмем Add. ![](https://i.imgur.com/Hq3T8Gw.png) ![](https://i.imgur.com/k3taNpz.png) ![](https://i.imgur.com/HYd0FWg.png) На последнем шаге выбирается PhysicalDrive. Для того чтобы узнать, под каким номером числится в системе ваша флешка, можно воспользоваться стандартнйо утилитой Windows diskpart. Делается это в командной строке следующим образом: ![](https://i.imgur.com/fyouyff.png) Определить какой из дисков ваша флешка не должно составить труда, достаточно лишь знать её объем. Осталось лишь запустить нашу виртуальную машину. Для того чтобы она загрузилась с флешки, как и на обычной машине нужно выставить приоритет загрузки в BIOS/UEFI. Для того чтобы попасть в соответсвтующее меню, нажмите правой кнопкой мышки по названию ВМ, пункт Power, последняя строчка (Power on to Firmware) ![](https://i.imgur.com/vkhbTwq.png) Далее выбираем с какого диска загружаемся: ![](https://i.imgur.com/voM2Nlw.png) В случае успешной загрузки увидим следующее: ![](https://i.imgur.com/txRc5MU.png) Загружаемся в Lazer Soft и попадаем в меню: ![](https://i.imgur.com/nfrnFse.png) Заходим в password recovery, и, собственно, сбрасываем пароль нужного пользователя (Alex): ![](https://i.imgur.com/97ImSH5.png) Если все сделано правильно, то при перезапуске системы мы спокойно войдем под нужным пользователем (пароля у него не будет) ![](https://i.imgur.com/H8p6l6e.png) Итак, мы восстановили нашему Алексу доступ к системе, однако теперь выяснилось, что он не может найти на рабочем столе файл со своей курсовой работой, и просит нас помочь ему разобраться, куда же он пропал. --- # **Восстановление** Восстановить файл можно разными способами, ограничений на этот счет нет. Рассмотрим в качестве примере утилиту Hetman Partition Recovery. 1) Скачиваем утилиту. На официальном сайте можно скачать пробную версию программы, однако в ней отключен нужный функционал. Одним из вариантов решения является [пиратский софт](https://vipmolik.net/soft/page,1,4,1509-hetman-partition-recovery-25-klyuch-licenziya.html). 2) Запускаем. Нас приветствует мастер восстановления: ![](https://i.imgur.com/iL493jV.png) 3)Жмем далее, выбираем диск для сканирования: ![](https://i.imgur.com/jhuh3vl.png) 4) Указываем параметры сканирования: ![](https://i.imgur.com/H87Pvru.png) 5)Дожидаемся результатов сканирования и исследуем содержимое на наличие курсовой. Поиск по названию курсовой не даст результатов, поэтому искать следует по типу файла. ![](https://i.imgur.com/BMTDEGO.png) 4)Восстанавливаем ![](https://i.imgur.com/Myk2q4x.png) ![](https://i.imgur.com/XVGpwXw.png) --- *Обратите внимание, ни одно техническое средство не может дать стопроцентной гарантии результата. Если на место удаленного файла были записаны новые данные, то восстановить такой файл не удастся.* --- # **Альтарнативный способ 1 (TestDisk)** Скачиваем и запускаем утилиту testdisk: ![](https://i.imgur.com/YpQRFTO.png) Выбираем create, далее диск, на котором установлена ОС (ориентируйтесь на размер), после чего нам предложат выбрать Partition Table, (в большистве случаев она выбирается автоматически, и вам остается лишь нажать далее). В следующем меню выбираем пункт Advanced ![](https://i.imgur.com/cUKOg2w.png) После чего отмечаем диск для отображения файлов и стрелками вправо/влево выбираем пункт list ![](https://i.imgur.com/ZpqdL8o.png) Теперь мы можем перемещаться по директориям и искать удаленные файлы (они будут подсвечиваться красным). Остается лишь найти курсовую и восстановить (для этого нажимаем клавишу с и выбираем куда сохранить файл). ![](https://i.imgur.com/tumLrFA.png) # **Альтарнативный способ 2 (Scalpel, загрузка под другой ОС)** Теперь рассмотрим более интересный и сложный случай, когда у нас по той или иной причине нет доступа к системе. В такой ситуации одним из решений может являться загрузка под другой ОС (мы будем делать это с Parrot'а). Скачиваем образ с официального сайти Parrot OS, и затем проводим следующий манипуляции: 1) Открываем настройки нашей виртуалки 2) Добавляем CD/DVD Drive (указываем путь к iso-образу Parrot'а) 3) Запускаемся с нового CD (делается это аналогично с запуском с флешки) 4) Нас приветствует Parrot OS, начинаем установку. Единственный момент, с которым могут возникнуть трудности, это разбивка диска на разделы. Выбираем ручной разбивку (manual partition) и следуем руководству с официального сайта Parrot OS (https://parrotsec.org/docs/dualboot-with-windows.html) 5) По завершении установки нам остается лишь воспользоваться утилитой Scalpel (предустановлена в Parrot OS) для сканирования диска с Windows. Краткая теоретическая справка: Когда файл удаляется (либо через проводник Windows, либо из другого приложения, либо самой операционной системой), Windows не спешит немедленно заполнить нулями или иным образом уничтожить содержимое файла. Если это и случится, то не так скоро. Попробуйте удалить большой файл, который вам больше не нужен, например фильм, который вы уже просмотрели. Затем попробуйте удалить крошечный ярлык. Обратите внимание, что время, требуемое для удаления любого файла, будет одинаковым. А если бы Windows уничтожал все удаленные файлы, для того, чтобы стереть большой фильм, потребовалось бы много времени. Другими словами, очистка содержимого каждого удаляемого файла сильно замедлило бы работу вашего компьютера. (Обратите внимание, что накопители SSD работают иначе). Если Windows не удаляет файл физически, то что же происходит при его удалении? Фактически, система делает одну простую вещь: маркировку записи в файловой системе, которая указывает на то, что данный файл удален и его больше не существует. Он просто нигде не будет отображаться. То есть содержимое вашего файла все еще остается где-то на вашем диске (если это не SSD), но системная запись указывает на то, что его больше не существует (FAT32) или же он помечается как пустой (NTFS). Конечно, это сильно упрощенная схема, но этого вполне достаточно, чтобы теперь разобраться с принципами восстановления данных. Раз файл все еще существует где-то на диске, но некоторая запись в файловой системе помечает его как «удаленный», разве мы не можем просто снять отметку? Таков был принцип работы одной из первых программ восстановления данных (тогда) Microsoft DOS. Инструмент назывался «undelete», и делал он буквально следующее: сканировал файловую систему, чтобы найти файлы, помеченные как «удаленные», и снимал соответствующий флажок. При этом удаленные файлы теряли первый символ в своем имени, поэтому после удаления вы получали «~ ocument.txt» вместо «document.txt». Что не так с этим подходом? Оказывается, очень и очень многое. Во-первых, файловая система в современных многозадачных операционных системах очень изменчива. Создаются новые временные файлы, файлы журнала и реестра постоянно перезаписываются многими системными задачами и фоновыми приложениями. В результате исходные записи файловой системы, указывающие на удаленный файл, быстро устаревают, некоторые или все записи начинают использоваться операционной системой для хранения информации о новых файлах. Обратите внимание, что на этом этапе исходный удаленный файл может по-прежнему оставаться на диске, занимая то же дисковое пространство, которое и раньше принадлежало ему, в то время как запись файловой системы, указывающая на этот файл, может больше не существовать. В следующем поколении инструментов восстановления данных больше не используются данные, полученные из файловой системы. Конечно, современные инструменты все еще просматривают файловую систему и довольно успешно восстанавливают удаленные файлы, если информация о них по-прежнему доступна, но они могут использовать и другие источники для обнаружения удаленных файлов. Так, восстановление по содержимому (контент-восстановление) работает абсолютно иначе. Продукты восстановления данных нового поколения будут сканировать всю поверхность вашего диска в поисках «следов» удаленных данных. Что же они ищут? Во-первых, для проверки содержимого диска программа сканирует файловую систему. Даже если информация об удаленном файле отсутствует, сканирование файловой системы позволяет создать карту участков диска, принадлежащих другим (существующим) файлам, и исключить их из дальнейшего сканирования. Это разумно, поскольку типичный пользовательский жесткий диск заполнен более чем наполовину, поэтому несколько секунд, потраченные на сканирование файловой системы, могут сэкономить вам час или больше времени сканирования реального диска. Затем инструмент начинает считывать содержимое диска, сканируя сектора диска, которые не помечены как занятые другими файлами, – один блок за другим. Каждый блок информации, считываемой с диска, проверяется на основе баз данных, содержащих многие характерные подписи файлов, которые могут идентифицировать обнаруженные данные как начало определенного типа файла. Например, изображения JPEG всегда начинаются с «JFIF», в то время как файлы PDF имеют «%PDF%» в самом начале. (Конечно, это опять упрощение, так как в действительности сигнатуры бинарны). Если найдено определенное соответствие, программа выполняет вторичную проверку, чтобы определить, является ли это просто случайным совпадением или подпись действительно означает начало файла. Эта вторичная проверка, в основном, является проверкой заголовка файла в определенном формате. Если проверка пройдена, программа для восстановления данных проанализирует заголовок, чтобы определить длину файла. После вычисления длины файла инструмент считывает необходимое количество блоков с диска и сохраняет их в новый файл на другом диске. *Вышеописанное справедливо для HDD-накопителей*