Post

Steganography - A list of useful tools and resources

Image 1

Steganography

Steganography is the practice of hiding a file or a message inside another file. Many fun steganography CTF challenges hide flags within images, audio files, or other types of files. Below is a list of useful tools and resources for steganography challenges.

Tools

Steghide

Steghide is a steganography program that hides data in various kinds of image and audio files. It supports the following file formats: JPEG, BMP, WAV, and AU. It’s also useful for extracting embedded and encrypted data from other files.
It can be installed with apt, and the source can be found on GitHub.

Useful commands:

  • steghide info file: Displays info about a file whether it has embedded data or not.
  • steghide extract -sf file: Extracts embedded data from a file.

Foremost

Foremost recovers files based on their headers, footers, and internal data structures. It’s especially useful when dealing with PNG images. It can be installed with apt, and the source can be found on GitHub.

Useful commands:

  • foremost -i file: Extracts data from the given file.

Exiftool

Exiftool is helpful for viewing the metadata of files, which can sometimes contain important hidden information. You can get it from here.

Useful commands:

  • exiftool file: Shows the metadata of the given file.

Exiv2

Exiv2 is similar to Exiftool and can also show image metadata. It can be installed with apt, and the source can be found on GitHub.
Official website

Useful commands:

  • exiv2 file: Shows the metadata of the given file.

Binwalk

Binwalk searches binary files, like images and audio files, for embedded files and data. It can be installed with apt, and the source can be found on GitHub.

Useful commands:

  • binwalk file: Displays embedded data in the given file.
  • binwalk -e file: Displays and extracts data from the given file.

Zsteg

Zsteg detects hidden data in PNG and BMP files. Install it using: gem install zsteg. The source can be found on GitHub.

Useful commands:

  • zsteg -a file: Runs all methods on the given file.
  • zsteg -E file: Extracts data from the given payload (e.g., zsteg -E b4,bgr,msb,xy name.png).

Stegsolve

Stegsolve is a Java tool that applies color filters to images, which can be useful for detecting hidden messages. You can get it from GitHub.

Strings

Strings is a Linux tool that displays printable strings in a file. It can be very helpful when solving stego challenges, as embedded data is sometimes in plain text within the file.

Useful commands:

  • strings file: Displays printable strings in the given file.

Wavsteg

WavSteg is a Python3 tool that can hide data and files in WAV files and can also extract data from WAV files. You can get it from GitHub.

Useful commands:

  • python3 WavSteg.py -r -s soundfile -o outputfile: Extracts data from a WAV sound file and outputs the data into a new file.

Sonic Visualizer

Sonic Visualizer is a tool for viewing and analyzing the contents of audio files. It can reveal hidden shapes in audio files. Official Website

Web Tools

Unicode Text Steganography

Unicode Text Steganography is a web tool that can encode and decode text for unicode steganography.

npiet Online

npiet online is an online interpreter for Piet. Piet is an esoteric language where programs are images.

dcode.fr

dcode.fr is useful for decoding text in various ciphers, which can be helpful for steganography challenges.

Bruteforcers

StegCracker

StegCracker tool that bruteforces passwords using steghide.

Fcrackzip

Sometimes the extracted data is a password protected zip. This tool bruteforces zip archives.
It can be installed with apt, and the source can be found on GitHub.

Useful commands:

  • fcrackzip -u -D -p wordlist.txt file.zip : bruteforces the given zip file with passwords from the given wordlist.

Challenges

Some platforms to solve stego challenges:

This post is licensed under CC BY 4.0 by the author.