Pic stego — различия между версиями

Материал из InformationSecurity WIKI
Перейти к: навигация, поиск
м
м
Строка 69: Строка 69:
  
 
Лично я сделал со StegSolve, речь о котором пойдет в конце страницы.
 
Лично я сделал со StegSolve, речь о котором пойдет в конце страницы.
 +
 +
===Разноцветные пиксели===
 +
 +
====Пиксели двух цветов====
 +
 +
Если у вас предоставлено изображение с пикселями двух цветов, то первое что попробуем сделать - это перевести пиксели в байты.
 +
 +
Приведу пример с прошедших соревнований Break In CTF 2016 - таск You Can(t) See Me.
 +
 +
Нам дана картинка color.png:
 +
[[File:Color.png]]
 +
 +
Последовательность действий:
 +
    1. Пишем программу на Python+PIL/Pygame, которая проходит по строкам и создает свою строку f, в которой заменяет черный пиксель
 +
    на 0 и красный пиксель на 1. Стоит заметить что при переходе на новую строку пикселей во время считывания, мы добавляем пробел в
 +
    нашу строку f. В итоге получаем строку из 7 разных повторяющихся цифр.
 +
    2. Идем на сайт https://www.branah.com/ascii-converter и вбиваем нашу строку в поле "Binary" и тыкаем на "Convert".
 +
    Видим в поле "ASCII" текст
 +
    "3xXKkFstTUpsG2IFDirE6xDrcAF8DSx4iWxd5f9IQ9T205izN8lS2MQUlsF11gT4TFXHHlLHVHprNTtrh6lURfdUW7Lpuzgu1VKzwb1bg1oq6Ae3GnykkLZZsnze3HVLxHlfCYtzyrcV2Oxp0Gb0Z2ELphR4Oxo7TyvHCuWKWlN8t8KIfHysZK7jBNPu6wRVEUPIwVra."
 +
    4. Флаг найден!

Версия 18:28, 26 января 2016

В этой статье мы поговорим о способе определения метода сокрытия информации в изображениях.

PNG/BMP изображения

Нам дано изображение. Попробуем по некоторым факторам определить, как нам решить этот таск.

Монотонное изображение

Стеганография с водяными знаками

Если вам дали монотонное изображение, то чаще всего в ней находятся водяные знаки.

Водяные знаки

Чтобы узнать, есть ли на ней водяные знаки, есть несколько вариантов

Painter

Самый простой вариант - открыть изображение в Painter (или любом другом редакторе изображений).

Решение с Painter

Далее заливкой тыкнуть каким-нибудь контрастным цветом. В данном случае лучше всего белым.


Решено с Painter

Информация об изображении

В некоторых программах-просмотрах картинок есть статистика по цветам/пикселям.

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

(Картинка)

На этом этапе суть в том, чтобы определить следующий этап:) Тут может быть как морзянка, так и бинарный код (1001010).

Другое

Есть еще утилиты, помогающие в поиске водяных знаков, такая как StegSolve. Их мы рассмотрим в соответствующей теме.


Обыкновенное изображение

пиксел Нам дано обыкновенное ничем не выделяющееся изображение. StegoXORimage.png

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

Тут нам следует найти оригинал изображения.

Поиск оригинала изображения

Для этого есть несколько способов.

Сретства для поиска изображений:

    https://images.google.com/
    https://yandex.ru/images/

Воспользуемся google поиском:

SearchStegoOriginal.png


Находим в картинках изображение такого же размера и скачиваем его.

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

Лично я сделал со StegSolve, речь о котором пойдет в конце страницы.

Разноцветные пиксели

Пиксели двух цветов

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

Приведу пример с прошедших соревнований Break In CTF 2016 - таск You Can(t) See Me.

Нам дана картинка color.png: Color.png

Последовательность действий:

    1. Пишем программу на Python+PIL/Pygame, которая проходит по строкам и создает свою строку f, в которой заменяет черный пиксель
    на 0 и красный пиксель на 1. Стоит заметить что при переходе на новую строку пикселей во время считывания, мы добавляем пробел в
    нашу строку f. В итоге получаем строку из 7 разных повторяющихся цифр.
    2. Идем на сайт https://www.branah.com/ascii-converter и вбиваем нашу строку в поле "Binary" и тыкаем на "Convert".
    Видим в поле "ASCII" текст 
    "3xXKkFstTUpsG2IFDirE6xDrcAF8DSx4iWxd5f9IQ9T205izN8lS2MQUlsF11gT4TFXHHlLHVHprNTtrh6lURfdUW7Lpuzgu1VKzwb1bg1oq6Ae3GnykkLZZsnze3HVLxHlfCYtzyrcV2Oxp0Gb0Z2ELphR4Oxo7TyvHCuWKWlN8t8KIfHysZK7jBNPu6wRVEUPIwVra."
    4. Флаг найден!