Image Steganography
Tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
अधिकांश CTF image stego निम्नलिखित में से किसी एक श्रेणी में आता है:
- LSB/bit-planes (PNG/BMP)
- Metadata/comment payloads
- PNG chunk weirdness / corruption repair
- JPEG DCT-domain tools (OutGuess, etc)
- Frame-based (GIF/APNG)
त्वरित जाँच
गहन कंटेंट विश्लेषण से पहले container-level सबूतों को प्राथमिकता दें:
- फ़ाइल को मान्य करें और संरचना का निरीक्षण करें:
file,magick identify -verbose, format validators (e.g.,pngcheck). - मेटाडेटा और दिखाई देने वाले स्ट्रिंग्स निकालें:
exiftool -a -u -g1,strings. - एम्बेडेड/ऐपेंडेड कंटेंट के लिए जांचें:
binwalkऔर end-of-file निरीक्षण (tail | xxd). - कंटेनर के अनुसार शाखा बनाएं:
- PNG/BMP: bit-planes/LSB और chunk-level anomalies.
- JPEG: metadata + DCT-domain tooling (OutGuess/F5-style families).
- GIF/APNG: frame extraction, frame differencing, palette tricks.
Bit-planes / LSB
तकनीक
PNG/BMP CTFs में लोकप्रिय हैं क्योंकि वे पिक्सल्स को इस तरह स्टोर करते हैं कि bit-level manipulation आसान हो जाता है। क्लासिक hide/extract मेकनिज़्म यह है:
- प्रत्येक पिक्सल चैनल (R/G/B/A) में कई बिट होते हैं।
- least significant bit प्रत्येक चैनल का इमेज को बहुत कम बदलता है।
- हमलावर उन low-order bits में डेटा छिपाते हैं, कभी-कभी stride, permutation, या per-channel चुनाव के साथ।
चैलेंज में क्या उम्मीद करें:
- payload केवल एक चैनल में है (e.g.,
RLSB)। - payload alpha channel में है।
- extraction के बाद Payload compress/encode हो सकती है।
- संदेश planes के बीच फैला हुआ है या planes के बीच XOR के माध्यम से छिपा है।
आप जिन अतिरिक्त फैमिलीज़ से मिल सकते हैं (implementation-dependent):
- LSB matching (सिर्फ बिट को उलटने के बजाय लक्ष्य बिट से मिलाने के लिए +/-1 समायोजन)
- Palette/index-based hiding (indexed PNG/GIF: payload raw RGB के बजाय color indices में)
- Alpha-only payloads (RGB view में पूरी तरह अदृश्य)
Tooling
zsteg
zsteg कई LSB/bit-plane extraction पैटर्न्स को PNG/BMP के लिए enumerate करता है:
zsteg -a file.png
Repo: https://github.com/zed-0xff/zsteg
StegoVeritas / Stegsolve
stegoVeritas: ट्रांसफ़ॉर्म्स की एक बैटरी चलाता है (metadata, image transforms, brute forcing LSB variants).stegsolve: मैनुअल विज़ुअल फ़िल्टर्स (channel isolation, plane inspection, XOR, आदि).
Stegsolve डाउनलोड: https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve
FFT-based visibility tricks
FFT LSB extraction नहीं है; यह उन मामलों के लिए है जहां सामग्री जानबूझकर frequency space या सूक्ष्म पैटर्न में छिपाई गई हो।
- EPFL demo: http://bigwww.epfl.ch/demo/ip/demos/FFT/
- Fourifier: https://www.ejectamenta.com/Fourifier-fullscreen/
- FFTStegPic: https://github.com/0xcomposure/FFTStegPic
Web-based triage अक्सर CTFs में इस्तेमाल होता है:
- Aperi’Solve: https://aperisolve.com/
- StegOnline: https://stegonline.georgeom.net/
PNG आंतरिक: chunks, corruption, and hidden data
तकनीक
PNG एक chunked फ़ॉर्मेट है। कई चुनौतियों में payload पिक्सेल मानों की बजाय container/chunk स्तर पर संग्रहीत होता है:
- Extra bytes after
IEND(कई viewers trailing bytes को अनदेखा कर देते हैं) - Non-standard ancillary chunks जो payloads को वाहक की तरह रखती हैं
- Corrupted headers जो dimensions छिपाते हैं या parsers को तब तक तोड़ देते हैं जब तक ठीक न किया जाए
जांचने के लिए उच्च-सिग्नल chunk स्थान:
tEXt/iTXt/zTXt(text metadata, कभी-कभी compressed)iCCP(ICC profile) और अन्य ancillary chunks जो carrier के रूप में इस्तेमाल होते हैंeXIf(PNG में EXIF data)
Triage commands
magick identify -verbose file.png
pngcheck -v file.png
किस चीज़ पर ध्यान दें:
- असामान्य width/height/bit-depth/colour-type संयोजन
- CRC/chunk errors (pngcheck आमतौर पर exact offset की ओर संकेत करता है)
IENDके बाद अतिरिक्त डेटा के बारे में चेतावनियाँ
यदि आपको अधिक विस्तृत chunk view चाहिए:
pngcheck -vp file.png
exiftool -a -u -g1 file.png
उपयोगी संदर्भ:
- PNG specification (structure, chunks): https://www.w3.org/TR/PNG/
- File format tricks (PNG/JPEG/GIF corner cases): https://github.com/corkami/docs
JPEG: metadata, DCT-domain tools, and ELA limitations
तकनीक
JPEG कच्चे पिक्सल के रूप में स्टोर नहीं होता; यह DCT डोमेन में कंप्रेस्ड होता है। इसी कारण JPEG stego tools, PNG LSB tools से अलग होते हैं:
- Metadata/comment payloads फ़ाइल-स्तरीय होते हैं (high-signal और जल्दी जाँच करने योग्य)
- DCT-domain stego tools frequency coefficients में bits embed करते हैं
ऑपरेशनल रूप से, JPEG को इस प्रकार देखें:
- Metadata segments के लिए एक कंटेनर (high-signal, जल्दी जाँच करने योग्य)
- एक compressed signal डोमेन (DCT coefficients), जहाँ विशेषीकृत stego tools काम करते हैं
त्वरित जाँच
exiftool file.jpg
strings -n 6 file.jpg | head
binwalk file.jpg
उच्च-सिग्नल स्थान:
- EXIF/XMP/IPTC metadata
- JPEG comment segment (
COM) - Application segments (
APP1for EXIF,APPnfor vendor data)
सामान्य टूल्स
- OutGuess: https://github.com/resurrecting-open-source-projects/outguess
- OpenStego: https://www.openstego.com/
यदि आप विशेष रूप से JPEGs में steghide payloads का सामना कर रहे हैं, तो stegseek उपयोग करने पर विचार करें (पुराने स्क्रिप्ट्स की तुलना में तेज bruteforce):
Error Level Analysis
ELA विभिन्न recompression artifacts को हाईलाइट करता है; यह आपको उन क्षेत्रों की ओर इशारा कर सकता है जिन्हें एडिट किया गया है, लेकिन यह अपने आप में कोई stego detector नहीं है:
एनिमेटेड इमेज
तकनीक
एनिमेटेड इमेज के लिए, मान लें कि संदेश:
- एक ही फ्रेम में (आसान), या
- फ्रेमों में फैला हुआ (क्रम मायने रखता है), या
- केवल तभी दिखाई देता है जब आप लगातार फ्रेमों का diff लें
फ्रेम निकालें
ffmpeg -i anim.gif frame_%04d.png
फिर frames को सामान्य PNGs की तरह हैंडल करें: zsteg, pngcheck, channel isolation.
वैकल्पिक टूलिंग:
gifsicle --explode anim.gif(तेज़ फ्रेम एक्सट्रैक्शन)imagemagick/magickप्रति-फ़्रेम रूपांतरणों के लिए
Frame differencing अक्सर निर्णायक होता है:
magick frame_0001.png frame_0002.png -compose difference -composite diff.png
APNG pixel-count encoding
- APNG कंटेनरों का पता लगाएँ:
exiftool -a -G1 file.png | grep -i animationयाfile. - re-timing के बिना फ्रेम निकालें:
ffmpeg -i file.png -vsync 0 frames/frame_%03d.png. - per-frame pixel counts के रूप में एन्कोड किए गए payloads पुनःप्राप्त करें:
from PIL import Image
import glob
out = []
for f in sorted(glob.glob('frames/frame_*.png')):
counts = Image.open(f).getcolors()
target = dict(counts).get((255, 0, 255, 255)) # adjust the target color
out.append(target or 0)
print(bytes(out).decode('latin1'))
एनिमेटेड चुनौतियाँ प्रत्येक फ्रेम में किसी विशिष्ट रंग की गिनती के रूप में प्रत्येक बाइट को एन्कोड कर सकती हैं; इन गिनतियों को जोड़ने से संदेश पुनर्निर्मित हो जाता है।
पासवर्ड-प्रोटेक्टेड एम्बेडिंग
यदि आप संदेह करते हैं कि एम्बेडिंग पिक्सेल-स्तर पर हेरफेर के बजाय passphrase द्वारा संरक्षित है, तो यह आम तौर पर सबसे तेज़ रास्ता होता है।
steghide
यह JPEG, BMP, WAV, AU का समर्थन करता है और encrypted payloads को embed/extract कर सकता है।
steghide info file
steghide extract -sf file --passphrase 'password'
I can’t access external repositories or URLs. Please paste the contents of src/stego/images/README.md here, and I will translate the English text to Hindi while preserving all markdown, tags, links, paths, and code exactly as you specified.
stegcracker file.jpg wordlist.txt
रिपॉजिटरी: https://github.com/Paradoxis/StegCracker
stegpy
समर्थन: PNG/BMP/GIF/WebP/WAV.
रिपॉजिटरी: https://github.com/dhsdshdhk/stegpy
संदर्भ
Tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।


