Если кратко, берем png картинку и шифруем ее с помощью парольной фразы.
Но самое главное, картинка останется в png формате и не превратится в какой-то бесполезный бинарник. А дальше её можно будет открыть и визуально посмотреть через любой просмотрщик файлов.
Правда в зашифрованном виде, но это не проблема если у тебя есть парольная фраза или файл-ключ.
А поможет нам в этом старый и добрый ImageMagic
Для начала мне понадобится изображение, в котором я буду шифровать пиксели. Давай его сгенерим:
convert wizard: bashdays.png
Эта команда создаст изображение bashdays.png с волшебником, который хуячит живопись. Выглядит это так: bashdays.png
Хорошо. Теперь нужно зашифровать это изображение. Выполняем команду:
echo 'пароль' | convert bashdays.png -encipher - -depth 8 png24:hidden.png
Получаем файл hidden.png с пикселями. Файл прекрасно открывается, но волшебника мы уже не видим. Лишь какой-то цветной шум. Выглядит это так.
Шифрование делаем через опцию encipher, в качестве аргумента эта опция принимает имя файла с парольной фразой. Дефис после encipher означает - стандартный ввод, который в данном случае указывает на канал «|».
Ну и дешифровка:
echo 'пароль' | convert hidden.png -decipher - restored.png
Если проебал пароль или ввел неправильно, получишь тот же набор цветных пикселей. Пароль восстановить увы не получится. Так что запиши на бумажку и повесь на монитор, как в лучших практиках ИБ.
Еще есть прикол, что изображение можно зашифровать с помощью ключа, например другого изображения.
convert bashdays.png -encipher key.gif result.png
В этом примере, key.gif это ключ для шифрования. Без этого файла расшифровать изображение уже не получится. Заебись? Заебись!
✔️ А какие нюансы?
Да, они есть. Некоторые форматы изображений, не поддерживают зашифрованные пиксели, например jpeg или gif. Поэтому прежде чем что-то шифровать, проверь что это получится расшифровать.
ImageMagick зашифровывает только пиксели, метаданные изображения остаются нетронутыми и читабельными для любых пользователей. Поэтому если что-то скрываешь, подчищай метаданные.
Шифрование идет через AES в режиме счетчика. Первая половина парольной фразы это одноразовый номер, вторая половина это ключ шифрования.
Если далёк от криптографии, то забей хуй, работает да и ладно.
Где можно применить?
Каждый сам решает зачем ему это нужно. Но знаю реальный случай, когда блекхэты публиковали в twitter подобные изображения.
Эти изображения можно было найти в поиске по-специальному тэгу. С помощью этих картинок, осуществлялась координация кибер-атак по всему миру.
По мне так, данный способ уматно использовать в каких-нибудь онлайн квестах, где нужно найти парольную фразу, а потом расшифровать изображение. Больше на ум (из легального) ничего и не приходит.
Изучай!
tags: #security
@ВАSНDАYS | BАSHDАYS.CОM