DIY Steganography: a simple method to hide secret messages in your tweets

In the past we have discussed many times on the adoption of steganography to hide messages within images and video, a technique exploited also by authors of malware to hide configuration file and command sent by the C&C servers to bots.

This time I desire to discuss the possibility to hide secret messages in apparently harmless and normal tweets with a simple steganographic method. This post describes how to hide secret messages in user’s tweets (or any text) with steg-of-the-dump.js

The technique is based on the replacement of the letters of the tweet with similar looking letters (Unicode homoglyphs) that are used to hide the hidden content.

Be aware because the technique just allows you to hide messages inside a clear content, it doesn’t encrypt the text and this means that if a third party has access to the message and knows about the hidden messages these could easily be read.

The technique shown is valid for any communication platform that doesn’t corrupt the message, for example, inserting extra code, this means that this application of steganography works for Twitter and in emails, meanwhile Facebook might corrupt it.

The hidden message may only contain only the following subset of characters ;

abcdefghijklmnopqrstuvwxyz123456789'0.:/\%-_?&; (6-bit charset)

The post provides an implementation of the script used to hide the text in the tweets, it allows simply encoding and decoding the messages.

Steganography Twitter hiden messages

The post also provides a suggestion to try to manually recover corrupted tweets, first try adding spaces at the beginning of the message to realign the 6-bit boundary, another possibility is to add the spaces to that area of the tweet that is suspected to be corrupted.

A possible use for this king of steganography is hiding commands sent by C&C making them hard to be detected by a simple visual inspection of the tweets. Consider that a growing number of botnet today makes use social media platform as communication channel to avoid detection.

Enjoy your use of the library!



You may also like...

Leave a Reply