見出し画像

【備忘録】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が開きます。
私は以下のエラーでインストールがうまくいきませんでした。

The installer detected some issues on your system, that might prevent IDA from running correctly; please review them and act accordingly. Missing system libraries for platform module /opt/idafree-8.3/plugins/platforms/libqxcb.so: /opt/idafree-8.3/plugins/platforms/libqxcb.so: error while loading shared libraries: libxcb-xinerama.so.0: cannot open shared object file: No such file or directory

ざっくりいうと、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 ○○…」で使えるようになるはずでしたが、以下エラーが出てしまったので、この後に追加で設定をする。

usn.py: command not found

まず、以下コマンドでインストールされたディレクトリを確認する。

$ pip show usnparser
 Locationの確認

このディレクトリがPATHに追加されていないと使えないので、設定する。

$ export PATH=$PATH:~/.local/lib/python3.10/site-packages

この後ターミナルの再起動で設定を反映させる。
これで、usn.pyスクリプトが~/.local/lib/python3.10/site-packagesにあるため、任意のディレクトリから直接実行できるようになる。

この記事が気に入ったらサポートをしてみませんか?