セキュリティアナリスト、ペンテスター、セキュリティエンジニアへのおすすめツールや、サイトついてメモしておきます。
※少しずつコンテンツを増やしていきます
サイバーセキュリティ、情報セキュリティの専門家を目指す人に向けてのメモです。
悪用厳禁
本記事のリンク先のサイトには、サイバー犯罪に利用できる技術などもございます。
該当する技術は、悪用することにより様々な法律に抵触する可能性がございます。
不正指令電磁的記録に関する罪、威力業務妨害、不正競争防止法違反など様々な法律に抵触する可能性がございます。
安全性に気を付けて、自己責任にて、自己の環境もしくは許可された環境のみにおいて、サイバーセキュリティの研究目的やサイバーセキュリティ関連業務の参考としてのみご利用をください。
サイバーセキュリティ法律関連参考
Wizard Bible事件から考えるサイバーセキュリティ
サイバー関連法規は、サイバーセキュリティを学ぶ上ですごく重要
最初に、学習でどこまでやっていいか、どういったことに気を付けるべきかを理解してください。
全般:検証環境構築など、便利ツール
1 Git Bash
・おすすめ理由
Dockerと組み合わせることで、様々なツールや環境の構築が楽になる
例えば、下記のようなものを構築できる
Elastic Search(SIEM、ログ分析)
MISPやMaltego(サイバー脅威インテリジェンス)
Django(WEBの開発)
Volatility framework(マルウェア解析)
※docker-compose.ymlの書き方の学習を推奨
用途:各種ツール検証、環境構築
・Gitインストール方法
① リンクからGitをインストール
https://gitforwindows.org/
② Gitの設定 下記コマンドを実行
git config --global core.autocrlf true
※Windowsの改行コードとLinuxの改行コードの違いによる不具合の防止
初心者おすすめGit本
いちばんやさしい Git&GitHubの教本
すごくわかりやすく、休日1日で一通りのGit Hubの使用方法を勉強できるくらい簡潔にまとまっている。
2 Docker Desktop
・おすすめ理由
Git Bashと合わせて使うことで環境構築がすごく便利になる。
想像以上に便利、何かしらの検証を行いたいときや環境構築に必須のツール
・インストール方法
※仮想化をしている場合は、ハードウェアの仮想化を有効化
① WSL2とHyper-Vのどちらかを機能の有効化
② リンクからDocker Desktopを取得し、インストール
https://docs.docker.com/desktop/install/windows-install/
・基本的な使い方
(1)構築したいツール名×docker-composeで検索
(2)git hubからdocker-compose.ymlを探して、下記コマンドにて取得をする。
git clone https://XXXX
※カレントディレクトリにclone用(ファイルの取得用)ディレクトリが作成される。
git cloneはログインの設定が不要
(3)取得したdocker-compose.ymlのディレクトリへ移動し、下記コマンドを実行
docker compose up -d
※Dockerのコンテナ内部でコマンドを実行したい場合
"docker compose exec -it <コンテナ名> //bin/bash"
個人的に初心者におすすめなDockerの勉強本
Docker&仮想サーバー完全入門
Kubernatisなどの技術は記載がないが、Docker ComposeでDjangoなどいろいろな環境を構築することができるようになる。
3 VSCode(Python3)
・おすすめ理由
プログラミングによる自動化などの際に結構使いやすいエディタ
Dockerなどとの連携などもできる。
Github Copilotを使えば、コーディングが楽になる。
例)
・Python3 requests&Elastic Search
サイバー攻撃の分析自動化
・Python3 Scapy
ペネトレーションテスト(エクスプロイト開発)
・Python3 Selenium/Beautifulsoup4
インターネット上の情報自動収集
個人的におすすめPython3書籍
つくりながら学ぶ! Pythonセキュリティプログラミング
セキュリティ分野で使われるライブラリの種類を知ることができる。
サイバー攻撃にすごく詳しい本ではないが、入門としてはちょうどいい。
BlueTeam向け(CSIRT・SOC・CTI)
1 OSINTツール
・おすすめ理由
サイバー脅威インテリジェンス、インシデントレスポンスなどで利用できる。
用途:SOCチーム、CSIRTによるサイバー攻撃の分析
・ブラウザお気に入り登録推奨サイト一覧
・OSINT Framework
全般的にインテリジェンスツールが一覧化されている。
何かについて調べたいがサイトがわからないときに役立つ。
・URL Haus
接続先サイトから安全性確認ができる。
※ログに残っているIPアドレスやURLなどからの調査
・Shodan
C2サーバの稼働状況など危ないサーバの調査が安全にできる。
※ポートの空き状況から攻撃の成否判断の参考程度に
・URLScan.io
C2サーバの調査など、実際に接続時の画面が見れる。
※安全にURLScan.ioサイト上でC2サーバへ接続ができる。
・Virus Total
ファイルのハッシュ値などから安全性確認ができる
※ファイルのアップロード、ログ上のファイルハッシュ値などからの調査
・Hybrid analysis
ファイルのハッシュ値などから安全性確認ができる
Yaraルールによる検索ができる
(Yaraルールとは文字列検索のルールで、サイバー攻撃の検知などのシグネチャに使用される。)
・JoeSandbox
サンドボックス解析(動的解析)
・MITER ATT&CK
有名どころの、脅威アクターの分析などの参考になるサイト
・MITER ATT&CK Navigator
脅威アクター分析に使える
・MITER CAR
Splunkの相関分析などのサンプルクエリなどがある
SIEMによる分析を行うときのクエリ作成観点の参考になる。
・Wayback machine
削除されたWEBサイトや変更されたWEBサイトの過去データの確認などができる
2 解析関連ツール
・Autopsy
言わずと知れたフォレンジック解析用ツール
・AmCacheParser
AmCacheの解析ができる
C:¥Windows¥AppCompat¥Programs¥Amcache.hve
・AppCompatCacheParser
ShimCacheの解析ができる
・Windows Sysinternal Suite
便利なツールがたくさん
・DB Browser for SQLite
ブラウザの通信履歴解析に使える
・CyberChef
文字のエンコード、デコードができる
■おすすめ練習問題
・WireShark
パケット解析ツール
・YarGen
Yaraルールのジェネレータ
GoodWare(マルウェアの対義)の特徴を除外して、
Yaraルールでファイルの特徴を抽出してくれる
■準備(結構時間がかかる)
git clone https://github.com/Neo23x0/yarGen
requirements.txtまで移動する
pip install -r requirements.txt
python3 yarGen.py --update
■使い方
python3 yarGen.py -m <マルウェアのパス> --excludegood -o <Yaraルールの出力ファイル名>
・SANS Cyber Security tool
いろいろなツールがある
3 おすすめ学習資料
・SANSポスター Hunt Evil(英語)
侵入分析などに重宝する
通常の状態を知ることで、異常な状態を見つけれるというコンセプト
Windowsのプロセスについて知ることができる
・SANSポスター Windows Forensic Analysis(英語)
ディジタルフォレンジック解析用ポスター
フォレンジックアーティファクトについて知ることができる
・証拠保全ガイドライン 9版(ちょくちょく更新される)
ディジタルフォレンジック研究会がだしているフォレンジック資料
証拠の一貫性について学ぶことができる
訴訟を行う際に、改ざんがしやすいデジタルデータにおいて、
証拠としての能力(改ざんされていないよ)を証明する方法についてのガイドラインになっている。
・HackTrics Windowsアーティファクト
SANSの資料並みにフォレンジックアーティファクトがまとまっているサイト
ペンテストなどいろんな資料がある。
・DFIR や Malware 解析などについての記事まとめ(2019年4月~9月)
フォレンジック系のリンクがまとまっている。
4 おすすめ学習サイト
CTFサイトなどへの登録は認証情報の使いまわしに気を付けてください。
認証情報が漏洩する可能性がございます。
・随時追加予定
・CybersecurityCTF
海外OSINT CTF
インテリジェンスを学ぶならこの辺りがおすすめ
5 おすすめ書籍(ブルーチーム向け)
詳解 インシデントレスポンス
CSIRTであるならば最初に読むべき本
リモートトリアージの技術やインシデント分析技術が網羅的に乗っており、とても参考になる。
インテリジェンス駆動型インシデントレスポンス
サイバー脅威インテリジェンスについてまとまっている数少ない本
"詳解 インシデントレスポンス"の次に読んでほしい本
実践 パケット解析
ネットワークフォレンジックに使えるWireSharkの良本
不具合対応などにも使えるため、持っておいて損はしない解析技術
セキュリティのためのログ分析入門
ログの形式、分析学ぶことができる良本
デジタルフォレンジックの基礎と実践
証拠の一貫性や、ディジタルフォレンジックの手順を学べる。
技術に詳しいような本ではない。
マルウェアの教科書
マルウェアの挙動などわかりやすく解説されている。
初心者でも読みやすい本
RedTeam向け(ペネトレーションテスト・脆弱性診断)
1 脆弱性系サイト
説明
サイバー攻撃について研究目的で勉強したい場合の参考になる
また、企業の脆弱性を見つけるためのペネトレーションテストなどに使える
※危険なコマンドを含むサイトがございます。
自分自身の環境にて検証を行ってください。
意図せずとも、サイバー攻撃と判断される可能性がございます。
用途:サイバー攻撃のPoC、ペネトレーションテスト、脆弱性診断
・LOLBAS
Windows向けの現地調達型攻撃(正規ツールの悪用)系のサイト
権限昇格の参考
・GTFOBins
LOLBASのLinux版
Linuxの現地調達型攻撃(正規ツールの悪用)系のサイト
権限昇格の参考
・redcanary atomic-red-team
MITER ATT&CKに紐づいた実際の攻撃の例がある
・CVEDetails
脆弱性に紐づいたMetasploit Frameworkモジュールを見つけることができる。
脆弱性のPoC用に利用できる。
・Vuln DB
エクスプロイトコードなどがおいてあるサイト
脆弱性のPoC用に利用できる。
・NVD
脆弱性情報サイトへのリンクがたくさんある。
Exploitからエクスプロイトコードのあるサイトへ遷移できる。
・JVN iPedia
脆弱性情報(日本語)サイト
2 ペンテスト系ツールなど
ウイルス対策ソフトに検知する危ないツール類です。
利用には十分注意し、個人の環境や許可された環境で使用してください。
・Kali Linux
よく利用されている、オフェンシブセキュリティ社のOS
ペネトレーションテスト向け、フォレンジック系ツールもある。
これ一つがあれば、ほとんどのことができる。
・Parrot OS
Kaliと同じようなOS
個人的には、デザインがすごくいい
・Black Ark
玄人向けのOS
たくさんのリポジトリがある
個人的には少々使いづらい
・Metasploit Framework
ペネトレーション用のツール
・PowerShell Empire
Windows向けのペネトレーション用ツール
・Veil Framework
防衛回避(ウイルス対策回避)のツールらしい
※未使用(要検証)
・Nmap/Zenmap
ホストスキャン、ポートスキャン用ツール
・OWASP Zap/Burp Suite
ローカルプロキシツール
WEBサイトへの通信を見る&変更することができる
・SQLMap
SQLインジェクションの脆弱性を見つけるために使える
・SkipFish/Arachni/Nickt
WEBアプリの解析に使用できる
・Mimikatz
Windows系の認証情報の取得に使用できる
3 おすすめ学習資料
下記にペンテストでHack The Box アクティブマシンの
ルート権限取れるまでに実施した勉強をメモにしています。
4 おすすめ学習サイト
・OWASP Juice-shop
有名なOWASPが出しているやられサーバ
・vulnhub
やられマシンがたくさんある
VMWare Workstation PlayerやOracle VirtualBoxと一緒に使える
・BadTodo
EGセキュアソリューションズ株式会社が公開しているやられマシン
・HackTheBox
ペネトレーションテストといえばこれ
難しい、、、
・TryHackMe
HackTheBoxより、進めやすい感じ
シナリオに沿ってハンズオンでの学習
5 おすすめ書籍
体系的に学ぶ 安全なWebアプリケーションの作り方
WEBアプリの脆弱性といえばこの本
別名徳丸本
※BadTodoを公開している会社のCISO 徳丸浩さんの著書
ハッキング・ラボのつくりかた
こちらも有名本
著書IPSIRONさんのハッカーの教科書なども有名
仮想化に慣れていない方はまずこの本からやってみるといい
サイバーセキュリティ レッドチーム実践ガイド
環境構築が少々面倒だが1度は読むべき。
下記にペンテストでHack The Boxアクティブマシンの
ルート権限取れるまでに実施した勉強をメモにしています。