Форензика и стеганография в видеофайле: разбор заданий online-этапа NeoQUEST-2015

    Прошедший online-этап ежегодного соревнования по кибербезопасности NeoQUEST-2015 был крайне богат на интересные и нетривиальные задания! В этой статье мы:
    • займемся стеганографией видеофайлов и эзотерическим языком программирования Piet, разбирая задание «Истина внутри»
    • влезем в шкуру компьютерного криминалиста, поработаем с TrueCrypt и ответим на вопрос «А был ли ключ?».

    Отличная новость: утверждена дата «очной ставки» NeoQUEST-2015! Мероприятие состоится 2 июля (четверг) в Санкт-Петербурге, в КДЦ «CLUB HOUSE»! Как и прежде, вход бесплатный — нужно лишь зарегистрироваться на нашем сайте.

    1. «Истина внутри» — стеганография в видео

    Скачиваем файл apple.avi, ссылка на который дана в задании. Обращаем внимание на подсказку в тексте легенды к заданию, намекающую на то, что сравнение полученного видео с оригинальным видео на канале Apple поможет понять, что делать дальше! Заходим на youtube.com, ищем на канале Apple наше видео.



    Скачиваем его любым сервисом для сохранения видео с youtube.com в формате .flv. Почему в .flv? Ну не зря же в задании зачем-то упомянуты недавно установленные flv-кодеки.

    Логично было бы сравнить эти два видео покадрово, для этого используем программное решение ffmpeg. Разбиваем оба видео на кадры, каждое в свой каталог:

    ffmpeg -i ./youtube.flv ./1/%d.png
    ffmpeg -i ./apple.avi ./2/%d.png
    


    Для сравнения подойдет синхронизация каталогов в Total Commander:



    На скриншоте отображены кадры, которые различны в обоих видео, таких 24 штуки. Попытаемся сравнить какую-нибудь пару кадров, например, 21-ю. Для этого воспользуемся ImageMagic:

    compare.exe 21.png 21.2.png diff.png
    




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



    Теперь нужно собрать из младших битов изображение, для этого используем Python и, например, PIL:



    Нетрудно догадаться, что перед нами программа на эзотерическом языке программирования Piet. Придется немного повозиться с интерпретатором, после запуска которого программа выводит на экран сообщение, содержащее ключ к заданию:

    «Hello! Secret Key: 8aec4bb34fbdd11c2aef4fea391b4fe2»

    2.«А был ли ключ?» — forensic и TrueCrypt


    Участникам был предоставлен дамп диска, в котором и нужно было найти ключ. Прохождение можно условно разделить на следующие этапы:
    1. Монтирование диска
    2. Поиск установленного программного обеспечения
    3. Поиск зашифрованного логического диска
    4. Поиск ключа шифрования тома
    5. Поиск ключа к заданию


    Монтирование диска
    Windows 7 — 8.1 позволит подключить образ диска без дополнительного программного обеспечения. На других ОС для монтирования можно использовать Virtual Box, VMWare и другое ПО для виртуализации.

    После монтирования в Windows 8.1 появятся 2 диска.
    Содержимое системного диска:



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



    Поиск установленного программного обеспечения

    Необходимо включить отображение скрытых и системных файлов, после чего проверяем основные папки Program Files и Program Files(x86), где находится программа TrueCrypt. TrueCrypt — компьютерная программа для шифрования «на лету». Она позволяет создавать виртуальный зашифрованный логический диск, хранящийся в виде файла.



    Поиск зашифрованного логического диска

    В описании программы указано, что с помощью неё можно создать виртуальный зашифрованный логический диск. Чтобы найти этот диск, используем программу TChunt.

    tchunt.exe -d ../ > tchunt.txt
    




    Откроем файл tchunt.txt



    Файл X:\Users\JohnSmith\files и есть зашифрованный контейнер.

    Поиск ключа шифрования тома

    В корне диска есть папка Dali. Среди всех изображений есть файл key.jpg. Исходя из этого, можно предположить, что используется не пароль, а ключ-файл. При попытке подставить этот файл в качестве ключа для контейнера TrueCrypt сообщает о неверном пароле.



    Из чего можно сделать вывод, что ключ либо спрятан в файле key.jpg, либо удалён, либо key.jpg совсем не имеет отношения к зашифрованному диску. Проверим наиболее простую версию — файл удалён (логичное действие, если за вами вдруг пришли!).



    Восстанавливаем key-x.jpg и пробуем использовать его как ключ — виртуальный диск успешно монтируется!



    Поиск ключа к заданию

    На диске находится очень большое количество файлов (все — с расширением .jpg) и ключ, скорее всего, спрятан в одном из них. Попробуем проверить последние открытые файлы с таким расширением в системе, для этого необходимо зайти в реестр установленной ОС. Если жёсткий диск смонтирован на виртуальной машине, то достаточно выполнить команду regedit. Если нет, то необходимо подключить нужную часть реестра — hive.

    Для этого необходимо нажать File > Load Hive и выбрать X:\Users\JohnSmith\NTUSER.dat. Далее переходим по пути: Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.jpg



    Среди содержимого и указаны имена последних открытых файлов. Перебираем их и проверяем наличие ключа на изображении.
    Ключ оказался на изображении «Петр I на псовой охоте.jpg»



    И это ещё не всё!


    Впереди — разбор остальных заданий online-этапа NeoQUEST-2015 и ожидание яркого и солнечного (несмотря на то, что в Питере) мероприятия «NeoQUEST-2015». Участников ожидает напряжённая борьба длиной в 8 часов, а гостей — конкурсы, доклады, практические мастер-классы, подарки и общение с коллегами! Напоминаем, что для этого — всего пара шагов: пройти регистрацию и (для тех, кто не тут) купить билеты в Питер!
    НеоБИТ
    85,00
    Компания
    Поделиться публикацией

    Комментарии 0

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

    Самое читаемое