
Прячьте крутые штуки в изображениях :)
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 в случайной точке вставки.