これは、さまざまなセキュリティ研究ツールのインストールを作成するためのセットアップスクリプト集です。
もちろん難しい問題ではありませんが、ツールを一箇所にまとめて、新しいマシンなどに簡単にデプロイできるのは非常に便利です。
これらのツールのインストールスクリプトは定期的にチェックされているので、うまく動作する可能性は高いはずです!
以下のツールのインストーラが含まれています:
| カテゴリ | ツール | 説明 |
|---|
| binary | angr | Shellphish 製の次世代バイナリ解析エンジン。 |
| binary | angr-management | GUI リバースエンジニアリングおよび逆コンパイルツール。 |
| binary | beef | ブラウザ Exploitation フレームワーク。 |
| binary | crosstool | クロスコンパイラおよびクロスアーキテクチャツール。 |
| binary | cross2 | 日本語の C 言語の本に掲載されているクロスコンパイルツールセット。 |
| binary | decomp2dbg | デコンパイラからデバッガに対話型シンボルを導入するプラグイン。 |
| binary | elfkickers | ELF ファイルを操作するためのユーティリティ集。 |
| binary | elfparser | ELF ファイルに関する情報を表示するマルチプラットフォームの CLI および GUI ツール。 |
また、CTF 以外のものを対象としたインストーラもいくつかあり、単調さを打破します!
| カテゴリ | ツール | 説明 |
|---|
| game | df | Dwarf Fortress! CTF の後にリラックスするのに役立ちます! |
使い方
使用するには、次のようにします:```bash
set up the path
/path/to/ctf-tools/bin/manage-tools setup
source ~/.bashrc
manage-tools list
install gdb, allowing it to try to sudo install dependencies
manage-tools -s install gdb
manage-tools install pwntools
manage-tools -n install qemu
uninstall gdb
manage-tools uninstall gdb
manage-tools uninstall all
manage-tools search preload
可能な限り、ツールはインストールを非常に自己完結的に保ちます(つまり、tool/ ディレクトリ内に)。また、ほとんどのアンインストールは `git clean` の呼び出しだけです(**注意**: これは **注意深く** ありません。ツールディレクトリ内のすべてのもの、作業中のものを含めて、アンインストール中に消去されます)。
Python および Ruby のツールは、ツール固有の仮想環境にインストールされます。
この環境に他のパッケージを追加したい場合は、`ctf-tools/TOOL/pipx` または `ctf-tools/TOOL/gems` ディレクトリを参照してください。
## ヘルプ!
何かうまくいかない?
私はこれらのツールを(ほとんど)書いていませんが、切羽詰まった場合は [Discord](https://discord.gg/KRcjyn4pBH) に連絡してください。誰か親切な人が助けてくれるかもしれません!
## Docker 化されたツール
### プリビルドツールコンテナ
これらのツールのほとんどは、[https://hub.docker.com/r/ctftools](https://github.com/zardus/ctf-tools/blob/HEAD/dockerhub) からプリビルドコンテナとして入手できます。
例:```console
$ echo hi | docker run -i ctftools/taintgrind taintgrind --taint-stdin=yes /bin/cat
/home/ctf/tools/taintgrind/valgrind-3.21.0/build/bin/valgrind --tool=taintgrind --taint-stdin=yes /bin/cat
==8== Taintgrind, the taint analysis tool
==8== Copyright (C) 2010-2018, and GNU GPL'd, by Wei Ming Khoo.
==8== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==8== Command: /bin/cat
==8==
0xFFFFFFFF: _syscall_read | Read:3 | 0x0 | 4a5a000_unknownobj
hi
==8==
自分でビルドする
以下のコマンドでDockerイメージをビルドできます:```bash
git clone https://github.com/zardus/ctf-tools
cd ctf-tools
docker build -t ctf-tools --build-arg PREINSTALLED=some-tool .
そして、次のコマンドで実行します:```bash
docker run -it ctf-tools
ビルドされたイメージには、ctf-tools がクローンされ、使用準備が整っており、ツールもインストールされています。
Kali Linux
Kali Linux (Sana および Rolling) では、特定のライブラリを手動で最新版を使用しないように設定しているため(数年古い場合もある)、一部のツールがまったくインストールされない、または奇妙な方法で失敗することがあります。
これらのライブラリを上書きすると、Kali に含まれている他のツールが壊れるため、唯一の解決策は、Kali のいくつかのツールが壊れた状態で我慢するか、Docker を使用するか、Ubuntu などの別のディストリビューションを別途実行することです。
ツールの追加
ツールを追加するには(たとえば toolname という名前)、次の手順を実行します。
toolname ディレクトリを作成します。
install スクリプトを作成します。
- README に追加します。
- (オプション) 特別なアンインストール手順が必要な場合は、
uninstall スクリプトを作成します。
インストールスクリプト
インストールスクリプトは、$PWD が toolname である状態で実行されます。可能な限り、このディレクトリにツールをインストールする必要があります。
理想的には、git clean で完全なアンインストールが可能であるべきです。
インストールスクリプトは bin ディレクトリを作成し、その中に実行可能ファイルを配置する必要があります。
これらの実行可能ファイルは、自動的にリポジトリのメイン bin ディレクトリにリンクされます。
これらは任意のディレクトリから起動できるため、$0 の場所について仮定しないでください!
ライセンス
個々のツールはそれぞれのライセンスの下でライセンスされています。
ctf-tools 自体は BSD 2-Clause ライセンスの下でライセンスされています。
便利だと思ったら、GitHub でスターを付けてください (https://github.com/zardus/ctf-tools)。
幸運を祈ります!
関連項目
インストーラはありませんが、厳選された CTF ツールのリストはこちらにあります: https://github.com/apsdehal/aWEsoMe-cTf.
大規模なフレームワークを多数含む Vagrant 設定はこちら: https://github.com/thebarbershopper/epictreasure.
apt リポジトリの便利な CTF ツール
ツールが公式にパッケージ化されるにつれて、単に apt install を推奨するように切り替えています!
Docker イメージの便利な CTF ツール
以前、このリポジトリには docker pull をラップするスクリプトが含まれていました。
自分でできると信じています :-)
| Category | Source | Tool | Description |
|---|
| binary | docker | panda |
便利な CTF ライブラリ
以前、このリポジトリにはライブラリインストーラが含まれていました。
ライブラリのインストール設定が非常に個別的であるため(例えば、ツールとは異なり、ライブラリごとの venv が望ましいかどうかは明確ではありません)、それらを提供するのをやめ、後世のためにここにリンクします。