Over the last couple of months, I have been developing an online image Steganography tool designed to combine and enhance the features of other separate tools. It’s open-source and due to the nature of Angular, it’s easy to add to.
First navigate to the site below:
Online Image Steganography Tool for Embedding and Extracting data through LSB techniques.
Once there, upload your image:
You’ll then be redirected to the image homepage.
From here, you are presented with the available options. Some images may also present you with different panels — for example, if a PNG has a custom bitmap, the bitmap explorer/randomizer panel will be displayed.
At the moment, the only other GUI tool for LSB data extraction/bit plane browsing available (that I know of) is Stegsolve, but it’s impossible to contribute to the code, and is now completely unmaintained.
Current Feature List
- View R/G/B/A planes individually
- XOR the image
- Remove Transparency from the image
- Randomize the colour palette/bitmap (if exists)
- Browse through all RGBA bit planes
- View all strings in the image
- Extract all RGBA values
- View PNG chunk info
- Extract LSB data at any bit pattern
- Embed LSB data at any bit pattern
- Embed a black and white image inside of a bit plane
On the site, you can also find a checklist/cheatsheet for solving image stego challenges (here). Although the steps may not always solve challenges, they will almost always help you get started.
Extracting/Embedding LSB Data
Whilst most LSB tools are confusing and difficult to use, StegOnline’s GUI makes the process easy. Once you’ve uploaded your image and navigated to the Embed/Extract pages, you’ll see a table with various options:
Choose any bit pattern, and change any settings shown. When it comes to extracting the data, simply put back in the exact same settings.
If the image is too small for the requested data, a warning will be shown.
Try it out
If you want to test the site, here are some example challenges that are taken care of by this tool:
- HTB: Flag in bit plane
- Pragyan CTF: Remove Transparency
- Custom: Extract LSB Data (hidden in RGB planes 0)
- PlaidCTF: Hidden in colour palette (randomize until each part is visible)
If you want to solve one yourself, try to find the two flags in the below image:
Thanks for reading!