I . What is Aperi'Solve?
Aperi'Solve is a platform which performs layer analysis on image.
The platform also uses "zsteg", "steghide", "exiftool", "binwalk" and "strings" for deeper steganography analysis.
II . Why Aperi'Solve
Aperi'Solve has been created in order to have an "easy to use" platform which performs common steganalysis tests such as LSB or
steghide. The platform and Dockerfile are also a quick alternative for people who didn't manage to install
zsteg (ruby gem) properly.
III . Features
Aperi'Solve is based on Python3 with Flask and PIL module, the platform currently supports the following images format:
The platform allow you to:
- Visualise each bit layer of each channel for a given image (ie. LSB of Red channel).
- Browse and Download each bit layer image.
zsteginformations such as text encoded on LSB
zstegfiles such as mp3 encoded on LSB
steghidefiles using a defined password
exiftoolinformations such as geolocation or author
binwalkfiles such as zip in png headers
IV . Application
The Aperi'Solve platform is a Flask (python 3.7) application. The source code is located into the
/data folder. The platform has been split as follows:
- app.py : Contains web routes and main application variables
- stega.py : Contains steganography functions. Layer decomposition is performed with numpy.
- appfunct.py : Contains functions used in both app.py and stega.py.
- /templates : index.html (html view)
- /uploads : Uploaded images and working directory for steganography tools
V . Installation with Docker
A Dockerfile is provided in
/build/flask and a
docker-compose.yml is available at root directory.
- Download the repository:
git clone https://github.com/Zeecka/AperiSolve.git
Configure docker-compose.yml if needed (ie. change
80is already used).
Pull, Build, Run:
docker-compose pull docker-compose build docker-compose up
- Access to the web platform and enjoy ! (usually
VI . Manual Installation (not recommanded)
As said in the beginning of this file, some of theses tools such as zsteg and exiftool may not be easy to install. Aperi'Solve has been created to package installation in docker container / provide a web access to the platform. If you still want to install the dependencies by yourself, here are the requirements:
- Install python and pip (version 3.7+)
apt install python3-dev
- Install python requirements (PIL, Numpy, ...):
cd build/flask/ pip3 install -r requirements
apt install ruby ruby-dev
gem install zsteg --no-ri --no-rdoc
apt install steghide
apt install perl libimage-exiftool-perl
apt install p7zip
- Implement Foremost ?
- Implement PNGcheck ?
- Implement stegoVeritas ?