【備忘録】UbuntuでCTFに必要な環境を揃える
環境構築にことごとく詰まるので、備忘録です。
gitのダウンロード
Ubuntuって初期だとgitも入ってないんですね。
ターミナルで以下コマンドを実行するとダウンロードできる。
$ sudo apt-get install git-all
IDAをインストール
IDAとは:
IDA(Interactive DisAssembler)は、リバースエンジニアリングやマルウェア解析などのセキュリティ関連のタスクに使用される強力な逆アセンブラおよびデバッガのこと。
公式のページから、自分の環境に合ったものをダウンロード。今回はLinux用。
ダウンロードできたら、ターミナルでidafreeXX_linux.run(タイミングによってバージョンが異なる)がある階層まで移動する。
ダウンロードしたままの状態だと権限がないので、以下のコマンドで付与する。
$ chmod +x idafree83_linux.run
//83のところはバージョンなので、自分のダウンロードしたものに合わせる。
権限が付与できたら、以下コマンドでインストーラーを起動する。
$ sudo ./idafree83_linux.run
//83のところはバージョンなので、自分のダウンロードしたものに合わせる。
そのままForwardで進めていくと、インストール先を聞かれるのでデフォルトでOK。
進めた際に、うまくいけばインストールが完了して、IDAが開きます。
私は以下のエラーでインストールがうまくいきませんでした。
ざっくりいうと、libqxcb.so モジュールに必要なライブラリである libxcb-xinerama.so.0 が見つからないよって言われてます。なので、それを手動で追加します。
$ sudo apt-get install libxcb-xinerama0
これが完了したら、もう一度「idafree83_linux.run」を実行してみる。すると今度はうまくいきます。
デスクトップにアイコンができるので、それをクリックするとIDAが起動します。(一番最初はこちらにも権限がないので、アイコンを右クリックして許可してあげる必要あり。)
gdbをインストールし、gdb-pedaを使えるようにする
gdbとは:
gdb(GNU Debugger)は、オープンソースのデバッグツールで、C、C++、Fortranなどのプログラムをデバッグするために広く使用される。
gdb-pedaは、gdbをpythonで拡張した機能で、色がついたりして視覚的にわかりやすくなるようサポートをしてくれる。
まず、gdbのインストール
$ sudo apt update
$ sudo apt install gdb
次に、pedaの拡張機能をインストール
git clone https://github.com/longld/peda.git ~/peda
最後に.gdbinitファイルに”source ~/peda/peda.py”というコマンドを追記して、gdb-pedaを簡単に呼び出せるようにする
$ echo "source ~/peda/peda.py" >> ~/.gdbinit
これで、ターミナルでgdbとコマンドを打つだけでgdb-pedaが使えるようになる。
dnspyをインストール
pipをインストール
$ sudo apt update
$ sudo apt install python3-pip
これでインストールが完了したら、以下のコマンドでバージョンを確認する。正常にバージョンが返ってきたらインストールできている。
$ pip --version
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
usnparserコマンドをインストール
usnparserとは:
WindowsのUpdate Sequence Number (USN) ログエントリを解析するためのPythonツールやライブラリのことを指す。USNは、NTFS (New Technology File System) ファイルシステムで使用される変更トラッキングメカニズムで、ファイルやディレクトリの変更を記録するために使われる。
以下コマンドでインストール
$ pip install usnparser
これだけインストールが完了し、「usn.py ○○…」で使えるようになるはずでしたが、以下エラーが出てしまったので、この後に追加で設定をする。
まず、以下コマンドでインストールされたディレクトリを確認する。
$ pip show usnparser
このディレクトリがPATHに追加されていないと使えないので、設定する。
$ export PATH=$PATH:~/.local/lib/python3.10/site-packages
この後ターミナルの再起動で設定を反映させる。
これで、usn.pyスクリプトが~/.local/lib/python3.10/site-packagesにあるため、任意のディレクトリから直接実行できるようになる。