% steganography, stego, hidden, ctf # steghide - extract hidden data steghide extract -sf # steghide - extract with password steghide extract -sf -p # steghide - embed data steghide embed -cf -ef # steghide - info about file steghide info # stegseek - crack steghide password stegseek # stegseek - without wordlist (rockyou default) stegseek # zsteg - PNG/BMP analysis zsteg # zsteg - all checks zsteg -a # binwalk - scan for embedded files binwalk # binwalk - extract embedded files binwalk -e # binwalk - extract with matryoshka binwalk -eM # foremost - file carving foremost -i -o # exiftool - view all metadata exiftool # exiftool - view specific tag exiftool -Comment # strings - find hidden text strings strings -n 10 # xxd - hex dump xxd | head -50 # Check file magic bytes xxd -l 16 file # pngcheck - PNG structure pngcheck -v # stegoveritas - multiple stego checks stegoveritas # openstego - extract (GUI tool) openstego extract -sf -xd # outguess - extract outguess -r # jsteg - JPEG steganography jsteg reveal # Audio steganography - Audacity # Open in Audacity, check spectrogram view # Audio steganography - sonic-visualiser sonic-visualiser # LSB extraction with Python # from PIL import Image # img = Image.open('image.png') # Extract least significant bits # Check for appended data # Compare file size to expected size # Look for data after EOF marker # SNOW - whitespace steganography snow -C # stegsnow - extract from whitespace stegsnow -C # PDF steganography - check streams pdf-parser pdftotext # QR code extraction zbarimg # Common CTF stego workflow: # 1. file / xxd - identify type # 2. exiftool - check metadata # 3. strings - hidden text # 4. binwalk - embedded files # 5. steghide/stegseek - hidden data # 6. zsteg - LSB for PNG $ image: find . -name "*.jpg" -o -name "*.png" -o -name "*.bmp" 2>/dev/null | head -10 $ file: find . -type f 2>/dev/null | head -10 $ cover_image: find . -name "*.jpg" 2>/dev/null | head -5 $ secret_file: echo "secret.txt" $ password: echo "" $ wordlist: echo "/usr/share/wordlists/rockyou.txt" $ output_dir: echo "extracted" $ output_file: echo "output.txt" $ text_file: find . -name "*.txt" 2>/dev/null | head -5 $ audio_file: find . -name "*.wav" -o -name "*.mp3" 2>/dev/null | head -5 $ pdf_file: find . -name "*.pdf" 2>/dev/null | head -5