CTFに入門したいと数ヶ月前に思った私が今までに調べたもの

## 始めに

QiitaにCTFアドベントカレンダーが無いなと思っていましたが、[こちらのサイト](https://adventar.org/calendars/6914)にCTFアドベントカレンダーがあるようでした。記事が充実しており一読することをお勧めいたします。

https://adventar.org/calendars/6914

## この記事は何

社会人歴が数年になる私が、CTF(Capture The Flag)に入門したいと以前から思っていたものの方法が全く分からず、数ヶ月前から週末に入門者向けの記事を探してきたものを整理したものです。

以下の観点でまとめています。（基本リンク貼ってるだけです、、）

- 公式サイト系
- イベント系
- ブログ系
- 書籍系
- ツール系
- コマンド系

今後、私がちゃんとCTFに入門できるまで本記事はアップデートしていきます。
ベテラン勢の方、初心者記事をお許し下さい。

## 公式サイト系

日本だけでなく、海外でも非常に活動が盛んなようにみえます。

https://www.seccon.jp/2021/seccon/about.html

https://ctftime.org/ctfs

## イベント系

こちらも日本だけでなく、海外でも非常に活動が盛んなようにみえます。

https://ctf.cpaw.site/

https://picoctf.org

https://los.rubiya.kr/

https://xss-game.appspot.com/

http://mnctf.info/

https://ctf.cybersoc.wales/

常設CTFとかで有名なのはksnctfとか

http://ksnctf.sweetduet.info

CTF実施する場合は以下のCTFdを利用するのがおすすめである様子

https://github.com/CTFd/CTFd

上記、以下に同様のまとめが載っていた、、、

https://gist.github.com/trietptm/e5d9dd45b119dc60e2d9a35326891301

https://nanuyokakinu.hatenablog.jp/entry/2015/08/24/213158

## ブログ系
以下、入門の私にとって非常に参考になっている記事です。

[CTFとは？](https://www.slideshare.net/hiromu1996/ctf-32346373)
[CTF for ビギナーズ 2015開催報告 at SECCON 2015 カンファレンス](https://www.slideshare.net/ctf4b/ctf-for-2015-at-seccon-2015)
[CTF for ビギナーズ　バイナリ講習資料](https://www.slideshare.net/ctf4b/ctf-for)
[CTF for ビギナーズ　ネットワーク講習資料](https://www.slideshare.net/ctf4b/ctf-for-60147258)
[オススメの初級者向けCTF](https://tech.kusuwada.com/entry/2020/12/02/065100)
[Pwn入門](https://qiita.com/GmS944y/items/2973b380d8268b797242)
[x64でpwnするときの注意点 - Qiita](https://qiita.com/4hiziri/items/298539ed8c945e8e6329)

## 書籍系

最近発売された以下を購入してみました。説明は非常に分かりやすい。
ただReversingや暗号、バイナリ解析はパッと見難しいので徐々に読む。

[詳解セキュリティコンテスト ~CTFで学ぶ脆弱性攻略の技術](https://www.amazon.co.jp/%E8%A9%B3%E8%A7%A3%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%B3%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88-CTF%E3%81%A7%E5%AD%A6%E3%81%B6%E8%84%86%E5%BC%B1%E6%80%A7%E6%94%BB%E7%95%A5%E3%81%AE%E6%8A%80%E8%A1%93-%E6%A2%85%E5%86%85-%E7%BF%BC/dp/4839973490)
> 情報セキュリティ技術を競うコンテストCTF(Capture the Flag)に臨むための技術について理論と実践から学んでいく一冊です。現代CTFの主流であるWeb(Webアプリケーションへの攻撃)、Crypto(暗号解読)、Reversing(バイナリ解析)、Pwnable(低級プログラムの掌握)の4ジャンルについて取り扱います。

## ツール系

おそらく設問を解く場合はツール選定も重要となり、多くの選択肢があると思います。
多くのプログラミングコンテストは指定したプログラミング言語の標準ライブラリを駆使して実装するがCTFはツールの自由度の高さが特徴のようにみえる。
とりあえずシンプルなものだけ載せる。。色々なツールを調べていきたい。
（初心者の方に向けて何かしらの参考になれば幸い）

[wireshark](https://www.wireshark.org/)
> [Wireshark](https://ja.wikipedia.org/wiki/Wireshark)
> Wireshark（ワイヤシャーク）は、ネットワーク・アナライザ・ソフトウェアである。

[idapython_docs](https://hex-rays.com/products/ida/support/idapython_docs/)
> [https://github.com/idapython/src](https://github.com/idapython/src)
> IDAPython is an IDA plugin which makes it possible to write scripts for IDA in the Python programming language. 

## 過去問系
過去問の解説記事は`write up ctf`で検索すると出てくる。
`write up`を読むだけでもとても勉強になります。感謝です。一日中ブログ読んでも飽きませんでした。
以下、入門の私にとって非常に参考になっている記事です。

※ `write up`禁止のイベントもあるようなので注意

https://tech.kusuwada.com/entry/2021/04/08/120923

https://tech.kusuwada.com/entry/2021/04/08/121247

https://tech.kusuwada.com/entry/2021/04/08/121028

https://www.starplatinum.jp/ctf_writeup/

https://feneshi.co/ctf4b2021writeup/

https://y0m0g1.hatenablog.com/

https://ctftime.org/writeups

https://github.com/csivitu/CTF-Write-ups

http://ctf.cpaw.site/

#### 有名チーム`urandom`の`write up`!!

https://urandom.team

## コマンド系
こちらも設問を解く場合はコマンド選びが重要となり、沢山の選択肢から選ぶ必要があるはず。
とりあえず超初心者コマンドだけ載せる。。
（初心者の方に向けて、どんなコマンドを超超入門問題で使うかイメージ湧いて貰えれば幸い）

### `file`

ファイルタイプを判定する  
https://linuxjm.osdn.jp/html/file/man1/file.1.html

```
$ file test.png 
test.png: PNG image data, 400 x 300, 8-bit/color RGBA, non-interlaced
```

### `string`

ファイル中の表示可能な文字列を表示する

https://linuxjm.osdn.jp/html/GNU_binutils/man1/strings.1.html

```
$ strings ~/test.txt 
test
this is a pen
```



---
記事の最終更新時点ではこれだけです。
ベテラン勢の方、初心者記事をお許し下さい。
CTF友達がおらず寂しい思いをしております誰か友達になってくださいお願いしますm(_ _)m