このリポジトリは,チームで参加したCTF のWriteup や,CTF で使うツールの使い方をまとめたリポジトリです.
-
問題のカテゴリごとにディレクトリを作成しているので,それぞれの直下に
CTFの名前のディレクトリを作成してください. -
さらに問題ごとにディレクトリを作成し,直下に問題内容とWriteupへのリンクを記した
README.mdを作成してください.(README.mdにはネタバレを載せないようにしましょう) -
以下は,ある問題のディレクトリ構成です.このように,
Writeupやsolverを含むネタバレファイルはsolveというディレクトリに置いておきましょう.. ├── README.md ├── assets │ ├── ghidra_asm.png │ ├── ghidra_asm2.png │ ├── ghidra_compare.png │ └── ghidra_main.png └── solve ├── solve.py └── writeup.md -
writeupを書く際に必要になった画像ファイルなどは,
assetsディレクトリに置きましょう.
このリポジトリには、CTFのWriteup用ディレクトリとファイルを自動生成するツール writeup が含まれています。
-
~/opt/binディレクトリをPATHに追加します:# .bashrc または .zshrc に追加 export PATH="$HOME/opt/bin:$PATH"
-
シェルを再起動するか、設定ファイルを再読み込みします:
source ~/.bashrc
-
ツールをインストールします:
cd utils make
writeup init GENRE/EVENT_NAMEGENRE:crypto,forensics,misc,osint,pwn,reversing,webのいずれかEVENT_NAME: CTFイベント名(例:hoge_CTF_2023)
例:
writeup init crypto/hoge_CTF_2023cd GENRE/EVENT_NAME
writeup add CHALLENGE_NAME例:
cd crypto/hoge_CTF_2023
writeup add My_Question1このコマンドにより、以下の構造が自動生成されます:
My_Question1/
├── README.md # 問題の概要とSolutionへのリンク
├── given_files/ # 問題ファイル置き場
├── assets/ # Writeup用画像ファイル置き場
└── solve/
└── writeup.md # 解法の詳細
cd utils
make clean