0% found this document useful (0 votes)
301 views28 pages

Image Steganography Project

The document discusses image steganography and tools for performing it in Kali Linux. It begins with an abstract and introduction to steganography and image steganography techniques. It then provides overviews of the steganography tools Steghide and OpenPuff in Kali Linux, explaining how they work and how to use them to hide information in images. It concludes by discussing the advantages and limitations of image steganography, as well as applications and challenges in the field.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
301 views28 pages

Image Steganography Project

The document discusses image steganography and tools for performing it in Kali Linux. It begins with an abstract and introduction to steganography and image steganography techniques. It then provides overviews of the steganography tools Steghide and OpenPuff in Kali Linux, explaining how they work and how to use them to hide information in images. It concludes by discussing the advantages and limitations of image steganography, as well as applications and challenges in the field.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Ministry of Higher Education

University of Technology and Applied Sciences

Course: Ethical hacking

Course Project Assignment


Image Steganography Program

Submitted by
Alzahraa Ali Alzaabi
Hamdah adim alhajri

Year
2023
Abstract
Steganography is the art and science of hiding information in plain sight. Image
steganography is a specific type of steganography that uses images as the cover
medium to conceal secret data. In this report, we present an overview of
steganography and image steganography techniques, and we demonstrate how to
use some tools in Kali Linux to perform image steganography. We also discuss the
advantages and limitations of image steganography, and some applications and
challenges in this field.

Key words
Steganography, Image steganography, OpenPuff, steghide, video Steganography,
hacking, kali Linux, hiding information
Contents
Abstract .....................................................................................................................2
Key words .................................................................................................................2
Contents ....................................................................................................................3
Steganography ..........................................................................................................4
Introduction ............................................................................................................4
Steganography Types .............................................................................................4
Image Steganography ..............................................................................................6
Introduction ............................................................................................................6
How Image steganography tools works .................................................................7
Detecting Image steganography .............................................................................7
Image steganography Tools in Kali Linux .............................................................8
Steghide tool............................................................................................................13
Introduction ..........................................................................................................13
Steghide tool features ...........................................................................................13
Using Steghide .....................................................................................................14
Steghide Installation and Running .......................................................................15
Verbose Mode ......................................................................................................19
Compression Mode ..............................................................................................20
Conclusion...............................................................................................................21
References ...............................................................................................................27
Steganography

Introduction
Steganography is the practice of hiding secret information within non-secret data,
such as images, audio files, or text. Steganography's objective is to make the secret
message difficult to identify by disguising its existence. This contrasts with
cryptography, which aims to render a communication incomprehensible to those
who lack the necessary key to decrypt it.

Steganography Types
The main types of steganography techniques are [1]:
• Image steganography: Hiding secret messages in images. It is the most
popular steganography technique. Messages are hidden by modifying pixel
values or bits of the image.
• Audio steganography: Concealing data in audio files like MP3s. It hides
messages by modifying the sample values or changing the audio spectrum of
the file.
• Text steganography: Hiding secret text in other text documents. It uses
techniques like spacing modification, font selection, text formatting,
synonyms, etc. to hide messages.
• Video steganography: Embedding hidden data in video files. It modifiespixel
values, compression techniques or uses spatial domain methods to hide
information in videos.
• Network steganography: Hiding data in network protocols and packets. It
uses flaws and ambiguities in protocols to conceal secret communications.
Things like packet headers, TCP sequence numbers, etc. are modified.
• Storage steganography: Hiding data in storage devices at a physicallayer. It
embeds information on hard drives, USB drives, CDs/DVDs by modifying
properties like disk geometry, noise patterns, etc.
• Linguistic steganography: Using natural language techniques to hide
meaning.It employs synonym substitution, anagram formation, null cipher,
subliminal messages, etc. to conceal secret communications in plain text.
• CD/DVD steganography: Modifying physical properties of CDs/DVDs like
discgeometry, noise patterns, etc. to hide data on optical storage media. data
is encoded in the manufacturing process itself.
• USB steganography: Embedding hidden data on USB flash drives by
modifying properties like free space, file slack space, master boot record,
etc.
• Rootkit steganography: Using rootkit techniques to hide files,
processes,network activity and other artifacts to conceal the existence of
covert communications.
These are some of the most popular and well-known steganography techniques.
Image Steganography

Introduction
Image steganography is a technique of hiding secret data within an image while
maintaining the confidentiality and integrity of the message. In this technique, the
secret data is concealed in a cover image in such a way that it is not visible to the
human eye. The cover image can be an image in any format such as JPEG, PNG,
BMP, or GIF.
The process of image steganography involves embedding the secret data into the
cover image by subtly modifying its pixels, without affecting the visual quality of
the cover image. This can be done by using different techniques such as Least
Significant Bit (LSB) insertion, Spread Spectrum method, and many others. Once
the secret data is embedded, the modified image can be transmitted to the recipient
over a network, where it can be extracted from the image by the recipient, who
knows the secret key used for encryption.
The applications of Image steganography mainly involve keeping the data secret
and confidential such as in military or intelligence operations, secure
communication, or watermarking applications to protect intellectual property
rights. It is important to ensure the security of the secret data as unauthorized
access to it can lead to information theft or loss of sensitive information.
How Image steganography tools works
Image steganography tools work by embedding secret data within an image file.
There are different techniques used for image steganography, but one common
technique is the Least Significant Bit (LSB) method. In this method, the tool
modifies the least significant bits of the pixel values in the image to encode the
secret data.
For example, let's say the user want to hide a secret message within a JPEG image
file. The image steganography tool would first convert the message into binary
format. It would then identify the least significant bits of the pixel values in the
image and replace them with the bits of the message. Since the least significant bits
of the pixel values are typically not very important for the overall appearance of
the image, this modification will generally not be noticeable to the human eye.
To decode the message, the receiver would use another steganography tool that
knows the encoding method used by the sender. The tool would read the least
significant bits of the pixel values in the image and extract the hidden message.
Of course, there are many other techniques and methods used by image
steganography tools, but the basic idea is to embed hidden data within an image in
a way that is not easily detectable [2].

Detecting Image steganography


Detecting image steganography can be a challenging task, as the goal of
steganography is to conceal the existence of the hidden information. However,
there are some techniques that can be used to detect image steganography.
One common technique for detecting image steganography is to analyze the
statistical properties of the image. Steganography can introduce small changes in
the image that may not be noticeable to the human eye, but can be detected through
statistical analysis. For example, the distribution of pixel values in the image may
be altered by the steganography process, which can be detected by analyzing the
distribution of pixel values in the image.

Another technique for detecting image steganography is to look for hidden


messages using specialized software tools. These tools can analyze the image file
and search for hidden data using various known steganography algorithms and
techniques.
Additionally, some image steganography tools may leave behind traces that can be
detected. For example, some tools may introduce a specific pattern or signature in
the image file that can be identified as being associated with steganography.
It's worth noting, however, that detecting image steganography can be difficult and
may require specialized tools and expertise. Additionally, there is always the
possibility that new and improved steganography techniques will be developed that
are more difficult to detect [3].

Image steganography Tools in Kali Linux


Kali Linux is a popular penetration testing and security auditing Linux distribution
that comes with a wide range of tools for various purposes, including image
steganography.
Here are some image steganography tools that are available in Kali Linux:
• Steghide: Steghide is a command-line tool used for hiding data in various
kinds of image files. It supports a wide range of image formats, including
BMP, GIF, JPEG, and PNG. You can install Steghide in Kali Linux by
running the command "apt-get install steghide".
• OutGuess: OutGuess is another command-line tool used for hiding data in
image files. It supports various image formats, including JPEG, BMP, and
PNG. You can install OutGuess in Kali Linux by running the command "apt-
get install outguess".
• Steganabara: Steganabara is a graphical user interface (GUI) tool used for
image steganography. It supports various image formats, including BMP,
GIF, JPEG, and PNG. You can install Steganabara in Kali Linux by running
the command "apt-get install steganabara".
• OpenStego: OpenStego is another GUI tool used for image steganography. It
supports various image formats, including BMP, GIF, JPEG, and PNG. You
can install OpenStego in Kali Linux by running the command "apt-get install
openstego".
These are just a few examples of the image steganography tools available in Kali
Linux. There are many other tools available, depending on needs and requirements.
In our Report we will talk about Steghide tool.
Video steganography

Introduction
Video steganography is the practice of hiding secret information within a video
file. This technique involves embedding the secret message within the video data
itself in a way that is not immediately noticeable to the viewer. Video
steganography is often used for covert communication or to protect sensitive data
from being detected or intercepted.
There are several techniques for implementing video steganography, including
LSB (Least Significant Bit) substitution, which involves replacing the least
significant bit of each pixel in the video stream with a bit from the secret message.
Another technique is called the spread spectrum method, which involves spreading
the secret message across multiple frames in the video stream.
One of the challenges of video steganography is ensuring that the hidden message
does not significantly alter the quality of the video, as this can make the presence
of the hidden message more obvious. Additionally, the technique must be robust
enough to withstand common video compression techniques without losing the
hidden message.
Video steganography has both legitimate and illegitimate uses, and it is important
to use it responsibly and ethically. It can be used to protect the privacy of sensitive
data, but it can also be used for illegal activities, such as hiding copyrighted
material or transmitting malicious code.
video steganography tools
Kali Linux is a popular Linux distribution that is widely used by security
professionals and enthusiasts for penetration testing, network analysis, and ethical
hacking. Kali Linux comes preloaded with a variety of tools for video
steganography and other forms of digital forensics and investigation.
Here are some of the video steganography tools available in Kali Linux:
• OpenStego: This is popular steganography tool that supports various image,
audio, and video formats. OpenStego provides encryption and compression
capabilities to enhance the security and reliability of the hidden message.
• OutGuess: OutGuess is a steganography tool that can be used for hiding
secret messages within JPEG and PNM image files, as well as WAV and AU
audio files. OutGuess can also be used for video steganography by hiding
the secret message within the audio stream of the video file.
• MP3Stego: MP3Stego is a steganography tool that can be used to hide
messages within MP3 audio files. MP3Stego can be used for video
steganography by embedding the secret message within the audio stream of
the video file.
• F5: F5 is asteganography tool that can be used for hiding secret messages
within various types of files, including image, audio, and video files. F5 uses
a technique called matrix encoding to embed the secret message within the
file, and it provides encryption and compression capabilities to enhance the
security and reliability of the hidden message.
• SilentEye: SilentEye is a steganography tool that supports various image,
audio, and video formats. SilentEye provides multiple layers of encryption
to protect the hidden message and supports batch processing for efficiently
hiding multiple messages within multiple files.
Audio steganography
Audio steganography is the practice of hiding messages or information within
digital audio files. The goal of audio steganography is to conceal the existence of
the hidden information within the audio file without degrading the quality of the
audio.
There are several techniques that can be used for audio steganography, including:
• LSB (Least Significant Bit) steganography: This technique involves
replacing the least significant bits of the audio samples with the hidden
message. The changes to the audio file are usually imperceptible to the
human ear.
• Spread Spectrum steganography: This technique involves spreading the
hidden message across multiple audio samples using a pseudorandom
sequence. The changes to the audio file are again usually imperceptible to
the human ear.
• Echo Hiding: This technique involves hiding the message within the echoes
of the audio signal. The changes to the audio file are usually not noticeable
to the human ear.
• Phase Encoding: This technique involves hiding the message within the
phase of the audio signal. The changes to the audio file are usually not
noticeable to the human ear.
There are several steganography tools available that support audio file formats and
can be used for audio steganography, including OutGuess, OpenStego, and
Steghide. These tools allow you to embed a message within an audio file and
extract the hidden message from the steganographic audio file. However, it is
important to note that steganography techniques can be detected by advanced
analysis methods andmay not provide complete security for sensitive information.
Additionally, the process of hiding data within an audio file may result in a
noticeable degradation of the file quality.
Overall, audio steganography can be a useful technique for transmitting
confidential information without detection or interception. However, it is important
to carefully consider the risks and benefits of using steganography techniques for
sensitive information and to use appropriate security measures to protect the
hidden message.
Steghide tool

Introduction
Steghide is a popular command-line tool for image steganography. It is available in
Kali Linux and other Linux distributions, as well as Windows and macOS.
Steghide supports a wide range of image formats, including BMP, GIF, JPEG, and
PNG.
Steghide works by embedding data into the least significant bits (LSB) of the
image pixels. The LSBs are the bits that have the least impact on the overall
appearance of the image, so modifying them does not significantly alter the image's
visual appearance.
To use Steghide, you first need to have an image file and the data that you want to
hide. You can then use the command-line interface to specify the image file, the
data file, and a passphrase (if desired). Steghide will then embed the data into the
image using the LSB method.
Steghide can also be used to extract data from a steganographic image. This is
done by specifying the steganographic image file and the passphrase (if used).
Steghide will then extract the data from the LSBs of the image pixels.
One of the benefits of using Steghide is its ease of use and flexibility. It is a
powerful tool that can be used for a variety of steganography applications, and it is
also open-source and freely available. However, it is important to note that
Steghide is just one of many tools available for steganography, and there may be
other tools that are better suited for specific applications or requirements [4].

Steghide tool features


Steghide is a powerful tool for image steganography that comes with a variety of
features and options. Some of the notable features of Steghide include [4]:
1. Support for a wide range of image formats: Steghide supports a variety of
image formats, including BMP, GIF, JPEG, and PNG.
2. Encryption: Steghide allows you to encrypt your hidden data using a
passphrase. This adds an extra layer of security to your hidden data, making
it more difficult to extract without the passphrase.
3. Compression: Steghide supports data compression, which can reduce the
size of your hidden data and make it easier to embed in an image.
4. Embedding multiple files: Steghide allows you to embed multiple files in a
single image, making it possible to hide a large amount of data in a single
file.
5. Embedding data in audio files: In addition to image files, Steghide also
supports embedding data in WAV audio files.
6. Customization options: Steghide provides a variety of customization options,
including the ability to specify the number of bits used for steganography
and the ability to choose the embedding algorithm used.
7. Command-line interface: Steghide is a command-line tool, which makes it
easy to use in scripts and batch files, and allows for automation and
integration with other tools.

Using Steghide
To use Steghide tool for image steganography, we have these steps [5]:
• Install Steghide: If you haven't installed Steghide on your system, you can
do so by running the command "sudo apt-get install steghide" (for Ubuntu
and Debian-based systems) or by downloading and installing the appropriate
package for your operating system from the Steghide website.
• Prepare your data: Before you can hide your data in an image file, you need
to prepare it by converting it to a format that Steghide can use. You can do
this by using a text editor to create a text file, or by using a tool like GPG or
OpenSSL to encrypt your data.
• Choose an image file: Choose an image file that you want to use for
steganography. Steghide supports a variety of file formats, including BMP,
GIF, JPEG, and PNG.
• Hide your data: Once you have prepared your data and chosen your image
file, you can use the Steghide command-line interface to hide your data in
the image. The basic syntax for hiding data with Steghide is:
steghide embed -cf [image file] -ef [data file] -p [passphrase]
In this command, "[image file]" is the path to the image file, "[data file]" is
the path to the data file you want to hide, and "[passphrase]" is an optional
passphrase that you can use to encrypt your hidden data.
• Extract your data: To extract the hidden data from an image file, use the
following command:
steghide extract -sf [image file] -p [passphrase]
In this command, "[image file]" is the path to the steganographic image file,
and "[passphrase]" is the passphrase (if used) that was used to encrypt the
data.

Steghide Installation and Running


Update system packages
update all available repositories in the system

Install the steghide tool


Getting help in Steghide

Embedding Data in The Image


We hide data in the image using Steghide so that only the person who
acknowledges it can read that. So, we made a text file named as user.txt in which
we wrote our confidential data and image.jpeg is that file in which we are
embedding our data. To achieve this, we’ll be executing the following command:
steghide embed -ef <txt filename> -cf <media filename>
Here we use passphrase as a password to embed file in image, and this password
we will use when extracting data from image.
And we can set password in command itself, like this:
steghide embed -ef <txt filename> -cf <media filename> -p <password>
ef and cf are termed as embedded file and cover file respectively.
And the image still like:
Extraction of Data Via Steghide from image
Using Steghide adds an extra layer of security by allowing us to use a password for
it. Now, to extract the hidden data use the following command:
steghide extract -sf <media filename>
sf is a secret file

view file information before extracting


If we have an image that is suspected to have data hidden and if so, So we can get
some information about the file before extracting it by using the following info
option with steghide command.
Remove Steghide Tool
To remove the steghide we can use this command:
sudo apt-get remove steghide

Verbose Mode
Steghide's verbose mode is an option that allows you to see more detailed
information about the steganography process as it occurs. When verbose mode is
enabled, Steghide will display additional information in the output, such as the
percentage of the embedding process completed, the number of bytes embedded,
and any errors that occur during the process.
To enable verbose mode in Steghide, you can use the -v or --verbose option when
running the embed or extract command.
In embed: steghide embed -cf [cover file] -ef [data file] -p [passphrase] -v
In extract: steghide extract -sf [steganographic file] -p [passphrase] -v
Verbose mode can be useful when you need to monitor the progress of the
steganography process or when you need to troubleshoot any issues that may occur
during the process. However, it can also generate a large amount of output, so it is
generally not recommended to enable verbose mode unless needing the additional
information.

Compression Mode
Steghide's compression mode is an option that allows you to compress the data
before embedding it in an image file. This can be useful for reducing the size of the
data, making it easier to embed in the image file.
To enable compression mode in Steghide, you can use the -Z or --compress option
when running the embed command. For example, to enable compression mode
when embedding data in an image file, you can use the following command:
steghide embed -cf [cover file] -ef [data file] -p [passphrase] -Z
OpenPuff tool

Introduction
OpenPuff is a free and open-source steganography tool that allows you to hide
messages and files within digital image, audio, and video files. The tool is
available for Windows and Linux operating systems, and it supports a wide range
of file formats, including JPEG, BMP, WAV, MP3, MP4, and AVI.
OpenPuff uses a technique called "data carving" to hide the message or file within
the cover file. This involves dividing the message or file into small fragments and
then embedding them within the cover file using a pseudorandom sequence. The
tool also supports password protection and encryption to enhance the security of
the hidden message or file.
One of the advantages of OpenPuff is that it provides a user-friendly graphical
interface, which makes it easy to use even for novice users. Additionally, OpenPuff
is an open-source tool, which means that the source code is freely available and
can be audited for security and reliability.
OpenPuff also includes several advanced features, such as support for multiple data
hiding algorithms, the ability to perform batch processing of multiple files, and the
ability to embed metadata within the steganographic file.
Overall, OpenPuff is a powerful and flexible steganography tool that is well-suited
for hiding messages and files within digital image, audio, and video files. It is
particularly useful for individuals or organizations that need to transmit
confidential information without detection or interception. However, it is important
to note that steganography techniquescan be detected by advanced analysis
methods and may not provide complete security for sensitive information.
Therefore, it is recommended to carefully consider the risks and benefits of using
steganography techniques for sensitive information and use appropriate security
measures to protect the hidden message or file.
Running OpenPuff
To run OpenPuff in Windows, you can follow these steps:
• Download the latest version of OpenPuff from the official website:
https://embeddedsw.net/OpenPuff_Steganography_Home.html
• Extract the downloaded ZIP file to a folder on your computer.
• Double-click the "OpenPuff.exe" file to launch the application.
• Once the application is launched, you can use the graphical interface to
select the cover file and the message or file to be hidden, and to configure
the hiding options.
• After configuring the hiding options, click the "Hide Data" button to embed
the message or file within the cover file.
• To extract the hidden message or file from the steganographic file, select the
steganographic file and click the "Extract Data" button.

After download:
After going through the above steps, a final dialog will appear, asking you to
specify the folder where you want to save the final video file that contains your
hidden messages and documents. This will save the video file, with your files
hidden in it.
For extracting the data from an existing carrier video file/files that you created, the
process is almost the same. You just have to select the unhide option from the main
window of OpenPuff. Next, provide the password that you set during hiding your
file and provide the location where you want to store the extracted file.
Conclusion
In this report, we have discussed the concept of steganography, which is the
practice of hiding secret information within or on top of another file or message.
We have also explored the specific technique of image steganography, which uses
pixel intensities to conceal data in images. Finally, we have demonstrated how to
install and use Steghide, a tool for image steganography in Kali Linux. Steghide
allows us to embed and extract secret messages in JPEG and BMP files without
altering their appearance. We have shown how to use Steghide with encryption and
password protection to enhance the security of our hidden data.
It is important to note that while steganography can be used for legitimate
purposes, it can also be used for illegal or unethical purposes, such as hiding
malicious code or information. The use of steganography should always be legal
and ethical, and should be done with caution and responsibility.
References
[1] M. S. Abuali, C. B. M. Rashidi, M. H. Salih, R. A. A. Raof, and S. S. Hussein,
“DIGITAL IMAGE STEGANOGRAPHY IN SPATIAL DOMAIN A
COMPREHENSIVE REVIEW,” . Vol., no. 19, 2005.
[2] “Steganography Tutorial | A Complete Guide For Beginners,” Edureka, Jan. 21,
2019. https://www.edureka.co/blog/steganography-tutorial (accessed May 06,
2023).
[3] G. L. Team, “Image Steganography Explained | What is Image
Steganography?,” Great Learning Blog: Free Resources what Matters to shape
your Career!, Sep. 17, 2020. https://www.mygreatlearning.com/blog/image-
steganography-explained/ (accessed May 06, 2023).
[4] “Steghide - manual.”
https://steghide.sourceforge.net/documentation/manpage.php (accessed May 06,
2023).
[5] “Steghide — A beginners tutorial. Welcome. | by Ashraful Alim | System
Weakness.” https://systemweakness.com/steghide-a-beginners-tutorial-
35ec0ea90446 (accessed May 06, 2023).

You might also like