setodaNote

忘れる用のメモ書き for Cybersecurity

Chepy:Cyber​​Chef の機能を備えた Python ライブラリ/CLI

Chepy は Cyber​​Chef の機能を Python や CLI で利用できるようにしたツールです。

Cyber​​Chef と同様に変換処理をつなげていくことができたり CLI ではオートコンプリート機能が備わっていたりと便利そうな感じでした。 なお、Cyber​​Chef のすべての機能が実装されているわけではないようです(例えば magic はないとのこと)。

f:id:soji256:20210107232248p:plain:w360
Chepy

インストール方法

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

直接文字列を引数として与えても使えますし、ファイルを読み込んで使うこともできます。 以下のようにオートコンプリート機能でわりとサクサク利用できました。

f:id:soji256:20210107235821p:plain:w520
CLI での使い方

使い方のサンプル

実際の CTF 問題を例に、ツールの使い方が紹介されています。

更新履歴

  • 2021/01/07 新規作成
  • 2021/01/08 コードの記載にシンタックスハイライトを適用

*1:「WARNING: The script base58 is installed in '/home/{username}/.local/bin' which is not on PATH.」のような警告表示が出ると思います。