Добро пожаловать на BlackSAMP - ФОРУМ

  • Приватные и секретные разделы доступны только зарегистрированным пользователям.

    Вся важная информация в нашем ТГ: t.me/gtablack

    На данном форуме запрещено публиковать контент нарушающий Российское законодательство, за это последует блокировка ФА.

Гайд скрываем все что можно и нельзя в картинке

DarkPhantom

Активный
Администратор
Регистрация
18 Авг 2024
Сообщения
93
Решения
2
Реакции
27
Баллы
28
Всем привет, расскажу вам про стеганографию и как прятать информацию в любых файлах.
Что такое стеганография ?
Стеганогра́фия — способ передачи или хранения информации с учётом сохранения в тайне самого факта такой передачи. Этот термин ввёл в 1499 году аббат бенедиктинского монастыря Святого Мартина в Шпонгейме Иоганн Тритемий в своём трактате «Стеганография», зашифрованном под магическую книгу. В отличие от криптографии, которая скрывает содержимое тайного сообщения, стеганография скрывает сам факт его существования.

Мы будем прятать скрипт .sh в изображении
Вот код:
Bash:
#!/bin/bash

echo "Hello world"
Вот картинка
th-683933209.jpeg
А вот структура проекта:
pr.png
Для сокрытия мы будем использовать библиотеку stegano .
Установка займет 5-15 секунд.

Приступим к написанию скрипта.
Python:
#!/usr/bin/python3

from stegano import lsb
import argparse

def hide_script(script, image, hidden_content):
    with open(script) as file:
        content = file.read()

    sec_image = lsb.hide(image, content)
    sec_image.save(hidden_content)
    print(f"[+] Image saved as {hidden_content}")

def reveal_script(image):
    hidden_content = lsb.reveal(image)

    if hidden_content is None:
        print("[-] No hidden content.")
        return

    with open("out_script.sh", "w") as file:
        file.write(hidden_content)
    print("[+] Script revealed and saved")


def main():
    parser = argparse.ArgumentParser(description=None)# Описание можете поставить свое

    parser.add_argument('image', type=str, help="Path to image")
    parser.add_argument('--bash', type=str, help="Path to bash script")
    parser.add_argument('--out', type=str, help="New Image")

    args = parser.parse_args()
    
    if args.bash and args.out:
        hide_script(args.bash, args.image, args.out)
    elif args.image:
        reveal_script(args.image)

if __name__ == "__main__":
    main()
Из кода нам нужны 2 метода hide_script и reveal_script
Что они делают ?
Рассмотрим hide_script.
Python:
# Открывает файл и записывает его содержимое в переменную content
with open(script) as file:
        content = file.read()

# Скрывает контент в изображении
sec_image = lsb.hide(image, content)
# Сохраняет новое изображение со скрытым контентом
sec_image.save(hidden_content)
print(f"[+] Great! Image saved as {hidden_content}")
Python:
# Получает скрытый контент
hidden_content = lsb.reveal(image)

# Если скратого контента нет , то выводит сообщение и завершает функцию
if hidden_content is None:
    print("[-] No hidden content found in the image.")
    return

# Открывает скрипт для записи и записывает скрытое содержимое
with open("out_script.sh", "w") as file:
    file.write(hidden_content)
    print("[+] Script revealed and saved as out_script.sh")
 

DarkPhantom

Активный
Администратор
Регистрация
18 Авг 2024
Сообщения
93
Решения
2
Реакции
27
Баллы
28
Скрыть
./steg.py th-683933209.jpeg --bash script.sh --out new.png
Достать
./steg.py new.png
 
Сверху Снизу