Metadata Collection
Metadata Collection ในบริบท OSINT คือการเก็บเกี่ยว metadata จากเอกสารและไฟล์สาธารณะขององค์กรเป้าหมาย — ชื่อผู้ใช้, software/version, path ภายใน, ชื่อเครื่อง, พิกัด GPS ที่หลุดออกมาในไฟล์ที่เผยแพร่ บทนี้ลงลึกชนิด metadata และสิ่งที่เปิดเผย, การ harvest เอกสารด้วย metagoofil/FOCA/Google dork, การดึงด้วย exiftool เป็นชุด, การอ่าน EXIF GPS, และการ correlate ข้อมูลเป็นภาพ infrastructure + รายชื่อพนักงาน (เนื้อหาเพื่อ OSINT/pentest ที่ได้รับอนุญาต)
1. metadata เผยข้อมูลภายในองค์กร
เอกสารที่องค์กรเผยแพร่ (PDF, DOCX, XLSX, PPTX, รูป) มักฝัง metadata ที่เผยข้อมูลภายในโดยไม่ตั้งใจ — ชื่อพนักงานที่สร้าง/แก้ไฟล์ (→ username pattern, email), software + version (→ ช่องโหว่ที่รู้), path ภายใน (→ โครงสร้างระบบ + ชื่อ user), ชื่อเครื่อง/domain, รุ่นเครื่องพิมพ์ การเก็บ metadata จากเอกสารหลายสิบไฟล์แล้วเอามารวมกัน สร้างภาพ infrastructure + รายชื่อพนักงานได้โดยไม่ต้องแตะ network ของเป้าหมายเลย
สิ่งนี้เป็น passive OSINT อย่างแท้จริง — ดึงจากไฟล์ที่เผยแพร่สาธารณะ ไม่ยิง traffic ไปที่ target infrastructure จึงเงียบและเป็นด่านต้นๆ ของ recon การ correlate ผลกับ theHarvester (อีเมล), username enumeration และ Google Dorks ทำให้เห็นภาพองค์กรชัดขึ้น
2. ชนิด metadata และสิ่งที่เปิดเผย
| ชนิดไฟล์ | ฟิลด์ metadata | เผยอะไร |
|---|---|---|
| Office (docx/xlsx/pptx) | creator, lastModifiedBy, company | ชื่อพนักงาน, ชื่อองค์กร |
| Office | application + appVersion | software + version (→ CVE) |
| Author, Producer, Creator | ผู้สร้าง + tool ที่ export | |
| CreationDate / ModDate | timeline การทำเอกสาร | |
| รูป (JPEG) | GPS latitude/longitude | ที่ตั้งจริง (geolocation) |
| รูป | Make / Model | รุ่นกล้อง/มือถือ |
| รูป | Software | แอปแต่งรูป + version |
| ทั่วไป | path/username ใน field | โครงสร้างไฟล์ภายใน + ชื่อ user |
| เอกสาร/รูป | printer/host name | ชื่อเครื่อง/เครื่องพิมพ์ในเครือข่าย |
3. Harvest เอกสารจากเว็บเป้าหมาย
ขั้นแรกคือรวบรวมไฟล์สาธารณะของโดเมนให้ได้มากที่สุด — metagoofil ค้น+โหลดผ่าน search engine อัตโนมัติ, FOCA (Windows GUI) ทำเช่นเดียวกันพร้อมวิเคราะห์+correlate ให้, หรือใช้ Google Dork ค้นเอง
# metagoofil: ค้น+โหลดเอกสารของโดเมนจาก search engine แล้วเตรียมให้ดึง metadata
metagoofil -d example.com -t pdf,doc,docx,xls,xlsx,ppt,pptx -l 100 -n 50 -o loot/
# -d โดเมน -t ชนิดไฟล์ -l จำนวนผลค้น -n จำนวนที่โหลด -o โฟลเดอร์เก็บ
# หรือค้นเองด้วย Google Dork (ดู google-dorks) แล้ว wget โหลด
# site:example.com filetype:pdf
# site:example.com filetype:docx
# site:example.com filetype:xlsx
# ดึงลิงก์เอกสารจากผลค้นแล้วโหลดเป็นชุด
cat doc_urls.txt | while read u; do wget -q -P loot/ "$u"; done4. ดึง metadata เป็นชุดด้วย exiftool
exiftool อ่าน metadata ได้แทบทุกชนิดไฟล์ (Office, PDF, รูป) — รันแบบ recursive ทั้งโฟลเดอร์ แล้วกรองด้วย grep เพื่อรวบ field ที่สนใจ (ดู exiftool สำหรับรายละเอียด flag)
# ดึง metadata ทุกไฟล์ในโฟลเดอร์ (recursive)
exiftool -r loot/ > all_metadata.txt
# 1) รายชื่อผู้สร้าง/ผู้แก้ (→ username, พนักงาน)
exiftool -r loot/ | grep -iE 'Author|Creator|Last Modified By|Owner|Creator Tool' | sort -u
# 2) software + version (→ หา CVE)
exiftool -r loot/ | grep -iE 'Producer|Software|Application|App Version' | sort -u
# 3) path/ชื่อเครื่องที่หลุดใน field
exiftool -r loot/ | grep -iE 'Company|Comment|Template|Hyperlink' | sort -u
# 4) เอกสาร Office = zip → เปิด core.xml/app.xml ตรงๆ
unzip -o file.docx -d d && cat d/docProps/core.xml d/docProps/app.xml
# 5) PDF เฉพาะ (pdfinfo อีกทางเลือก)
pdfinfo report.pdf | grep -iE 'Author|Creator|Producer'5. EXIF GPS — geolocation จากรูป
รูปที่ถ่ายด้วยมือถือ/กล้องมี GPS มักฝังพิกัดจริงใน EXIF ถ้ารูปที่องค์กร/บุคคลโพสต์ไม่ได้ถูก strip metadata เราอ่านพิกัดแล้วเปิดในแผนที่ได้ทันที (ต่อยอด geolocation — ดู geolocation)
# ดู GPS ทั้งหมดในรูป
exiftool -gps:all -n photo.jpg
# ดึงพิกัดเป็นรูปแบบพร้อมเปิดแผนที่
exiftool -c '%.6f' -GPSLatitude -GPSLongitude photo.jpg
# GPS Latitude : 13.756331
# GPS Longitude : 100.501762
# → เปิด https://maps.google.com/?q=13.756331,100.501762
# batch: หารูปทุกใบที่มี GPS ในโฟลเดอร์
exiftool -r -if '$gpslatitude' -GPSLatitude -GPSLongitude -Filename loot/
# ดูรุ่นกล้อง + timestamp (correlate อุปกรณ์/เวลา)
exiftool -Make -Model -DateTimeOriginal photo.jpg6. Correlate — ประกอบเป็นภาพองค์กร
คุณค่าจริงเกิดตอนรวมข้อมูลจากหลายไฟล์ — Author 30 ชื่อจาก 50 เอกสาร กลายเป็นรายชื่อพนักงาน + ยืนยันรูปแบบ username/email ขององค์กร; software+version หลายตัวชี้ช่องโหว่; path ที่ซ้ำๆ เผยโครงสร้าง share ภายใน
| ฟิลด์ที่รวบได้ | ประกอบเป็น | ใช้ต่อ |
|---|---|---|
| Author / Last Modified By หลายชื่อ | รายชื่อพนักงาน | username enum, email pattern (ดู email-investigation) |
| Software / Producer + version | รายการ software ที่ใช้ | หา CVE ของ version นั้น |
| path ใน metadata | โครงสร้าง file share + username | เข้าใจระบบ, ชื่อ user ภายใน |
| Computer / host name | naming convention ของเครื่อง | คาดเดาชื่อเครื่องอื่น |
| Printer model | อุปกรณ์ในเครือข่าย | ช่องโหว่ printer / pivot |
| GPS (รูป) | ที่ตั้งจริง | geolocation, ยืนยันสถานที่ |
# ดึงชื่อผู้สร้างทั้งหมด → ทำเป็นรายชื่อ unique
exiftool -r -Author -Creator -"Last Modified By" loot/ \
| grep -iE 'Author|Creator|Modified' | sed 's/.*: //' | sort -u > names.txt
# เทียบกับ email pattern ที่พบ (จาก theHarvester)
theHarvester -d example.com -b all
# ถ้าเห็น [email protected] → map names.txt เป็น email ได้
# 'John Smith' → [email protected]7. Quick Reference
- เอกสาร/รูปสาธารณะ = metadata เผยข้อมูลภายในโดยไม่ตั้งใจ
- harvest:
metagoofil -d domain -t pdf,docx,xlsx -o loot/หรือ FOCA (GUI) - หรือ Google dork:
site:target filetype:pdf - ดึง:
exiftool -r loot/ | grep -iE 'Author|Creator|Software' - Office = zip →
docProps/core.xml,app.xml - GPS:
exiftool -GPSLatitude -GPSLongitude photo.jpg→ maps - ได้: รายชื่อพนักงาน, username/email pattern, software+CVE, path, พิกัด
- correlate กับ theHarvester (email) + username enum + geolocation
- defense: strip metadata ก่อน publish (exiftool -all=)
🧭 จับมือทำทีละขั้น (มีแค่ Kali) + ถ้าติดไปไหนต่อ
สมมติโจทย์ให้โดเมนองค์กรมา ต้องหาว่าเอกสารสาธารณะของเขาเผยอะไรบ้าง มีแค่ Kali เปล่าๆ ทำตามนี้ทีละขั้น
- 1รวบรวมเอกสารสาธารณะก่อน: metagoofil -d example.com -t pdf,docx,xlsx -l 50 -n 30 -o loot/
- 2หรือค้นเองด้วย Google Dork: site:example.com filetype:pdf แล้ว wget โหลดมาเก็บใน loot/
- 3ดึง metadata ทั้งหมดทีเดียว: exiftool -r loot/ > all_metadata.txt
- 4กรองหาชื่อผู้สร้าง/แก้ไข: exiftool -r loot/ | grep -iE 'Author|Creator|Last Modified By'
- 5ถ้าเป็นไฟล์ Office (docx/xlsx): unzip -o file.docx -d d && cat d/docProps/core.xml ดู field ดิบ
- 6ถ้าเป็นรูป: เช็ค GPS ด้วย exiftool -gps:all -n photo.jpg
- 7รวมชื่อที่เจอเป็น unique list แล้วเทียบกับรูปแบบอีเมลจาก theHarvester -d example.com -b all
- 8ถ้าเจอ software+version ใน metadata ลองค้น CVE ของเวอร์ชันนั้นด้วย searchsploit
- 9ถ้าเจอพิกัด GPS ต่อยอดไปดูพื้นที่จริงบนแผนที่
| ขั้นตอน/งาน | เครื่องมือใน Kali | ติดตั้งเพิ่ม (ถ้าไม่มี) | เครื่องมือออนไลน์ |
|---|---|---|---|
| harvest เอกสารสาธารณะ | metagoofil (ถ้ามีใน Kali) | pip install metagoofil | site:target filetype:pdf (Google dork) |
| ดึง metadata ชุด | exiftool | apt install exiftool | - |
| ดู field Office ดิบ | unzip | - | - |
| หารูปแบบอีเมลองค์กร | theharvester | - | hunter.io |
| เช็ค breach ของอีเมล | - | pip install holehe h8mail | haveibeenpwned.com |
| ค้น CVE จาก software version | searchsploit | - | cve.mitre.org, nvd.nist.gov |
| เปิดพิกัด GPS บนแผนที่ | - | - | google.com/maps |
• เจอ GPS ในรูปที่เอกสารแนบ → ไป Geolocation
• เจอชื่อพนักงานจาก Author/Creator อยากหาบัญชี → ไป Username Enumeration
• ประกอบอีเมลได้แล้วอยากเช็ค breach → ไป Email Investigation
หัวข้อที่เชื่อมโยง
โน้ตของฉัน
ยังไม่มีโน้ตสำหรับหัวข้อนี้