Chepy は CyberChef の機能を Python や CLI で利用できるようにしたツールです。
CyberChef と同様に変換処理をつなげていくことができたり CLI ではオートコンプリート機能が備わっていたりと便利そうな感じでした。 なお、CyberChef のすべての機能が実装されているわけではないようです(例えば magic はないとのこと)。
- GitHub - securisec/chepy: Chepy is a python lib/cli equivalent of the awesome CyberChef tool.
https://github.com/securisec/chepy
インストール方法
- Chepy — Chepy documentation
https://chepy.readthedocs.io/en/latest/
Python で利用する場合
pip3 install chepy
Python 環境で例えば以下のように利用します。
from chepy import Chepy str = ".hbL ugvJ rO gnP ruG lnZ" print( Chepy(str) .reverse() .rot_13() .o )
CLI で利用する場合
git clone https://github.com/securisec/chepy.git cd chepy pip3 install . pip3 install pyinstaller pyinstaller cli.py --name chepy --onefile
pyinstaller コマンドが見つからないと言われるときはインストール先のパスが通っているか確認するとよいかもしれません。 もしインストール先のパスが通っていない場合は pip したときに警告が出ているはずです。*1
今回の環境では「~/.local/bin/」配下にインストールされたので、次のように打ち込むことでも実行できました。
~/.local/bin/pyinstaller cli.py --name chepy --onefile
無事に pyinstaller での処理が成功したら、実行形式のファイルが「chepy/dist」配下に作成されます。
$ ./chepy usage: chepy [-h] [-v] [-r RECIPE] data [data ...] chepy: error: the following arguments are required: data
直接文字列を引数として与えても使えますし、ファイルを読み込んで使うこともできます。 以下のようにオートコンプリート機能でわりとサクサク利用できました。
使い方のサンプル
実際の CTF 問題を例に、ツールの使い方が紹介されています。
- Examples — Chepy documentation
https://chepy.readthedocs.io/en/latest/examples.html
更新履歴
- 2021/01/07 新規作成
- 2021/01/08 コードの記載にシンタックスハイライトを適用
*1:「WARNING: The script base58 is installed in '/home/{username}/.local/bin' which is not on PATH.」のような警告表示が出ると思います。