
Прячьте крутые штуки в изображениях :)
Blogpost: https://redteamer.tips/introducing-gg-aesy-a-stegocryptor/
ПРЕДУПРЕЖДЕНИЕ: возможно, потребуется восстановить пакеты NuGet и перезапустить Visual Studio перед компиляцией. Если кто-то знает, как избавиться от этой проблемы, напишите мне в личку.
Для начала настоятельно рекомендую всегда использовать GG-AESY в подробном или очень подробном режиме. Если вы не используете этот инструмент в неуправляемых загрузчиках, также рекомендую всегда указывать выходной файл.
Однако будьте осторожны с очень подробным режимом, особенно если вы скрываете большие полезные нагрузки, так как очень подробный режим выведет массив байтов на консоль.
Сказав это, давайте перейдем к руководству по этому малышу.
_______ _______ ___ _______ _______.____ ____
/ _____| / _____| / \ | ____| / |\ \ / /
| | __ | | __ ______ / ^ \ | |__ | (----` \ \/ /
| | |_ | | | |_ | |______| / /_\ \ | __| \ \ \_ _/
| |__| | | |__| | / _____ \ | |____.----) | | |
\______| \______| /__/ \__\ |_______|_______/ |__|
V1.0.0 от twitter.com/Jean_Maes_1994
Шифратор и (опционально) стеганография
Использование:
-h, -?, --help Показать справку
-e, --encrypt-only Только шифрование заданной полезной нагрузки
-d, --decrypt Режим расшифровки
--ps, --payload-size=VALUE
требуется только при извлечении полезной нагрузки из
изображения для расшифровки
--ef, --encrypted-file=VALUE
ШИФРОВАНИЕ: Выходной файл для зашифрованных данных
РАСШИФРОВКА: Входной файл, необходимый для
расшифровки полезной нагрузки.
-p, --payload=VALUE Путь к полезной нагрузке, которую вы хотите зашифровать
-o, --outfile=VALUE Путь к выходному файлу, куда будут записаны все
важные данные (ключ, IV и зашифрованная полезная
нагрузка)
-i, --image=VALUE Файл изображения для сокрытия ключа и/или IV,
в настоящее время поддерживается только формат
JPEG (JPG)!
--ok, --offset-key=VALUE
Смещение для поиска ключа в изображении (в
десятичном формате)
--okh, --offset-key-hex=VALUE
Смещение для поиска ключа в изображении (в
шестнадцатеричном формате)
--oIV, --offset-IV=VALUE
Смещение для поиска IV в изображении (в
десятичном формате)
--oIVh, --offset-IV-hex=VALUE
Смещение для поиска IV в изображении (в
шестнадцатеричном формате)
--op, --offset-payload=VALUE
Смещение для поиска полезной нагрузки в
изображении (в десятичном формате)
--oph, --offset-payload-hex=VALUE
Смещение для поиска полезной нагрузки в
изображении (в шестнадцатеричном формате)
-v, --verbose Вывод всей полезной информации на консоль,
рекомендуется всегда использовать этот режим.
--vv, --very-verbose Вывод массива зашифрованной полезной нагрузки на консоль
-k, --key=VALUE Если вы хотите использовать свой собственный ключ!
--IV, --initialization-vector=VALUE
Если вы хотите использовать свой собственный IV
--rk, --random-key-mode
Позволяет скрыть ключ в случайной точке вставки
в предоставленном изображении, не повреждая его.
Выводит смещение на консоль
--ra, --random-all-mode
Позволяет скрыть как ключ, так и IV в случайной
точке вставки изображения.
--ak, --append-key-mode
Позволяет скрыть ключ в конце файла изображения
--aa, --append-all-mode
Позволяет скрыть ключ и IV в конце файла
изображения.
--ap, --append-payload-mode
Позволяет скрыть полезную нагрузку в конце файла
изображения
--rp, --random-payload-mode
Позволяет скрыть полезную нагрузку в случайной
точке вставки.
--apu, --append-payload-unencrypted
Добавляет полезную нагрузку без шифрования,
полезно для быстрой и грязной эксфильтрации данных.-e или --encrypt-only: Только шифрует заданную полезную нагрузку (-p). При использовании подробного режима выводит ключ/IV на консоль; при использовании флага выходного файла (-o) записывает ключ/IV/полезную нагрузку в выходной файл; и, наконец, при использовании флага зашифрованного файла (-ef) записывает поток байтов в другой файл.
-d или --decrypt: Режим расшифровки. Вы можете указать параметры расшифровки, используя смещения (если вы спрятали ключ или ключ и IV в JPEG). Смещения передаются программе с помощью флагов offset-key (-ok) или offset-key-hex (-okh). В качестве разделителей можно использовать «-» или просто вставлять шестнадцатеричное значение без разделителей — оба варианта работают. IV работают аналогично с флагами -oIV и -oIVh.
В качестве альтернативы можно указать IV и ключ напрямую (если они не спрятаны в JPEG) с помощью флагов key (-k) и initialization-vectors (-IV). Как и в случае с флагами смещения, «-» можно использовать в качестве разделителя; GG-AESY принимает как ASCII, так и байтовые значения.
Для расшифровки также необходимо указать зашифрованный файл (-ef).
Если вы спрятали полезную нагрузку в JPEG и хотите ее расшифровать, вам нужно указать размер полезной нагрузки (-ps), чтобы GG-AESY правильно извлек все данные без ложных срабатываний/ложных отрицаний :).
-u или --unpack: Распаковывает незашифрованные добавленные полезные нагрузки (режим =apu) из JPEG.
Если ключ/IV не указаны, для шифрования данных будут использоваться случайные ключ/IV. Все режимы стеганографии требуют передачи GG-AESY изображения в формате JPEG (-i). Если вы указали выходной файл (-o) для сохранения важной информации о шифровании (такой как ключ, IV, полезная нагрузка), все режимы стеганографии также добавят места вставки в этот файл.
-rk или --random-key-mode: Этот режим стеганографии скрывает ваш ключ AES-256 в случайной точке вставки.
-ra или --random-all-mode: Этот режим стеганографии скрывает как ваш ключ AES-256, так и IV в случайной точке вставки. Обе точки вставки могут совпадать (это случайный процесс выбора); в этом случае ключ и IV будут вставлены друг за другом.
-ak или --append-key-mode: Этот режим стеганографии добавляет ключ AES-256 в конец JPEG.
-aa или --append-all-mode: Этот режим стеганографии добавляет как ключ AES-256, так и IV в конец JPEG.
-ap или --append-payload-mode: Этот режим стеганографии добавляет поток байтов зашифрованной полезной нагрузки в конец JPEG.
-rp или --random-payload-mode: Этот режим стеганографии вставляет поток байтов зашифрованной полезной нагрузки в случайную точку вставки. ВНИМАНИЕ: Это работает только в том случае, если размер вашей полезной нагрузки не превышает 65 535 байт (около 65 КБ). Если вы попробуете загрузить больший объем, будет выдана ошибка. Излишне говорить, что этот режим практически бесполезен :).
-apu или --append-payload-unencrypted: Этот режим стеганографии добавляет поток байтов полезной нагрузки как есть в конец JPEG.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Этот инструмент находится на стадии РАННЕЙ БЕТЫ. Он еще не прошел боевые испытания, поэтому, пожалуйста, предлагайте улучшения через PR или сообщайте об ошибках. Однако из-за моей текущей загруженности активная разработка этого инструмента с моей стороны в настоящее время невозможна.
Это не значит, что я отказываюсь от этого проекта :).