連日投稿35日目。金曜を起点に1週間の学習計画を決めます。
今回の目的
改めて今週は、Webアプリケーションの古典的な脆弱性の「LFI(ローカルファイルインクルージョン)」と「RFI(リモートファイルインクルージョン)」をテーマに1週間かけて学習を進めます。
正直、これらの脆弱性が具体的にどんなビジネスインパクトをもたらすのか、まだ肌感覚で理解しきれていない。そのため、今週もサイバーキルチェーンの各段階を実際に手を動かしながら追体験し、最終日には脆弱性診断レポートの作成まで落とし込む。
このチャレンジについて
目的: セキュリティエンジニアとしての技術力向上
手段: シェルスクリプト作成を通じて学習
実施する事: 自動化,監視,ツール開発基礎学習など
目次
今週の学習計画
今週取り組むLFI/RFI脆弱性学習の全体計画。これを一つずつ潰していく。
- Day 35 (金): 学習計画の策定
- Day 36 (土): LFI/RFIの偵察(Reconnaissance) & 武器化(Weaponization)
- Day 37 (日): LFIの配送(Delivery) & エクスプロイト(Exploitation)
- Day 38 (月): 高度なLFI手法とログポイズニング
- Day 39 (火): RFIのエクスプロイトとC2サーバーの確立
- Day 40 (水): 侵入後の活動(Actions on Objectives)とビジネスインパクトの分析
- Day 41 (木): LFI/RFIへの防御・緩和策のコードレビュー、脆弱性診断レポートの作成
使用予定の技術
- クラウド環境: AWS EC2
- コンテナ技術: Docker
- 接続元(ローカルPC): Windows 11
- ターミナルソフト: Windows Terminal
- 接続先(サーバー): DVWA
- 使用言語: Bash, Python
- 外部ライブラリ: <未記載>
- テスト対象: Damn Vulnerable Web Application (DVWA)
ステップ
- 偵察 & 武器化 (Day 36): 脆弱性の概念を理解し、自動偵察用のBashスクリプトを作成する。
- 配送 & エクスプロイト (Day 36-38): DVWAを使い、LFI/RFIで実際にシステムへ侵入し、リバースシェルを確立する。自動スキャン用のPythonスクリプトも作成する。
- 目的の達成 (Day 39): 確立したシェルを足掛かりに、機密情報の窃取などをシミュレートする。
- 防御 & 報告 (Day 40-41): 防御策をコードレベルで学び、最終的にビジネス視点のレポートとしてまとめる。
まとめ
ひとまず、今週1週間の学習計画を立てた。ログポイズニングなど、やったことのない領域も多く、だいぶ煮え湯を飲まされることになりそう。まずはLFIエクスプロイトから、しっかり取り組んでいきたい。