2016年12月

SharifCTF 7 writeup Getit

fileコマンドでダウンロードしたファイルのファイルタイプを確認します。Linuxの64bitアプリケーションです。
$ file getit 
getit: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=e389cd7a4b9272ba80f85d7eb604176f6106c61e, not stripped
stringsコマンドでファイル中の文字列を調べてみます。
$ strings getit 
(略)
c61b68366edeb7bdce3c6820314b7498
SharifCTF{????????????????????????????????}
*******************************************
フラグらしき文字列が見つかりましたので、
SharifCTF{c61b68366edeb7bdce3c6820314b7498}
をsubmitしてみますが、これはフラグではないようです。
次に、edb-debbugerでステップ実行して動作を確認してみます。アドレス400824で止めてみると、レジスタRSIが指すところにフラグ文字列が見つかります。
 
no title

このフラグをsubmitすると正解でした。したがって、フラグは、
SharifCTF{b70c59275fcfa8aebf2d5911223c6589}
です。
 
デバッガによるx86プログラム解析入門【x64対応版】
Digital Travesia管理人 うさぴょん
秀和システム
2014-10-22


SharifCTF 7 writeup Camera Model

ダウンロードしたファイルのファイルタイプを確認します。
$ file Image_Viewer
Image_Viewer: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=c3aaafe49fbcc6a7a2adbcdf4f3c2dd125a3dd32, not stripped
Linuxの64bitアプリです。実行してみると、下図のような画像が表示されます。

no title

それでは、この画像データを抽出してみます。まず、edbで実行し、下図のようにアドレス401322あたりで止めます。このとき、レジスタRAXで示されているHeapメモリを見てみると、JPEGフォーマットのデータがあることが分かります。Heapメモリの内容をファイルに保存し、JPEGデータの部分だけを切り取ってファイルに保存します。

2

保存したファイルを表示してみると、プログラムを実行したときに表示された画像と同じものです。

ddd

このJPEG画像のEXIF情報を確認すると、下図のとおりモデル名がDSLR4781であることが分かります。

1

DSLR4781のMD5ハッシュ値を求めて、フラグは、 
SharifCTF{ccb7ed56eea6576263abeca4cdb03f62}
になります。

Exif Viewer
Mikufu Works
2014-04-18


記事検索
ギャラリー
  • TetCTF 2023 NewYearBot
  • UUT CTF writeup Find The Password
  • UUT CTF writeup The Puzzle
  • Hack Zone Tunisia 2019 writeup Microscope
  • Hack Zone Tunisia 2019 writeup Welcome
  • SwampCTF 2019 writeup Brokerboard
  • SwampCTF 2019 writeup Leap of Faith
  • SwampCTF 2019 writeup Last Transmission
  • CBM CTF 2019 writeup Long road
カテゴリー