Введение
Рад приветствовать дорогих читателей! В этой статье я продолжу рубрику “Открытый код”, в которой обозреваю различные программы с открытым кодом, направленные на безопасность в сети. В этой статье затронем эффективный инструмент для стеганографии и богатую функциями систему для передачи файлов.Дисклеймер: Все данные предоставленные в данной статье, взяты из открытых источников. Не призывают к действию и являются только лишь данными для ознакомления, и изучения механизмов используемых технологий.
Stega Shade CLI
Что это?
Stega Shade CLI - это удобный инструмент интерфейса командной строки, предназначенный для стеганографии на основе изображений. С акцентом на простоту и безопасность, он обеспечивает функциональность для кодирования и декодирования сообщений в изображения, включая защищенное паролем кодирование для повышения конфиденциальности. Инструмент создан с использованием Python и использует надежные алгоритмы для обеспечения целостности и секретности данных.Установка и использование
Метод установки достаточно прост, ставим как модуль в Python:
Код:
pip install stegashade
- Простая стеганография: Кодирование и декодирование сообщений в изображения без необходимости в дополнительных слоях безопасности. Идеально подходит для повседневного использования.
- Защищенная стеганография: Кодирование с защитой паролем гарантирует, что только авторизованные пользователи могут декодировать скрытое сообщение. Использует шифрование AES для надежной безопасности.
Код:
stegashade encode_simple input.png output.png "Hello, world!"
Для расшифровки используем следующую команду в которой указываем файл из которого нужно расшифровать сообщение:
Код:
stegashade decode_simple output.png
Защищённый способ стеганографии подразумевает использование пароля, для этого используем следующую команду:
Код:
stegashade encode_protected input.png output.png "Secret Data" "my_secure_password"
Код:
stegashade decode_protected output.png "my_secure_password"
Инструмент особенно удобен для автоматизации процессов стеганографии, к примеру можно написать скрипт на Bash, который будет разбивать шифруемое предложение на отдельные слова и шифровать каждое слово отдельно в картинку. К примеру такой:
Код:
#!/bin/bash
# Проверка наличия stegashade
if ! command -v stegashade &> /dev/null; then
echo "Ошибка: stegashade не установлен или не добавлен в PATH."
exit 1
fi
# Функция для кодирования каждого слова в отдельное изображение
encode_words() {
if [ $# -lt 3 ]; then
echo "Использование: $0 encode <базовое_изображение> <префикс_выходного_файла> \"<предложение>\""
exit 1
fi
base_image="$1"
output_prefix="$2"
sentence="$3"
if [ ! -f "$base_image" ]; then
echo "Ошибка: файл '$base_image' не существует."
exit 1
fi
# Разбиваем предложение на слова
IFS=' ' read -ra words <<< "$sentence"
echo "Кодирование каждого слова в отдельное изображение..."
for i in "${!words[@]}"; do
word="${words[$i]}"
output_image="${output_prefix}_$i.png"
stegashade encode_simple "$base_image" "$output_image" "$word"
if [ $? -eq 0 ]; then
echo "Закодировано: '$word' → $output_image"
else
echo "Ошибка при кодировании слова '$word'"
fi
done
echo "Готово! Все слова закодированы в изображения с префиксом '$output_prefix'"
}
# Функция для массового декодирования всех изображений с префиксом
decode_all_words() {
if [ $# -lt 1 ]; then
echo "Использование: $0 decode <префикс_изображений>"
echo "Пример: $0 decode 'crypt' (расшифрует crypt_0.png, crypt_1.png, ...)"
exit 1
fi
prefix="$1"
found=0
reconstructed_sentence=""
echo "Поиск и декодирование изображений с префиксом '$prefix'..."
# Ищем все файлы вида prefix_*.png
for image in "${prefix}_"*.png; do
if [ -f "$image" ]; then
found=1
echo "Декодирование $image..."
decoded_word=$(stegashade decode_simple "$image")
if [ $? -eq 0 ]; then
echo "→ $decoded_word"
reconstructed_sentence+="$decoded_word "
else
echo "Ошибка при декодировании $image"
fi
fi
done
if [ $found -eq 0 ]; then
echo "Изображения с префиксом '${prefix}_*.png' не найдены."
else
echo "Восстановленное предложение:"
echo "$reconstructed_sentence"
fi
}
# Основной код
case "$1" in
encode)
shift
encode_words "$@"
;;
decode)
shift
decode_all_words "$@"
;;
*)
echo "Использование:"
echo " Кодирование: $0 encode <базовое_изображение> <префикс_выхода> \"<предложение>\""
echo " Декодирование: $0 decode <префикс_изображений>"
echo "Примеры:"
echo " $0 encode input.png crypt \"Это тестовое предложение\""
echo " $0 decode crypt"
exit 1
;;
esac
Таким образом можно экспериментировать сколько угодно, в этом вашим ограничением будет только фантазия!
Goshs
Что это?
Goshs — это простая, но в то же время богатая функциями система передачи файлов, написанная на языке Go. Она представляет собой альтернативу Python-скрипту SimpleHTTPServer, позволяя пользователям загружать и скачивать файлы через HTTP/S с поддержкой как самоподписанных, так и пользовательских сертификатов, а также базовой аутентификации.Установка и использование
В дистрибутиве Kali Linux этот инструмент можно установить при помощи команды:
Код:
sudo apt install goshs
Как можем видеть, в веб-интерфейсе отображается всё содержимое нужной папки и можно даже обмениваться сообщениями в простом формате или какими-то комментариями.
Для вывода в глобальную сеть, достаточно иметь ssh и воспользоваться следующей командой:
Код:
ssh -R 80:localhost:8000 ssh.localhost.run
Минусом такого метода будет являться то, что ссылка периодически будет меняться, но из этого минуса вытекает и плюс, т.к это и добавляет больше безопасности. Ссылку можно скопировать после фразы tunneled with tls termination или просто навестись на QR.
Как видим ссылка работает и плюсом добавляется трафик HTTPS, поэтому если нужно экстренно передать файлы из точку А в точку Б, этот инструмент отлично справиться с задачей!