Metadata Analysis
Metadata คือข้อมูลที่ฝังอยู่ในไฟล์เกี่ยวกับตัวไฟล์เอง — EXIF (รูป), XMP, IPTC, document properties (Office/PDF), audio tags การซ่อน flag ใน metadata เป็นเทคนิคพื้นฐานที่พบบ่อยมากใน CTF บทนี้ครอบคลุม metadata ทุกชนิดไฟล์ จุดที่ flag มักซ่อน และการดึงข้อมูล
1. Metadata คืออะไร และอยู่ที่ไหน
Metadata = 'ข้อมูลเกี่ยวกับข้อมูล' ฝังในไฟล์เพื่อเก็บรายละเอียด เช่น รูปถ่ายเมื่อไหร่ ด้วยกล้องอะไร พิกัด GPS, เอกสารใครสร้าง แก้ไขล่าสุดเมื่อไหร่ — ผู้ซ่อนใส่ flag ในฟิลด์เหล่านี้ได้ง่ายๆ เป็นจุดแรกที่ควรเช็คเสมอ ก่อนทำ stego ที่ซับซ้อน เพราะหลายโจทย์ซ่อน flag ตรงนี้
| ชนิด metadata | พบใน | ฟิลด์ที่มักซ่อน flag |
|---|---|---|
| EXIF | JPG, TIFF, บาง PNG | Comment, Artist, Copyright, GPS, Make/Model |
| XMP | รูป, PDF, Adobe files | Description, Creator, custom fields |
| IPTC | รูป (news/media) | Caption, Keywords, Headline |
| Document props | DOCX, XLSX, PDF | Author, Title, Subject, Comments, custom |
| Audio tags | MP3 (ID3), FLAC | Comment, Lyrics, Title, Artist |
| PNG text chunk | PNG | tEXt/zTXt/iTXt (ดูหัวข้อ PNG) |
2. ดึง metadata ด้วย exiftool (ครอบคลุมสุด)
exiftool อ่าน metadata ได้แทบทุกชนิดไฟล์ — เป็นเครื่องมือหลัก (มีหัวข้อแยกเจาะลึก) คำสั่งพื้นฐานที่ใช้บ่อย:
exiftool file.jpg # ทุกฟิลด์
exiftool -a -u -g1 file.jpg # รวม unknown/duplicate tags จัดกลุ่ม
exiftool -b -Comment file.jpg # ดึง raw ของฟิลด์เดียว
# ค้นหา flag ในทุกฟิลด์
exiftool file.jpg | grep -iE 'flag|ctf|key'
# ดูทุกไฟล์ในโฟลเดอร์
exiftool *.jpg | grep -iE 'flag'3. เครื่องมืออื่นตามชนิดไฟล์
# รูป (ทางเลือก exiftool)
exiv2 -pa file.jpg # EXIF/IPTC/XMP
identify -verbose file.png # ImageMagick
# วิดีโอ/เสียง
mediainfo file.mp4 # metadata มัลติมีเดียครบ
ffprobe file.mp4 # stream + metadata
# เอกสาร Office (DOCX/XLSX = zip)
unzip -o file.docx -d docx_out
cat docx_out/docProps/core.xml app.xml # author, title, custom props
# PDF
exiftool file.pdf
pdfinfo file.pdf
# strings เป็น fallback ทุกชนิด
strings file | grep -iE 'flag|author|creator'4. GPS และเทคนิคพิเศษ
- GPS coordinates: EXIF อาจมีพิกัด → เปิดใน Google Maps อาจเป็นส่วนของ flag/ปริศนา (เชื่อมกับ OSINT geolocation)
- Thumbnail: รูปมี thumbnail ฝังใน EXIF — บางทีต่างจากภาพหลัก (เช่นภาพเดิมก่อนถูกแก้) ดึงด้วย
exiftool -b -ThumbnailImage file.jpg > thumb.jpg - custom/unknown tags: ใช้
-a -uดู tag ที่ซ่อน - timestamp: วันเวลาสร้าง/แก้ อาจเป็นเบาะแส (forensics)
- software: โปรแกรมที่ใช้สร้าง อาจใบ้ว่าใช้ tool stego อะไร
5. Workflow
- 1exiftool -a -u -g1 file — ดูทุกฟิลด์รวม unknown
- 2grep หา flag/ctf/key/author
- 3ดึง thumbnail (exiftool -b -ThumbnailImage) ถ้าเป็นรูป
- 4เช็ค GPS → Google Maps ถ้ามี
- 5เอกสาร → unzip ดู docProps/; PDF → pdfinfo
- 6ถ้าไม่เจอ → ไปเทคนิค stego จริง (LSB/spectrogram ตามชนิดไฟล์)
6. Quick Reference
- เช็ค metadata เป็นจุดแรกเสมอ (flag ซ่อนง่าย)
- exiftool -a -u -g1 file (รวม unknown tags)
- grep -iE 'flag|ctf|key'
- thumbnail: exiftool -b -ThumbnailImage > thumb.jpg
- GPS → Google Maps; เอกสาร → unzip docProps/
- วิดีโอ/เสียง: mediainfo; PDF: pdfinfo
🧭 จับมือทำทีละขั้น (มีแค่ Kali) + ถ้าติดไปไหนต่อ
สมมติเพิ่งได้ไฟล์โจทย์มา ไม่รู้ว่าเป็น stego เชิงลึกหรือแค่ flag ซ่อนใน metadata ธรรมดา มีแค่ Kali เปล่าๆ — เช็ค metadata ก่อนเสมอเพราะเร็วและเจอบ่อยกว่าที่คิด ทำตามนี้ทีละขั้น
- 1พิมพ์
file target— ดูว่าเป็นไฟล์ชนิดไหนจริง (รูป/เสียง/เอกสาร/PDF) - 2พิมพ์
exiftool -a -u -g1 target— ดึง metadata ทุกฟิลด์รวม unknown/duplicate - 3พิมพ์
exiftool target | grep -iE 'flag|ctf|key|author'— กรองหาคำน่าสงสัยเร็วๆ - 4ถ้าเป็นรูป ลองดึง thumbnail:
exiftool -b -ThumbnailImage target > thumb.jpgเปิดดู - 5ถ้าเป็นเอกสาร Office (docx/xlsx/pptx) ให้
unzip -o target -d outแล้วcat out/docProps/core.xml out/docProps/app.xml - 6ถ้าเป็น PDF ลอง
pdfinfo targetและexiftool targetคู่กัน - 7ถ้าเป็นวิดีโอ/เสียง ลอง
mediainfo targetดู metadata มัลติมีเดียครบชุด - 8ถ้ามีพิกัด GPS ให้เปิด Google Maps เช็คว่าเป็นเบาะแสของโจทย์หรือไม่
- 9ถ้าทุกอย่างข้างบนไม่เจออะไร ให้
strings target | grep -iE 'flag'เป็น fallback สุดท้าย แล้วขยับไปเทคนิค stego จริงตามชนิดไฟล์ (binwalk/LSB/spectrogram)
| ขั้นตอน/งาน | เครื่องมือใน Kali | ติดตั้งเพิ่ม (ถ้าไม่มี) | เครื่องมือออนไลน์ |
|---|---|---|---|
| ดูชนิดไฟล์จริง | file | - | aperisolve.com |
| ดึง metadata รูป/ไฟล์ทั่วไป | exiftool | sudo apt install libimage-exiftool-perl | exifdata.com, metadata2go.com |
| metadata วิดีโอ/เสียง | mediainfo, ffprobe | sudo apt install mediainfo | - |
| metadata เอกสาร Office | unzip + cat docProps | - | - |
| metadata PDF | pdfinfo, exiftool | sudo apt install poppler-utils | - |
| เช็ค GPS | exiftool -gps:all | - | Google Maps |
| ค้นข้อความดิบ fallback | strings | - | CyberChef |
หัวข้อที่เชื่อมโยง
โน้ตของฉัน
ยังไม่มีโน้ตสำหรับหัวข้อนี้