Intoduction
Винаги съм харесвал дефиницията на думата “метаданни”. Метаданните са данни за данните. Цифровите снимки и видео файлове често съдържат такива данни, добавени при създаването или редактирането им. Тези данни могат да включват марка и модел на камерата, час и дата на заснемане, GPS координати, настройки на апарата и всякаква друга софтуерна информация. Когато става въпрос за различни OSINT дейности, точно такива данни могат да разкрият: къде и кога е направена снимката или видеото и с какво устройство, което е ключово за разследване. Важно е обаче да се има предвид, че социалните мрежи често премахват метаданните при качване - например Facebook и Twitter X.
CLI инструменти за изображения
На unix базираните операционни системи има инструменти за анализ на медийни файлове. Най-популярният е exiftool
- много готин инструмент, написан на Perl, който може да извлича и манипулира метаданни от почти всички видове медийни файлове. Може да се инсталира с:
sudo apt install exiftool # за дистрибуции, използващи apt
или
brew install exiftool # за MacOS
Нека вземем снимка с метаданни, която може да намерите ето тук
Нека пробваме с:
exiftool снимка.jpg
Make : NIKON
Camera Model Name : COOLPIX P6000
Orientation : Horizontal (normal)
X Resolution : 300
Y Resolution : 300
Resolution Unit : inches
Software : Nikon Transfer 1.1 W
Modify Date : 2008:11:01 21:15:07
Aperture : 4.5
Image Size : 640x480
Megapixels : 0.307
Scale Factor To 35 mm Equivalent: 4.7
Shutter Speed : 1/178
GPS Date/Time : 2008:10:23 14:28:17.24Z
GPS Latitude : 43 deg 28' 1.76" N
GPS Longitude : 11 deg 53' 7.42" E
Auto Focus : On
Focal Length : 6.0 mm (35 mm equivalent: 28.0 mm)
GPS Position : 43 deg 28' 1.76" N, 11 deg 53' 7.42" E
Hyperfocal Distance : 1.24 m
Light Value : 12.5
Ключови тагове са “Make”, “Camera Model Name”, “GPS Date/Time” и GPS координати като Latitude и Longitude. Можем да филтрираме само таговете, които ни интересуват:
exiftool снимка.jpg -GPSPosition
GPS Position : 43 deg 28' 1.76" N, 11 deg 53' 7.42" E
exiftool снимка.jpg -DateTimeOriginal
Date/Time Original : 2008:10:22 16:29:49
Exiftool поддържа масово обработване на файлове. Например в текущата директория имаме 2 jpg файла и искаме да извлечем GPS координатите от тях:
exiftool -gps:all -r -ext jpg .
======== ./снимка1.jpg
GPS Latitude Ref : North
GPS Longitude Ref : East
GPS Altitude Ref : Above Sea Level
GPS Time Stamp : 14:28:17.24
GPS Satellites : 06
GPS Img Direction Ref : Unknown ()
GPS Map Datum : WGS-84
GPS Date Stamp : 2008:10:23
======== ./снимка2.jpg
GPS Version ID : 2.3.0.0
1 directories scanned
2 image files read
или моделите на камерите, с които са направени снимките:
exiftool -model -r -ext jpg .
======== ./снимка1.jpg
Camera Model Name : COOLPIX P6000
======== ./снимка2.jpg
Camera Model Name : Canon PowerShot SX60 HS
1 directories scanned
2 image files read
Друг инструмент за извличане на метаданни от изображения е Exiv2.
exiv2 pr снимка.jpg
File name : снимка.jpg
File size : 159137 Bytes
MIME type : image/jpeg
Image size : 640 x 480
Thumbnail : image/jpeg, 6339 Bytes
Camera make : NIKON
Camera model : COOLPIX P6000
Image timestamp : 2008:10:22 16:29:49
File number :
Exposure time : 0.00560852 s
Aperture : F4.5
Exposure bias : 0 EV
Flash : No, compulsory
Flash bias :
Focal length : 6.0 mm
Subject distance:
ISO speed : 64
Exposure mode : Auto
Metering mode : Multi-segment
Macro mode :
Image quality : FINE
White balance : AUTO
Copyright :
Exif comment : charset=Ascii
това показва стандартен списък с метаданни.
CLI инструменти за видео
За видео файлове може да ползваме MediaInfo или ffprobe (от пакета ffmpeg). MediaInfo показва подробна информация за видеа.
sudo apt install mediainfo # за дистрибуции, използващи apt
или
brew install mediainfo # за MacOS
Нека да видим какво може да извлечем с mediainfo:
mediainfo видео.mp4
General
Complete name : видео.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : iso5 (iso5/iso6/mp41)
File size : 106 MiB
Duration : 35 s 152 ms
Overall bit rate : 25.3 Mb/s
Frame rate : 59.940 FPS
Writing application : Lavf60.16.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.2
Format settings : CABAC / 5 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 5 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 35 s 152 ms
Bit rate : 25.3 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 59.940 (60000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Stream size : 106 MiB (100%)
Writing library : x264 core 164 r3108 31e19f9
Този output има съдържа секции като “General” и “Video” с полета като формат, битрейт, широчина, височина, кадри в секунда и други.
За по-подробна информация може да се ползва
mediainfo --fullscan видео.mp4
Ако има координати или дата на снимане, те също ще бъдат видими след използването на командата.
Друг полезен инструмент е hachoir-metadata (част от Python Hachoir пакета). Чрез него може да се извличат данни от различни формати файлове (JPEG, MP4, PDF и др.). Например:
hachoir-metadata снимка.jpg
Metadata:
- Image width: 640 pixels
- Image height: 480 pixels
- Image orientation: Horizontal (normal)
- Bits/pixel: 24
- Pixel format: YCbCr
- Creation date: 2008-11-01 21:15:07
- Creation date: 2008-10-23 14:28:17
- Latitude: 43.46715666666389
- Longitude: 11.885394999997223
- Camera aperture: 2.9
- Camera focal: 4.5
- Camera exposure: 1/178.3
- Camera model: COOLPIX P6000
- Camera manufacturer: NIKON
- Compression: JPEG (Baseline)
- Thumbnail size: 6339 bytes
- ISO speed rating: 64
- EXIF version: 0220
- Date-time original: 2008-10-22 16:29:49
- Date-time digitized: 2008-10-22 16:29:49
- Exposure bias: 0
- Focal length: 6
- Flashpix version: 0100
- Focal length in 35mm film: 28
- Producer: Nikon Transfer 1.1 W
- Comment: ASCII
- Comment: JPEG quality: 73% (approximate)
- MIME type: image/jpeg
- Endianness: Big endian
Python библиотеки
За автоматизации може да се ползват библиотеки като hachoir
или Pillow
.
from hachoir.parser import createParser
from hachoir.metadata import extractMetadata
parser = createParser("файл.jpg")
metadata = extractMetadata(parser)
for line in metadata.exportPlaintext():
print(line)
from PIL import Image
img = Image.open('photo.jpg')
exif_data = img._getexif()
print(exif_data)
Реални примери от OSINT
Разполагаме с модифицирана версия на известната снимка от Windows XP - “Bliss”. Нека използваме exiftool
, за да извлечем метаданните от нея:
exiftool WindowsXP_1551719014755.jpg
ExifTool Version Number : 13.30
File Name : WindowsXP_1551719014755.jpg
Directory : .
File Size : 234 kB
File Modification Date/Time : 2025:06:26 22:02:13+03:00
File Access Date/Time : 2025:06:26 22:02:38+03:00
File Inode Change Date/Time : 2025:06:26 22:02:36+03:00
File Permissions : -rw-r--r--
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
XMP Toolkit : Image::ExifTool 11.27
GPS Latitude : 54 deg 17' 41.27" N
GPS Longitude : 2 deg 15' 1.33" W
Copyright : OWoodflint
Image Width : 1920
Image Height : 1080
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
Image Size : 1920x1080
Megapixels : 2.1
GPS Latitude Ref : North
GPS Longitude Ref : West
GPS Position : 54 deg 17' 41.27" N, 2 deg 15' 1.33" W
След бърз преглед виждаме, че снимката има данни за Copyright и GPS Position:
- OWoodflint
- 54°17′41.27″ N, 2°15′1.33″ W
След кратък Google search, откриваме, че снимката е направена в близост до Widdale Beck, Великобритания. Намираме също така и профили на автора - X, GitHub и личен WordPress блог. От въпросните сайтове можем да разберем какъв му е имейлът (OWoodflint@gmail.com), къде се намира сега и какво прави. С търсене в интернет за около 10 минути може да се мине предизвикателството и всички “следи” да бъдат открити.
Заключение
Метаданните са като цифрови отпечатъци - те разказват история, която авторът често не осъзнава, че оставя. Както видяхме от примера с модифицираната “Bliss” снимка, дори малко количество метаданни може да доведе до значителни открития - от GPS координати до лична информация за автора. Това демонстрира колко мощен може да бъде този подход при правилното му прилагане.