ペンテスター勉強方法　ロードマップ　

ペネトレーションテストをどのように勉強してきたかのメモになります。

本の紹介が多めです。

※Hack The Boxのアクティブマシンを一人で攻略できる人は
　読んでもあまり意味がないかもしれないです。

## ITの基礎知識固め

まずはOSの理解やネットワークの理解はIT業界で働いていく以上、
必ずどこかのタイミングで必要になるかなと思います。

業務上必要な実践的なスキルを身に着けていくとさらに良いと思います。

### ・OSやコンピュータアーキテクトの基礎

<a target="_blank" href="https://www.amazon.co.jp/%25E5%25B7%25A5%25E5%25AD%25A6%25E5%259F%25BA%25E7%25A4%258E%25E3%2582%25B7%25E3%2583%25AA%25E3%2583%25BC%25E3%2582%25BA-%25E3%2582%25AA%25E3%2583%259A%25E3%2583%25AC%25E3%2583%25BC%25E3%2583%2586%25E3%2582%25A3%25E3%2583%25B3%25E3%2582%25B0%25E3%2582%25B7%25E3%2582%25B9%25E3%2583%2586%25E3%2583%25A0-%25E5%25AE%2589%25E5%2580%258D-%25E5%25BA%2583%25E5%25A4%259A/dp/4274229157/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=59e28438fd806476bba680ca613bcc33&camp=247&creative=1211">工学基礎　オペレーティングシステム
<img width="150" src="https://m.media-amazon.com/images/I/71s4J2zIX1L._SY385_.jpg" ></a>


>**下記が最低限わかれば飛ばしてもいいかなと思います**
プロセスとは
仮想メモリとは
スワップ領域とは
ガーベッジコレクションとは
ファイルシステムとは
CPUがどのようにしてプロセスを並列で動かしているか
OSとソフトウェアとハードウェアの関係性

セキュリティ以外でも、リソース不足などの性能の問題が発生したときに、
OSの理解は業務上役立つ場合があります。


### ・Windowsのコマンド基礎
<a target="_blank" href="https://www.amazon.co.jp/%25EF%25BC%25BB%25E6%2594%25B9%25E8%25A8%2582%25E7%25AC%25AC3%25E7%2589%2588%25EF%25BC%25BDWindows%25E3%2582%25B3%25E3%2583%259E%25E3%2583%25B3%25E3%2583%2589%25E3%2583%2597%25E3%2583%25AD%25E3%2583%25B3%25E3%2583%2597%25E3%2583%2588%25E3%2583%259D%25E3%2582%25B1%25E3%2583%2583%25E3%2583%2588%25E3%2583%25AA%25E3%2583%2595%25E3%2582%25A1%25E3%2583%25AC%25E3%2583%25B3%25E3%2582%25B9%25EF%25BC%25BB%25E4%25B8%258A%25EF%25BC%25BD-Pocket-reference-%25E5%25B1%25B1%25E8%25BF%2591-%25E6%2585%25B6%25E4%25B8%2580/dp/4297137232/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=16a068c6bdaf5b71d9739e4e5a8d0275&camp=247&creative=1211">Windowsコマンドプロンプト クイックリファレンス 上
<img width="150" src="https://m.media-amazon.com/images/I/81HysbODOOL._SY385_.jpg">
</a>

上と下があります。

攻撃者が環境の情報収集に使うWindowsのコマンドの理解につながります。

また、通常業務上も何かと役に立つので気になるところだけでも
読んでおきましょう。

>**攻撃者がよく使うコマンドなど**
whoami
net user /domain
net use


### ・Linuxのコマンド基礎


最初からKali Linuxを使っていたのですが、実際に網羅的に勉強すると
見える世界が変わります笑

セキュリティのための勉強であれば、LPIC-2の内容まで理解すると十分です

<a target="_blank" href="https://www.amazon.co.jp/Linux%25E6%2595%2599%25E7%25A7%2591%25E6%259B%25B8-LPIC%25E3%2583%25AC%25E3%2583%2599%25E3%2583%25AB1-Version5-0%25E5%25AF%25BE%25E5%25BF%259C-%25E4%25B8%25AD%25E5%25B3%25B6-%25E8%2583%25BD%25E5%2592%258C/dp/4798160490/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=0881fb16bdf00a69935852cc4ec22bc9&camp=247&creative=1211">Linux教科書 LPICレベル1
<img width="150" src="https://m.media-amazon.com/images/I/51jRzpjTFZL._SY445_SX342_.jpg">
</a>


### ・Pythonのコーディングスキル基礎
<a target="_blank" href="https://www.amazon.co.jp/%25E3%2582%25B5%25E3%2582%25A4%25E3%2583%2590%25E3%2583%25BC%25E3%2582%25BB%25E3%2582%25AD%25E3%2583%25A5%25E3%2583%25AA%25E3%2583%2586%25E3%2582%25A3%25E3%2583%2597%25E3%2583%25AD%25E3%2582%25B0%25E3%2583%25A9%25E3%2583%259F%25E3%2583%25B3%25E3%2582%25B0-%25E7%25AC%25AC2%25E7%2589%2588-%25E2%2580%2595Python%25E3%2581%25A7%25E5%25AD%25A6%25E3%2581%25B6%25E3%2583%258F%25E3%2583%2583%25E3%2582%25AB%25E3%2583%25BC%25E3%2581%25AE%25E6%2580%259D%25E8%2580%2583-Justin-Seitz/dp/4873119731/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=abedd8ed59964b15bde4130ebe64c386&camp=247&creative=1211">サイバーセキュリティプログラミング
<img width="150" src="https://m.media-amazon.com/images/I/819dqF8hXBL._SY385_.jpg">
</a>
Pythonに関しては好きな分野があればそれでいいと思います。

上記の本は第1版はPython2で記載されているので間違えないように
2版を読みましょう。

### ・TCP/IP ネットワーク技術の基礎

<a target="_blank" href="https://www.amazon.co.jp/%25E6%2597%25A5%25E7%25B5%258CIT%25E3%2582%25A8%25E3%2583%25B3%25E3%2582%25B8%25E3%2583%258B%25E3%2582%25A2%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25BC%25E3%2583%25AB-%25E3%2583%258D%25E3%2583%2583%25E3%2583%2588%25E3%2583%25AF%25E3%2583%25BC%25E3%2582%25AF%25E3%2583%2597%25E3%2583%25AD%25E3%2583%2588%25E3%2582%25B3%25E3%2583%25AB%25E6%259C%2580%25E5%25BC%25B7%25E3%2581%25AE%25E6%258C%2587%25E5%258D%2597%25E6%259B%25B8-%25E6%2597%25A5%25E7%25B5%258CNETWORK-ebook/dp/B077FG5KXR/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=ecc60da37d720ad9c7b8837386ae20a8&camp=247&creative=1211">ネットワークプロトコル
<img width="150" src="https://m.media-amazon.com/images/I/517sdAb4g+L._SY445_SX342_.jpg">
</a>

エンジニアなり立てのころはネットワークプロトコルが苦手だったのですが、
その時に一番読みやすく、全体像を理解しやすかった本です。
自信がある人は TCP/IPマスタリングを読んでみてもいいかもしれません。


## 初心者向けハンズオン

一旦、攻撃の全体像を理解するということを目指して、
セキュリティ系の本を読んでみても深く理解できるようになる
ころ合いかなと思います。


<a target="_blank" href="https://www.amazon.co.jp/%25E3%2583%258F%25E3%2583%2583%25E3%2582%25AD%25E3%2583%25B3%25E3%2582%25B0%25E3%2583%25BB%25E3%2583%25A9%25E3%2583%259C%25E3%2581%25AE%25E3%2581%25A4%25E3%2581%258F%25E3%2582%258A%25E3%2581%258B%25E3%2581%259F-%25E5%25AE%258C%25E5%2585%25A8%25E7%2589%2588-%25E4%25BB%25AE%25E6%2583%25B3%25E7%2592%25B0%25E5%25A2%2583%25E3%2581%25AB%25E3%2581%258A%25E3%2581%2591%25E3%2582%258B%25E3%2583%258F%25E3%2583%2583%25E3%2582%25AB%25E3%2583%25BC%25E4%25BD%2593%25E9%25A8%2593%25E5%25AD%25A6%25E7%25BF%2592-IPUSIRON-ebook/dp/B0CQ2M9WX2/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=d8729a6bc6d7ffa65b1316d2c1024d75&camp=247&creative=1211">ハッキングラボの作り方
<img width="150" src="https://m.media-amazon.com/images/I/51+Tp402jUL._SY445_SX342_.jpg">
</a>

とりあえず仮想環境を作れるようになります。
あとは、脆弱性に関して少し理解ができるようになるかな？？と思います。

<a target="_blank" href="https://www.amazon.co.jp/%25E3%2583%2580%25E3%2583%25BC%25E3%2582%25AF%25E3%2582%25A6%25E3%2582%25A7%25E3%2583%2596%25E3%2581%25AE%25E6%2595%2599%25E7%25A7%2591%25E6%259B%25B8-%25E5%258C%25BF%25E5%2590%258D%25E5%258C%2596%25E3%2583%2584%25E3%2583%25BC%25E3%2583%25AB%25E3%2581%25AE%25E5%25AE%259F%25E8%25B7%25B5-%25E3%2583%258F%25E3%2583%2583%25E3%2582%25AB%25E3%2583%25BC%25E3%2581%25AE%25E6%258A%2580%25E8%25A1%2593%25E6%259B%25B8-Cheena/dp/4781702414/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=08189b77cd6f31be4a72310fa63a288e&camp=247&creative=1211">ダークウェブの教科書
<img width="150" src="https://m.media-amazon.com/images/I/81FJ-6VkJRL._SY385_.jpg">
</a>

教養としてダークウェブを理解しておいたほうがいいかなと思います。
基礎が固まった段階で、理論的なものはまだまだありますが、、、
いったん後回しで、この辺りを読んでみると息抜きになるかなと思います。

<a target="_blank" href="https://www.amazon.co.jp/%25E3%2582%25B5%25E3%2582%25A4%25E3%2583%2590%25E3%2583%25BC%25E6%2594%25BB%25E6%2592%2583%25E3%2581%258B%25E3%2582%2589%25E4%25BC%2581%25E6%25A5%25AD%25E3%2582%25B7%25E3%2582%25B9%25E3%2583%2586%25E3%2583%25A0%25E3%2582%2592%25E5%25AE%2588%25E3%2582%258B%25EF%25BC%2581-OSINT%25E5%25AE%259F%25E8%25B7%25B5%25E3%2582%25AC%25E3%2582%25A4%25E3%2583%2589-%25E9%259D%25A2-%25E5%2592%258C%25E6%25AF%2585-ebook/dp/B0CQ1SPPQR/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=e2d695de5b1220b91730d9759d160846&camp=247&creative=1211">OSINT実践ガイド
<img width="150" src="https://m.media-amazon.com/images/I/81lD8zo3GLL._SY385_.jpg">
</a>
オープンソースの調査能力は業務でもすごく役に立つのと、
初期の段階である程度できるようになっておいたほうがいい

上記は比較的最近出た本でおすすめしておきます。

その他にも下記のシリーズはちょっとずつ読んでみると面白い
・ハッカーの教科書
・ハッカーの技術書
・ハッカーの学校

## サイバー攻撃の概念に関する理解

### サイバーキルチェーン
→比較的理解しやすい概念

検索したらたくさん記事が出るので読みやすいものを読んでみる

### Unified kill chain
→より詳しくなっているのでちょっと難しい
意外と日本語の記事が少ない

https://www.unifiedkillchain.com/

### 痛みのピラミッド
教養として知っておくべき攻撃者の残す痕跡(IoC)に関する知識

https://www.sans.org/tools/the-pyramid-of-pain/

### MITER ATT&CK
攻撃者の振る舞いや攻撃者の使うツール、手法などまとめられている
脅威ベースのペネトレーションテストを行えるようになるため、
基本的な内容を理解しておくことを推奨

https://attack.mitre.org/


## WEBセキュリティに関する基礎
WEBはHTTPやHTTPSへの攻撃のため領域としては狭そうだが、
機能が豊富かつWEBがない企業はほぼないといっても過言ではなく
独立しているイメージ

<a target="_blank" href="https://www.amazon.co.jp/%25E3%2583%25AA%25E3%2582%25A2%25E3%2583%25AB%25E3%2583%25AF%25E3%2583%25BC%25E3%2583%25AB%25E3%2583%2589%25E3%2583%2590%25E3%2582%25B0%25E3%2583%258F%25E3%2583%25B3%25E3%2583%2586%25E3%2582%25A3%25E3%2583%25B3%25E3%2582%25B0-%25E2%2580%2595%25E3%2583%258F%25E3%2583%2583%25E3%2582%25AD%25E3%2583%25B3%25E3%2582%25B0%25E4%25BA%258B%25E4%25BE%258B%25E3%2581%258B%25E3%2582%2589%25E5%25AD%25A6%25E3%2581%25B6%25E3%2582%25A6%25E3%2582%25A7%25E3%2583%2596%25E3%2581%25AE%25E8%2584%2586%25E5%25BC%25B1%25E6%2580%25A7-Peter-Yaworski/dp/4873119219/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=e74007dc9470f539015cbf703c208304&camp=247&creative=1211">リアルワールドバグハンティング
<img width="150" src="https://m.media-amazon.com/images/I/51biIQUPU9L._SX342_SY445_.jpg">
</a>

実際の悪用例から脆弱性を学べるのでとっつきやすい

有名な 安全なWEBアプリケーションの作り方 は分厚い&作り方の本なので
こちらから入門してもいいかもしれない

クロスサイトスクリプティングのやり方はわかるが実際にどう悪用するの？
という人にお勧め

内容としてはHTMLとJavaScriptの知識がなんとなくレベルである人だと
読みやすい






## BOF エクスプロイトコード開発
スタックベースのバッファオーバーフローの理解をすると
ネットワーク経由での脆弱性攻撃からリモート操作までのイメージがつきやすい

<a target="_blank" href="https://www.amazon.co.jp/%25E3%2582%25B3%25E3%2583%25B3%25E3%2583%2594%25E3%2583%25A5%25E3%2583%25BC%25E3%2582%25BF%25E3%2583%258F%25E3%2582%25A4%25E3%2582%25B8%25E3%2583%25A3%25E3%2583%2583%25E3%2582%25AD%25E3%2583%25B3%25E3%2582%25B0-%25E9%2585%2592%25E4%25BA%2595%25E5%2592%258C%25E5%2593%2589-ebook/dp/B07HYRJQYL/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=66a888411a4a3d49ae845d18ff23b9a3&camp=247&creative=1211">コンピューターハイジャッキング
<img width="150" src="https://m.media-amazon.com/images/I/91HhmevDpwL._SY385_.jpg">
</a>

hacking 美しき策謀 などが有名だが、こちらのほうが読みやすかった

## マルウェアに関する理解

<a target="_blank" href="https://www.amazon.co.jp/%25E3%2583%259E%25E3%2583%25AB%25E3%2582%25A6%25E3%2582%25A8%25E3%2582%25A2%25E3%2581%25AE%25E6%2595%2599%25E7%25A7%2591%25E6%259B%25B8-%25E5%25A2%2597%25E8%25A3%259C%25E6%2594%25B9%25E8%25A8%2582%25E7%2589%2588-%25E5%2590%2589%25E5%25B7%259D-%25E5%25AD%259D%25E5%25BF%2597-ebook/dp/B0CF3XKGR4/?&_encoding=UTF8&tag=cbltowl7309-22&linkCode=ur2&linkId=3f665044daa9f3a12106cd8a5aa3e418&camp=247&creative=1211">マルウェアの教科書
<img width="150" src="https://m.media-amazon.com/images/I/81e7bd0o3rL._SY385_.jpg">
</a>

読みやすい＆面白い

永続化などの概念がわかりやすい

## その他、攻撃者の振る舞いなど

### 認証情報のダンプ
Mimikatzを自分のPCで動かしてみるに限る
(Googleで"mimikatz cheatsheet"など検索したら色々な情報が出る)

なお、下記の記事は簡潔にデフォルト機能でのメモリダンプが
まとめられており、面白い

https://www.deepinstinct.com/ja/blog/lsass-memory-dumps-are-stealthier-than-ever-before

### 攻撃者が悪用するWindowsコマンド

絶対に一度は読むべき

・Windows環境の情報収集に使われるコマンド
・横移動に使われるデフォルトコマンド

https://blogs.jpcert.or.jp/ja/2015/12/wincommand.html


## その他
実際に攻撃を行っていく際には下記のサイトなどを参照したらやりやすい。

・HackTricks　攻撃ツールの使い方などの参考

https://book.hacktricks.xyz/

・OSCP Playbook　同上(OSCP試験は制限が多い)

https://fareedfauzi.gitbook.io/oscp-playbook

・xcyclopedia Windowsコマンドの悪用手法など

https://strontic.github.io/xcyclopedia/

・malapi Win32 APIの悪用手法について(上と似ている)

https://malapi.io/

・GTFOBins Linuxのコマンドの悪用手法など

https://gtfobins.github.io/

・NVD　脆弱性情報サイトへのリンクがまとまっている

https://nvd.nist.gov/

・TryHackMe 王道のハッキング勉強サイト

https://tryhackme.com/

※何かのツールの使用方法を知りたい等あれば無料でもある程度
　勉強できる(ほかにもたくさんありますが調べてみてください)

## 最後に

他にもPowerShellやWireSharkなど使えたほうがいいツールは
たくさんありますが今回は最低限ペンテストができるかな
というレベルにまとめています。

個人的な主観が多めです。
結局のところは一番自分自身が読みやすい本や記事を見つけること
が最初の近道になるかなと思います。

Hack The Boxを攻略を今後進めて、もっとTry Harderしようと思います。