ox0xo infosec tutorial

バイナリ解析の基礎

2018-08-22
CTF

TCP/IPパケットの読み方

解析の手順

  1. バイナリファイルに隠されたフラグ文字列を探索する
  2. 文字列が暗号化されている場合は復号する

探索ツール

file ファイルの種類を判別する

使い方
$ file a.obj

インストール方法
Linuxに標準で入っています

strings ファイル中の文字列を探索する

使い方
$ strings a.obj

インストール方法
Linuxに標準で入っています

binwalk ファイル中に埋め込まれた別のファイルを探索する

使い方
$ binwalk a.obj

インストール方法
$ git clone https://github.com/refirmlabs/binwalk
$ cd binwalk
$ python setup.py install

7za ファイル中に埋め込まれたzipファイルを探索する

使い方
$ 7za L a.obj

インストール方法
$ yum install -y epel-release
$ yum install -y p7zip

7za zipファイルを解凍する

使い方
$ 7za x a.obj

解読ツール

base64 base64エンコードされた文字列をデコードする

使い方
$ echo 解読したい文字列 |
 base64 --decode

インストール方法
Linuxに標準で入っています

base58 base58エンコードされた文字列をデコードする

使い方
$ echo 解読したい文字列 |
 python -c 'import base58, sys;
 print(base58.b58decode(sys.stdin.read()[:-1]))'

インストール方法
$ yum install -y wget
$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py
$ pip install base58

urllib パーセントエンコードされた文字列をデコードする

使い方
$ echo 解読したい文字列 |
 python -c 'import urllib, sys;
 print(urllib.unquote_plus(sys.stdin.read()[:-1]))'

インストール方法
Linuxに標準で入っています

tr シーザー暗号(ROT13)を解く

使い方
$ echo 解読したい文字列 | tr A-Z N-ZA-M

インストール方法
Linuxに標準で入っています

問題

このファイルに隠されているフラグを探してください。 フラグの形式は FLAG_Expression です。

解答

  • Ctrl+A

FLAG_WELCOMETOTHECTF


Similar Posts

Content