What if Histiaeus used WhatsApp?
Steganography is the practice of concealing the fact that a secret message is being sent as well as the contents of the message itself.
The first recorded uses of steganography can be traced back to 440 BC when Herodotus wrote his Histories. In one of them, Histiaeus sent a message by shaving the head of on of his servants, marking the message onto his scalp and then sending him on his way once his hair had regrown.
In this article, we will show some tools for hiding secret messages in plain sight.
Snow
Snow conceals messages in plain text. Main usage scenarios are described below.
# Pre-requisites
wget http://www.darkside.com.au/snow/jsnow.jar
# Conceal message in text file
echo "hello this is the input content" > in.txt
java -cp jsnow.jar Snow -C -m "this-is-the-hidden-message" -p "thePassword" in.txt out.txt
hexdump -C out.txt
cat out.txt
# Retrieve message from text file
hexdump -C out.txt
Steghide
Steghide allows secret messages to be concealed in JPEG, BMP, WAV and AU file formats.
Next, some sample snippets and screenshots are shown.
# Pre-requisites
sudo apt-get install steghide
# Store the secret message in the cover file (picture.jpg).
echo this-is-my-secret > secret.txt
steghide embed -cf picture.jpg -ef secret.txt
# Get information about the content in the cover file.
steghide info picture.jpg
# Extract secret the message in the cover file (picture.jpg)
steghide extract -sf picture.jpg -xf secret2.txt
# In case you forgot the password, steghidebf allows brute force using dictionary
# Download steghidebf.sh from https://gist.github.com/itseco/503970852ac47cd6a3b356590d824a2c
/root/steghidebf.sh ./FRONT_COVER.jpg /usr/share/wordlists/rockyou.txt
EyeD3
EyeD3 allows content to be concealed in MP3 files.
Most important sample snippets and screenshots are the following:
# Pre-requisites
pip install eyeD3
# Set MP3 attributes and add images
eyeD3 song.mp3 --artist TheArtist --title TheTitle --album TheAlbum --track 1 --comment TheComment --add-image ../FRONT_COVER.jpg:FRONT_COVER:TheFrontCover
# Show attributes and images cointained inside the MP3 file.
eyeD3 song.mp3
# Extract images the MP3 file to the img folder.
eyeD3 --write-images img ./song.mp3
Of course, messages can be hidden in almost any file format. It is up to you now to figure out how. Try it, share your experience and provide feedback!
If you still want more information, we encourage you to visit the stego-toolkit repository.
And... don't worry -- Histiaeus would have probably not used any of the previous tools. He would have used some App running on his mobile, such as Stegos (for Android devices) or Pictograph (for iOS devices). Notice, though, there is still plenty of room for improvement in this arena.