JustPaste.it

Хакер - Искусство форензики. Находим источники данных, ищем и анализируем артефакты

https://t.me/hacker_frei

В предыдущей статье мы познакомили тебя с форензикой — наукой о расследовании киберинцидентов. В этой — научимся применять конкретные утилиты и техники для обнаружения, сбора и анализа артефактов, оставшихся после взлома жертвы. Своими руками мы проведем поиск удаленных файлов и их восстановление, анализ неразмеченной области памяти файла, дамп любых процессов в Windows для обнаружения малвари или эксплоита, а также анализ истории URL и извлечение cookie из браузера.
 

Наш лабораторный стенд

Нашим основным форензик-дистрибутивом, содержащим пак со всеми необходимыми утилитами, будет легендарный BackTrack. В качестве анализируемой машины мы используем образ с установленной Windows XP. BackTrack рекомендуется запускать как хостовую ОС, а для XP вполне можно довольствоваться бесплатными Oracle VirtualBox или VMware Player.

warning-icon.jpg

WARNING

Всегда ясно и четко осознавай, что именно, как и зачем ты делаешь. Звучит банально, но неправильное использование описанных в тексте статьи программ может привести к потере или искажению полученных данных (криминалистических доказательств). Ни автор, ни редакция не несет ответственности за любой ущерб, причиненный из-за неправильного использования материалов данной статьи.

 

Кейс 1. Поиск и восстановление удаленного файла JPEG с помощью Autopsy

Суть данного кейса в том, чтобы найти артефакты удаленного файла (JPEG-картинка) на жестком диске целевой машины и восстановить его в другую директорию для дальнейшего изучения.

Основным инструментом для нас в этой задачке будет Autopsy — это цифровая платформа для проведения форензик-процедур и одновременно графический интерфейс для CLI-версии известного кита The Sleuth Kit. В частности, программа позволяет анализировать дисковые устройства, находить и восстанавливать файлы, извлекать EXIF из картинок, находить и просматривать отдельные видеофрагменты. Более подробная информация об инструменте доступна здесь, а также еще здесь и в одной из наших прошлых статей.

Итак, начнем.

Первым делом запускаем BackTrack с GUI-интерфейсом. Открываем браузер и по указанной ссылке скачиваем архив JPEG Search Test #1, дополнительную информацию по файлу можно почитать тут. После жмем Ctrl + T и в появившемся окне терминала выполняем следующие команды.

Создаем директории:

# mkdir -p /var/forensics/images # ls -ld /var/forensics/images

Распакуем наш архив:

# cd /var/forensics/images # ls -lrta # unzip 8-jpeg-search.zip # cd 8-jpeg-search # ls -lrta Распаковка скачанного архива JPEG Search Test #1 Распаковка скачанного архива JPEG Search Test #1

И продолжаем набирать команды в терминале:

# cd /var/forensics/images/8-jpeg-search # ls -l # md5sum 8-jpeg-search.dd

Теперь нужно посчитать хеш-сумму файла в md5sum.

Хеш-сумма MD5 распакованного файла Хеш-сумма MD5 распакованного файла

После этого запускаем в GUI-оболочке нашу тулзу: Applications → BackTrack → Forensics → Forensic Suites → setup Autopsy. После появления окна на вопрос Have you purchased or downloaded a copy of the NSRL (y/n) жмем n. Затем переходим в /pentest/forensics/autopsy и запускаем скрипт ./autopsy. Скрипт стартует локальный web-сервер с интерфейсом для работы с Autopsy.

Запуск скрипта ./autopsy из терминала Запуск скрипта ./autopsy из терминала

Как написано в тексте, мы открываем в браузере адрес http://localhost:9999/autopsy. После этого перед нами во всей красе предстает HTML-оболочка нашего инструмента. Все, что нам нужно, — это создать «новый кейс», ввести имя хоста, название кейса, другую дополнительную информацию и сохранить получившийся шаблон.

Создаем кейс JPEG-8-Inquiry Создаем кейс JPEG-8-Inquiry

Переходим в терминал и выполняем команды

# cd /var/forensics/images/8-jpeg-search # ls -l # ls $PWD/8-jpeg-search.dd

Копируем строчку

/var/forensics/images/8-jpeg-search/8-jpeg-search.dd Копируем указанную строчку в окне терминала Копируем указанную строчку в окне терминала

Далее возвращаемся в браузер и жмем «Добавить локацию/картинку».

Скопированную ссылку вставляем в указанную форму Скопированную ссылку вставляем в указанную форму

После этого традиционно смело нажимаем кнопку Next и на новой странице мастера щелкаем вариант Partition.

В окне мастера выбираем опцию Partition В окне мастера выбираем опцию Partition

На следующем шаге нам нужно сделать три действия, а именно щелкнуть Ignore the hash value for this image, указать в качестве литеры диска С и тип файловой системы NTFS.

Заполняем поля указанными данными Заполняем поля указанными данными

В конце пошагового мастера нажимаем единственную кнопку Calculate.

Закрытие мастера по кнопке Calculate Закрытие мастера по кнопке Calculate

Наш следующий шаг связан с анализом файла, определением его структуры и содержания. Процесс запускается по кнопке Analysis.

Запуск анализа файла кнопкой Analysis Запуск анализа файла кнопкой Analysis

После нескольких секунд ожидания перед нами появится небольшой отчет о проанализированном файле — File information и Metadata information.

Сводка по File information и Metadata information Сводка по File information и Metadata information

В качестве результата мы увидим окно со списком удаленных файлов и кое-какой дополнительной информацией.

Итоговое окно: удаленные файлы обнаружены Итоговое окно: удаленные файлы обнаружены

Поздравляю, первый кейс решен!

Ты уже восстанавливал удаленные картинки?

  • Разве что из «Корзины»
  • Да, и тоже методами форензики
  • Да, но делал это гораздо проще
 

Кейс 2. Поиск скрытых данных в незаполненной области файла с bmap

Разумеется, все наши читатели слышали о стеганографии — способе скрыть передачу данных, добавив их в легитимный файл либо записав эту информацию в память, занимаемую легитимным файлом (с текстом, музыкой или картинкой), без нарушения работоспособности последнего.

caa511c725c0205828f5c96bbb21b99a.jpg

INFO

Стеганография — очень надежный способ передачи секретной информации. А если исходную информацию еще и зашифровать, то восстановить ее будет очень затруднительно.

Для выполнения второго кейса нам понадобится утилита bmap-tools, здесь можешь почитать по ней дополнительную информацию. В моем дистрибутиве предустановленной версии bmap не оказалось, поэтому придется поставить ее ручками. Как и в прошлый раз, первым делом открываем терминал в BackTrack и пишем следующие команды:

# cd /opt # mkdir bmap # cd bmap

После создания директории открываем любой браузер и по приведенной ссылке скачиваем архив с тулзой.

Сохраняем bmap-1.0.17.tar.gz на свою машину Сохраняем bmap-1.0.17.tar.gz на свою машину

Снова в терминал, где пишем следующее:

# cd /opt/bmap # ls -l # gunzip bmap-1.0.17.tar.gz # tar -xovf bmap-1.0.17.tar Результаты распаковки скачанного архива Результаты распаковки скачанного архива

Теперь наша тулза готова скомпилироваться в бинарный файл, для чего выполняем команды

# cd /opt/bmap/bmap-1.0.17 # make

Запуск утилиты:

# ln -s /opt/bmap/bmap-1.0.17/bmap /sbin/bmap # which bmap # bmap -help Запуск bmap в терминале Запуск bmap в терминале

Переходим к созданию текстового файла, в который будем прятать наше «секретное сообщение»:

# cd /var/tmp # echo "This is a test file" > test.txt # cat test.txt Создание исходного test.txt Создание исходного test.txt

Тебе приходилось прятать данные в файлах или искать в них скрытые?

Создаем «неразмеченную область» внутри нашего исходного файла test.txt:

# bmap --mode slack test.txt # ls -l test.txt Создаем «неразмеченную область внутри test.txt Создаем «неразмеченную область внутри test.txt

Добавляем наше «секретное сообщение»:

# echo "Top Secret Data Goes Here" | bmap --mode putslack test.txt # ls -l test # cat test.txt # strings test.txt Добавляем наше «секретное сообщение» в test.txt Добавляем наше «секретное сообщение» в test.txt

Обрати внимание: изменился только размер пространства, занимаемого данным файлом на диске, — внутри же самого файла ничего не изменилось.

Делаем бэк на терминал и проводим эксперимент:

# rm test.txt # ls -l test.txt # echo "This is a test file" > test.txt # bmap --mode slack test.txt # echo "Your Name"

Что в итоге? Наш файл был удален, но секретное сообщение осталось, поскольку при стирании были зачищены только сектора диска, занимаемые номинальным файлом. После того как мы вызвали команду

# bmap --mode slack test.txt

в терминале появилась строка нашего сообщения, скрытого в неразмеченной области.

Секретное сообщение выжило после удаления файла Секретное сообщение выжило после удаления файла

Как долго после удаления исходного файла просуществуют данные, скрытые с помощью bmap?

  • Неограниченно долго, поскольку их не видно обычными средствами
  • До изменения границ таблицы разделов
  • До перезаписи секторов, помеченных как неиспользуемые
 

Кейс 3. Создаем дамп памяти всех процессов Windows, анализируем взаимосвязь «родительский — дочерний»

Для этого небольшого кейса нам понадобится только одна машина с заранее инсталлированной Windows XP. Скачиваем native-утилиту от Microsoft под названием Process Explorer. После распаковки архива в любую директорию запускаем бинарный файл от имени администратора (для получения полного списка системных и скрытых процессов) и идем в меню View → Show Processes From All Users.

Окно Process Explorer после запуска в Windows XP Окно Process Explorer после запуска в Windows XP

Чуть-чуть о том, что демонстрирует нам программа.

В колонке Process отображается дерево активных процессов и их потомков. Потомок (child) — процесс, созданный другим, родительским (parent) процессом. Любой процесс может быть и потомком, если он создан в ходе выполнения другого процесса, и родителем, если в ходе его выполнения создан другой процесс. Отображение элементов дерева процессов выполняется в соответствии с порядком их запуска при загрузке операционной системы и регистрации пользователя.

Корень дерева процессов — уровень System Idle Process, состояние простоя системы. Следующим элементом дерева представлен уровень System. На самом деле System — это не отдельно существующий реальный процесс, а уровень дерева, предназначенный для отображения активности системы, связанной с обработкой прерываний, работой системных драйверов, диспетчера сеансов Windows (Session Manager) smss.exe и csrss.exe (Client-Server Runtime).

Остальная часть дерева отображает иерархию реально выполняющихся в Windows процессов. Так, приложение служб и контроллеров SERVICES.EXE обеспечивает создание, удаление, запуск и остановку служб (сервисов) в операционной системе, что и отображается в списке порождаемых им процессов.

  • PID — идентификатор процесса PID — уникальное десятичное число, присваиваемое каждому процессу при его создании.
  • CPU — степень использования центрального процессора.
  • Private Bytes — объем оперативной памяти, выделенной данному процессу и не разделяемой с другими процессами.
  • Working Set — рабочий набор процесса, представляющий собой суммарный объем всех страниц используемой им памяти в данный момент времени. Размер этого набора может изменяться в зависимости от запросов процесса. Большая часть процессов используют разделяемую память (Shared Memory).
  • Description — краткое описание процесса.
  • Company Name — название компании-разработчика.
  • Path — путь и имя исполняемого файла.
  • Verified Signer — признак достоверности цифровой подписи исполняемого файла. Наличие строки Not verified говорит о том, что цифровая подпись отсутствует или ее не удалось проверить.

Больше подробностей можно узнать из документации.

Какой утилитой можно сделать полный дамп (всей физической памяти системы вместе с файлом подкачки)?

  • Process Explorer
  • FTK Imager
  • BlueScreenView
Просмотр связки «родительский — дочерний процесс» Просмотр связки «родительский — дочерний процесс»

Также с помощью Process Explorer можно создать дампы памяти отдельных процессов или всей системы для дальнейшего изучения. Эта практика часто применяется при обнаружении следов инфицирования системы малварью или эксплоита. Сделанный дамп можно просмотреть через утилиту Debugging Tools for Windows.

В наш сегодняшний материал вопросы детального анализа дампов не входят, но в качестве неплохого подспорья ты можешь использовать статьи по WinDbg тут, тут и здесь.

Создание дампа для системного процесса lsass.exe Создание дампа для системного процесса lsass.exe

Дамп памяти процесса сохраняет небольшой объем информации о самом процессе и загруженных компонентах, которые были на момент появления.

Создание «полного» или «усеченного» дампа всех процессов Создание «полного» или «усеченного» дампа всех процессов

Полный дамп всех процессов — это образ, включающий содержимое всей оперативной памяти компьютера, как пользовательские, так и системные процессы. Однако помни: прежде чем дампить, ты должен убедиться, что у тебя хватит места для сохранения на жестком диске. Особенно это касается серверных редакций ОС.

 

Кейс 4. Восстанавливаем историю посещения URL-адресов в браузере и парсим cookie

В заключительном кейсе мы палим, какие URL посещал пользователь перед тем, как машина досталась нам в руки для изучения, и пробуем вытащить дополнительную инфу из сохраненных cookie-файлов. Рассматривать кейс будем на самом банальном примере использования встроенного браузера Internet Explorer. Для этого нам понадобятся две утилиты: IEHistoryView — вьювер URL-истории и IECookiesView — из названия понятно, что просмотрщик cookies.

Как и в предыдущем кейсе, нам понадобится все та же машина с заранее инсталлированной Windows XP. Скачиваем на жесткий диск утилиты
IEHistoryView и [IECookiesView] (http://www.nirsoft.net/utils/iecv.zip). Предварительно встроенным в XP IE открываем несколько сайтов, а после запускаем бинарник.

Результат работы вьювера IEHistoryView Результат работы вьювера IEHistoryView

После запуска тулза автоматически подтягивает всю доступную информацию о сохраненных в истории URL-адресах, названии страниц, дате просмотра, имени пользователя, под которым был произведен сеанс веб-серфинга. В итоге можно выстроить связку «что было просмотрено» — «в какое время» — «каким именно пользователем».

Далее в главном окне программы доступен поиск по ключевому слову. Введем, например, metasploit.

Результаты поиска текста metasploit в истории посещения Результаты поиска текста metasploit в истории посещения

Самое время приниматься за IECookiesView. Распаковываем предварительно скачанный архив в любую директорию и запускаем. После этого ждем несколько секунд до появления главного окна программы с содержанием сохраненных локально cookie-файлов.

Запуск IECookiesView и просмотр cookie-файлов Запуск IECookiesView и просмотр cookie-файлов

Теперь можешь щелкнуть любую строчку из имеющихся cookie, после чего в нижней панели главного окна станут доступны пункты меню редактирования.

Возможность редактирования выбранного cookie-файла Возможность редактирования выбранного cookie-файлаРедактирование служебной информации выбранного cookie-файла Редактирование служебной информации выбранного cookie-файла
 

Заключение

Сегодня мы проделали неплохую исследовательскую работу: обнаружили удаленный файл и успешно восстановили его, использовали неразмеченные области секторов диска для сохранения «секретного сообщения», заюзали утилиты для создания дампов пользовательских процессов и всей системы, чтобы искать следы инфицирования малварью, и рассмотрели пример восстановления истории веб-серфинга. Минимум теории и максимум практики на самых доступных кейсах. Мы и дальше будем придерживаться этого принципа, так что в скором времени жди новую порцию кейсов и не туши свет в своей форензик-лаборатории! 

Читайте ещё больше платных статей бесплатно: 

В предыдущей статье мы познакомили тебя с форензикой — наукой о расследовании киберинцидентов. В этой — научимся применять конкретные утилиты и техники для обнаружения, сбора и анализа артефактов, оставшихся после взлома жертвы. Своими руками мы проведем поиск удаленных файлов и их восстановление, анализ неразмеченной области памяти файла, дамп любых процессов в Windows для обнаружения малвари или эксплоита, а также анализ истории URL и извлечение cookie из браузера.
 

Наш лабораторный стенд

Нашим основным форензик-дистрибутивом, содержащим пак со всеми необходимыми утилитами, будет легендарный BackTrack. В качестве анализируемой машины мы используем образ с установленной Windows XP. BackTrack рекомендуется запускать как хостовую ОС, а для XP вполне можно довольствоваться бесплатными Oracle VirtualBox или VMware Player.

warning-icon.jpg

WARNING

Всегда ясно и четко осознавай, что именно, как и зачем ты делаешь. Звучит банально, но неправильное использование описанных в тексте статьи программ может привести к потере или искажению полученных данных (криминалистических доказательств). Ни автор, ни редакция не несет ответственности за любой ущерб, причиненный из-за неправильного использования материалов данной статьи.

 

Кейс 1. Поиск и восстановление удаленного файла JPEG с помощью Autopsy

Суть данного кейса в том, чтобы найти артефакты удаленного файла (JPEG-картинка) на жестком диске целевой машины и восстановить его в другую директорию для дальнейшего изучения.

Основным инструментом для нас в этой задачке будет Autopsy — это цифровая платформа для проведения форензик-процедур и одновременно графический интерфейс для CLI-версии известного кита The Sleuth Kit. В частности, программа позволяет анализировать дисковые устройства, находить и восстанавливать файлы, извлекать EXIF из картинок, находить и просматривать отдельные видеофрагменты. Более подробная информация об инструменте доступна здесь, а также еще здесь и в одной из наших прошлых статей.

Итак, начнем.

Первым делом запускаем BackTrack с GUI-интерфейсом. Открываем браузер и по указанной ссылке скачиваем архив JPEG Search Test #1, дополнительную информацию по файлу можно почитать тут. После жмем Ctrl + T и в появившемся окне терминала выполняем следующие команды.

Создаем директории:

# mkdir -p /var/forensics/images # ls -ld /var/forensics/images

Распакуем наш архив:

# cd /var/forensics/images # ls -lrta # unzip 8-jpeg-search.zip # cd 8-jpeg-search # ls -lrta

Распаковка скачанного архива JPEG Search Test #1 Распаковка скачанного архива JPEG Search Test #1

И продолжаем набирать команды в терминале:

# cd /var/forensics/images/8-jpeg-search # ls -l # md5sum 8-jpeg-search.dd

Теперь нужно посчитать хеш-сумму файла в md5sum.

Хеш-сумма MD5 распакованного файла Хеш-сумма MD5 распакованного файла

После этого запускаем в GUI-оболочке нашу тулзу: Applications → BackTrack → Forensics → Forensic Suites → setup Autopsy. После появления окна на вопрос Have you purchased or downloaded a copy of the NSRL (y/n) жмем n. Затем переходим в /pentest/forensics/autopsy и запускаем скрипт ./autopsy. Скрипт стартует локальный web-сервер с интерфейсом для работы с Autopsy.

Запуск скрипта ./autopsy из терминала Запуск скрипта ./autopsy из терминала

Как написано в тексте, мы открываем в браузере адрес http://localhost:9999/autopsy. После этого перед нами во всей красе предстает HTML-оболочка нашего инструмента. Все, что нам нужно, — это создать «новый кейс», ввести имя хоста, название кейса, другую дополнительную информацию и сохранить получившийся шаблон.

Создаем кейс JPEG-8-Inquiry Создаем кейс JPEG-8-Inquiry

Переходим в терминал и выполняем команды

# cd /var/forensics/images/8-jpeg-search # ls -l # ls $PWD/8-jpeg-search.dd

Копируем строчку

/var/forensics/images/8-jpeg-search/8-jpeg-search.dd

Копируем указанную строчку в окне терминала Копируем указанную строчку в окне терминала

Далее возвращаемся в браузер и жмем «Добавить локацию/картинку».

Скопированную ссылку вставляем в указанную форму Скопированную ссылку вставляем в указанную форму

После этого традиционно смело нажимаем кнопку Next и на новой странице мастера щелкаем вариант Partition.

В окне мастера выбираем опцию Partition В окне мастера выбираем опцию Partition

На следующем шаге нам нужно сделать три действия, а именно щелкнуть Ignore the hash value for this image, указать в качестве литеры диска С и тип файловой системы NTFS.

Заполняем поля указанными данными Заполняем поля указанными данными

В конце пошагового мастера нажимаем единственную кнопку Calculate.

Закрытие мастера по кнопке Calculate Закрытие мастера по кнопке Calculate

Наш следующий шаг связан с анализом файла, определением его структуры и содержания. Процесс запускается по кнопке Analysis.

Запуск анализа файла кнопкой Analysis Запуск анализа файла кнопкой Analysis

После нескольких секунд ожидания перед нами появится небольшой отчет о проанализированном файле — File information и Metadata information.

Сводка по File information и Metadata information Сводка по File information и Metadata information

В качестве результата мы увидим окно со списком удаленных файлов и кое-какой дополнительной информацией.

Итоговое окно: удаленные файлы обнаружены Итоговое окно: удаленные файлы обнаружены

Поздравляю, первый кейс решен!

Ты уже восстанавливал удаленные картинки?

  • Разве что из «Корзины»
  • Да, и тоже методами форензики
  • Да, но делал это гораздо проще
 

Кейс 2. Поиск скрытых данных в незаполненной области файла с bmap

Разумеется, все наши читатели слышали о стеганографии — способе скрыть передачу данных, добавив их в легитимный файл либо записав эту информацию в память, занимаемую легитимным файлом (с текстом, музыкой или картинкой), без нарушения работоспособности последнего.

caa511c725c0205828f5c96bbb21b99a.jpg

INFO

Стеганография — очень надежный способ передачи секретной информации. А если исходную информацию еще и зашифровать, то восстановить ее будет очень затруднительно.

Для выполнения второго кейса нам понадобится утилита bmap-tools, здесь можешь почитать по ней дополнительную информацию. В моем дистрибутиве предустановленной версии bmap не оказалось, поэтому придется поставить ее ручками. Как и в прошлый раз, первым делом открываем терминал в BackTrack и пишем следующие команды:

# cd /opt # mkdir bmap # cd bmap

После создания директории открываем любой браузер и по приведенной ссылке скачиваем архив с тулзой.

Сохраняем bmap-1.0.17.tar.gz на свою машину Сохраняем bmap-1.0.17.tar.gz на свою машину

Снова в терминал, где пишем следующее:

# cd /opt/bmap # ls -l # gunzip bmap-1.0.17.tar.gz # tar -xovf bmap-1.0.17.tar

Результаты распаковки скачанного архива Результаты распаковки скачанного архива

Теперь наша тулза готова скомпилироваться в бинарный файл, для чего выполняем команды

# cd /opt/bmap/bmap-1.0.17 # make

Запуск утилиты:

# ln -s /opt/bmap/bmap-1.0.17/bmap /sbin/bmap # which bmap # bmap -help

Запуск bmap в терминале Запуск bmap в терминале

Переходим к созданию текстового файла, в который будем прятать наше «секретное сообщение»:

# cd /var/tmp # echo "This is a test file" > test.txt # cat test.txt

Создание исходного test.txt Создание исходного test.txt

Тебе приходилось прятать данные в файлах или искать в них скрытые?

Создаем «неразмеченную область» внутри нашего исходного файла test.txt:

# bmap --mode slack test.txt # ls -l test.txt

Создаем «неразмеченную область внутри test.txt Создаем «неразмеченную область внутри test.txt

Добавляем наше «секретное сообщение»:

# echo "Top Secret Data Goes Here" | bmap --mode putslack test.txt # ls -l test # cat test.txt # strings test.txt

Добавляем наше «секретное сообщение» в test.txt Добавляем наше «секретное сообщение» в test.txt

Обрати внимание: изменился только размер пространства, занимаемого данным файлом на диске, — внутри же самого файла ничего не изменилось.

Делаем бэк на терминал и проводим эксперимент:

# rm test.txt # ls -l test.txt # echo "This is a test file" > test.txt # bmap --mode slack test.txt # echo "Your Name"

Что в итоге? Наш файл был удален, но секретное сообщение осталось, поскольку при стирании были зачищены только сектора диска, занимаемые номинальным файлом. После того как мы вызвали команду

# bmap --mode slack test.txt

в терминале появилась строка нашего сообщения, скрытого в неразмеченной области.

Секретное сообщение выжило после удаления файла Секретное сообщение выжило после удаления файла

Как долго после удаления исходного файла просуществуют данные, скрытые с помощью bmap?

  • Неограниченно долго, поскольку их не видно обычными средствами
  • До изменения границ таблицы разделов
  • До перезаписи секторов, помеченных как неиспользуемые
 

Кейс 3. Создаем дамп памяти всех процессов Windows, анализируем взаимосвязь «родительский — дочерний»

Для этого небольшого кейса нам понадобится только одна машина с заранее инсталлированной Windows XP. Скачиваем native-утилиту от Microsoft под названием Process Explorer. После распаковки архива в любую директорию запускаем бинарный файл от имени администратора (для получения полного списка системных и скрытых процессов) и идем в меню View → Show Processes From All Users.

Окно Process Explorer после запуска в Windows XP Окно Process Explorer после запуска в Windows XP

Чуть-чуть о том, что демонстрирует нам программа.

В колонке Process отображается дерево активных процессов и их потомков. Потомок (child) — процесс, созданный другим, родительским (parent) процессом. Любой процесс может быть и потомком, если он создан в ходе выполнения другого процесса, и родителем, если в ходе его выполнения создан другой процесс. Отображение элементов дерева процессов выполняется в соответствии с порядком их запуска при загрузке операционной системы и регистрации пользователя.

Корень дерева процессов — уровень System Idle Process, состояние простоя системы. Следующим элементом дерева представлен уровень System. На самом деле System — это не отдельно существующий реальный процесс, а уровень дерева, предназначенный для отображения активности системы, связанной с обработкой прерываний, работой системных драйверов, диспетчера сеансов Windows (Session Manager) smss.exe и csrss.exe (Client-Server Runtime).

Остальная часть дерева отображает иерархию реально выполняющихся в Windows процессов. Так, приложение служб и контроллеров SERVICES.EXE обеспечивает создание, удаление, запуск и остановку служб (сервисов) в операционной системе, что и отображается в списке порождаемых им процессов.

  • PID — идентификатор процесса PID — уникальное десятичное число, присваиваемое каждому процессу при его создании.
  • CPU — степень использования центрального процессора.
  • Private Bytes — объем оперативной памяти, выделенной данному процессу и не разделяемой с другими процессами.
  • Working Set — рабочий набор процесса, представляющий собой суммарный объем всех страниц используемой им памяти в данный момент времени. Размер этого набора может изменяться в зависимости от запросов процесса. Большая часть процессов используют разделяемую память (Shared Memory).
  • Description — краткое описание процесса.
  • Company Name — название компании-разработчика.
  • Path — путь и имя исполняемого файла.
  • Verified Signer — признак достоверности цифровой подписи исполняемого файла. Наличие строки Not verified говорит о том, что цифровая подпись отсутствует или ее не удалось проверить.

Больше подробностей можно узнать из документации.

Какой утилитой можно сделать полный дамп (всей физической памяти системы вместе с файлом подкачки)?

  • Process Explorer
  • FTK Imager
  • BlueScreenView
Просмотр связки «родительский — дочерний процесс» Просмотр связки «родительский — дочерний процесс»

Также с помощью Process Explorer можно создать дампы памяти отдельных процессов или всей системы для дальнейшего изучения. Эта практика часто применяется при обнаружении следов инфицирования системы малварью или эксплоита. Сделанный дамп можно просмотреть через утилиту Debugging Tools for Windows.

В наш сегодняшний материал вопросы детального анализа дампов не входят, но в качестве неплохого подспорья ты можешь использовать статьи по WinDbg тут, тут и здесь.

Создание дампа для системного процесса lsass.exe Создание дампа для системного процесса lsass.exe

Дамп памяти процесса сохраняет небольшой объем информации о самом процессе и загруженных компонентах, которые были на момент появления.

Создание «полного» или «усеченного» дампа всех процессов Создание «полного» или «усеченного» дампа всех процессов

Полный дамп всех процессов — это образ, включающий содержимое всей оперативной памяти компьютера, как пользовательские, так и системные процессы. Однако помни: прежде чем дампить, ты должен убедиться, что у тебя хватит места для сохранения на жестком диске. Особенно это касается серверных редакций ОС.

 

Кейс 4. Восстанавливаем историю посещения URL-адресов в браузере и парсим cookie

В заключительном кейсе мы палим, какие URL посещал пользователь перед тем, как машина досталась нам в руки для изучения, и пробуем вытащить дополнительную инфу из сохраненных cookie-файлов. Рассматривать кейс будем на самом банальном примере использования встроенного браузера Internet Explorer. Для этого нам понадобятся две утилиты: IEHistoryView — вьювер URL-истории и IECookiesView — из названия понятно, что просмотрщик cookies.

Как и в предыдущем кейсе, нам понадобится все та же машина с заранее инсталлированной Windows XP. Скачиваем на жесткий диск утилиты
IEHistoryView и [IECookiesView] (http://www.nirsoft.net/utils/iecv.zip). Предварительно встроенным в XP IE открываем несколько сайтов, а после запускаем бинарник.

Результат работы вьювера IEHistoryView Результат работы вьювера IEHistoryView

После запуска тулза автоматически подтягивает всю доступную информацию о сохраненных в истории URL-адресах, названии страниц, дате просмотра, имени пользователя, под которым был произведен сеанс веб-серфинга. В итоге можно выстроить связку «что было просмотрено» — «в какое время» — «каким именно пользователем».

Далее в главном окне программы доступен поиск по ключевому слову. Введем, например, metasploit.

Результаты поиска текста metasploit в истории посещения Результаты поиска текста metasploit в истории посещения

Самое время приниматься за IECookiesView. Распаковываем предварительно скачанный архив в любую директорию и запускаем. После этого ждем несколько секунд до появления главного окна программы с содержанием сохраненных локально cookie-файлов.

Запуск IECookiesView и просмотр cookie-файлов Запуск IECookiesView и просмотр cookie-файлов

Теперь можешь щелкнуть любую строчку из имеющихся cookie, после чего в нижней панели главного окна станут доступны пункты меню редактирования.

Возможность редактирования выбранного cookie-файла Возможность редактирования выбранного cookie-файлаРедактирование служебной информации выбранного cookie-файла Редактирование служебной информации выбранного cookie-файла
 

Заключение

Сегодня мы проделали неплохую исследовательскую работу: обнаружили удаленный файл и успешно восстановили его, использовали неразмеченные области секторов диска для сохранения «секретного сообщения», заюзали утилиты для создания дампов пользовательских процессов и всей системы, чтобы искать следы инфицирования малварью, и рассмотрели пример восстановления истории веб-серфинга. Минимум теории и максимум практики на самых доступных кейсах. Мы и дальше будем придерживаться этого принципа, так что в скором времени жди новую порцию кейсов и не туши свет в своей форензик-лаборатории! 

Читайте ещё больше платных статей бесплатно: https://t.me/hacker_frei