アロワナ飼いたい

いつかアロワナを飼いたい人のブログです

exiftoolを使う

概要

写真などの画像ファイルに埋め込まれたexifデータを抽出するツールであるexiftoolに関するメモ。CTFでは、ファイルのメタ情報にフラグが隠されていたり、写真の撮影場所を特定する問題が出るため、そういった場合に用いることがある。


インストール方法と使い方

以下のコマンドでインストールできる。

$ sudo apt update
$ sudo apt install libimage-exiftool-perl


以下のコマンドでexif情報の確認ができる。

$ exiftool <exif情報を抽出したいファイル>


また、ファイルにコメントを追加することもできる。

$ exiftool -comment="追加したいコメント" <ファイル> 

コメントの追加などでファイルを更新すると、同ディレクトリ内に「<ファイル名>_original」というファイルがバックアップとして作成される。これは、更新する前のファイルと同様のものである。


GPS関連の知識

exif情報で特に重要なものは、写真が撮影された位置情報である。exiftoolを使って位置情報を確認してみる前に、位置情報に関することを簡単に述べておく。 まず、GPS(Global Positioning System)とは、現在地などを知るためのシステムを指し、これに対してGIS(Global Information System)とは、地図やそれに付随する様々な情報を得ることができるシステムのことを指す。

位置情報を知るためのシステムに、GPS Coordinatesというサイトがある。 www.gps-coordinates.net

上記サイトでは、緯度経度をDD(decimal degree)表記やDMS(degree, minute, second)表記で入力すると、その場所の情報を表示してくれる。なお、60分=1度、3600秒=1度である。


練習

exiftoolを使って、CTFの問題「Hike(PatriotCTF 2022)」を解く。

アメリカのどこかの山で撮影された写真が与えられ、山の名前を答えよという問題である。exif情報から位置情報を確認し、山の名前を特定すればよい。 問題文と写真は次のリンクから確認できる。

github.com


exiftoolで確認すると、たくさんの情報が表示される。

$ exiftool hike.jpg


位置情報をフィルタリングする。

$ exiftool hike.jpg | strings GPS


DMS(Degree, Minute, Second)表記で位置情報が表示される。

GPS Latitude                    : 38 deg 33' 6.24"
GPS Longitude                   : 78 deg 19' 59.86"


問題文より、アメリカの山ということが述べられているので、北緯西経の情報をGPS Coordinatesにて入力し、「Get Address」をクリックする。


「Berry Hollow Trail」という場所にピンが指される。 「berry hollow trail mountain」でググると、「Old Rag Mountain」という山がヒットする。 よって、「PCTF{Old_Rag_Mountain}」がフラグである。


感想

導入/利用ともに簡単であった。CTFにおいては、exiftoolに食わせるだけで解けるような問題はほぼないと思うが、基本的なツールとしてしっかりと押さえておきたい。また、exif情報に関して言えば、自身が撮影した写真をインターネット上に公開する場合に、exif情報の削除を忘れないようにしたい(主要SNSでは、写真のアップロード時に自動的にexif情報は削除されるとはいえ)。


参考

pen.envr.tsukuba.ac.jp

qiita.com