Статья Imago - Форензика изображений

Приветствую гостей и участников портала Codeby.net.

В этой статье, мы на примерах рассмотрим способ форензики изображений с помощью инструмента с открытым исходным кодом – Imago-forensics.

1548186321767.png


Imago - это инструмент на Python, который рекурсивно извлекает цифровые доказательства из изображений. Этот инструмент полезен во время цифрового судебного расследования.
Если вам нужно извлечь цифровые доказательства и у вас есть много изображений, с помощью этого инструмента вы сможете легко сравнить их.

Imago - позволяет извлечь доказательства в файл CSV или в базу данных sqlite. Если в формате JPEG присутствуют GPS-координаты, Imago может извлечь долготу и широту и преобразовать их в градусы и получить соответствующую информацию, такую как город, страна, почтовый индекс и т.д.

Imago - предлагает возможность расчета анализа уровня ошибок и обнаружить обнаженное тело на фото, но этот функционал находится в версии BETA.

Установка:

Код:
pip install imago

1548186374982.png


Эта команда установит необходимые зависимости:
  • python 2.7
  • exifread 2.1.2
  • python-magic 0.4.15
  • argparse 1.4.0
  • pillow 5.2.0
  • nudepy 0.4
  • imagehash 4.0
  • geopy 1.16.0
Если все прошло успешно, то при вводе команды:

Код:
imago

Мы должны увидеть следующий вывод:

1548186422178.png


Функционал:
  • Рекурсивная навигация по каталогам
  • файл mtime (UTC)
  • файл ctime (UTC)
  • файл atime (UTC)
  • размер файла (в байтах)
  • MIME тип
  • Поддержка Exif
  • CSV экспорт
  • Sqlite экспорт
  • MD5, Sha256, Sha512
  • Анализ уровня ошибок BETA
  • Полная поддержка GPS
  • Детектор фигуры BETA
  • Восприятие перцептивного изображения
  • aHash
  • pHash
  • dHash
  • wHash
Использование:

Код:
imago –h

1548186462679.png


Единственный обязательный аргумент - это -i, который является базовым каталогом, из которого imago начнет поиск файла изображения. Вы также должны указать как минимум один тип извлечения (например, exif, data, gps, digest).

Перейдем к практическому использованию, выполним следующую команду:

Код:
imago -i /home/Pentest/Photo -o /home/Pentest/PhResult -x -s -t jpeg -d all

Где:
  • -i путь: базовый каталог, в котором имаго будет искать файл
  • -o путь: выходной каталог, в который imago будет сохранять CSV-файл с извлеченными метаданными
  • -x: imago будет извлекать метаданные EXIF.
  • -s: временная база данных SQLite не будет удалена после обработки.
  • -t jpeg: imago будет искать только изображения в формате jpeg.
  • -d all: имаго вычислит md5, sha256, sha512 для изображений jpeg.
1548186519024.png


Я попробовал проанализировать и сравнить две одинаковых фотографии, одна из которых была загружена в социальную сеть, а потом скачана оттуда.

В результате мы получаем файл со следующим содержимым:

1548186536143.png


Там, на самом деле, информации гораздо больше, советую самим попробовать, инструмент очень удобен и полезен.

Осталось попробовать функцию обнаружения обнаженного тела на фотографии, берем соответствующие фотографии, и выполняем команду с флагом –n:

Код:
imago -i /home/Pentest/PhotoX -o /home/Pentest/PhResult -x -s –t -n jpeg -d all

1548186565382.png


В отчетном файле появляется необходимая информация:

1548186576808.png


На этом все, спасибо за внимание.

Специально для Codeby.net.
 

Shinobi

Green Team
23.11.2017
76
14
BIT
0
У меня при установке выдало memory error -_-
Хэлпаните кто чем может
Я что то так и недопонял, проверил нужное мне изображение для расследования, в итоге сегодняшняя дата скачивания, и так понимаю в одного и того же изображение после загрузки/выгрузки меняются хеши.
Как тогда что либо найти или доказать?
Поправьте меня, если я не прав. Спасибо!)
 

Sunnych

Mod. Forensics
Gold Team
01.06.2018
277
1 454
BIT
41
У меня при установке выдало memory error -_-
Хэлпаните кто чем может Я что то так и недопонял, проверил нужное мне изображение для расследования, в итоге сегодняшняя дата скачивания, и так понимаю в одного и того же изображение после загрузки/выгрузки меняются хеши.
Как тогда что либо найти или доказать? Поправьте меня, если я не прав. Спасибо!)
Вы пример покажите с скринами и последовательность действий - момент с датами думаю разработчиком упущен, а вот хеши должны выгружаться одинаковые, нужно пробовать, сейчас такие вещи просто делаю FTK и x-ways (но запомню нужно проверить как сейчас работает Imago-forensics)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!