Web攻撃ログ分析① 注入系
Pro会員限定上級約48分8レッスン
nginx のアクセスログから、SQLインジェクション・パストラバーサル・コマンドインジェクション・Webシェル設置の痕跡を、エンコードの違いも含めて読み解きます。アップロード先で PHP を実行させない設定と、公開ディレクトリの設定ファイルの移動まで行います。
対象者: Web サーバーのアクセスログから攻撃の痕跡を読み取り、入口を塞ぐところまでできるようになりたい方
前提知識: ログ改ざんの検知 修了程度
この教材を終えると、できるようになること
- アクセスログの User-Agent から、ブラウザでない攻撃ツールのアクセスを特定できるようになる。
- URL エンコードや大文字小文字の違いを踏まえて、SQL インジェクションの痕跡を漏れなく特定できるようになる。
- エンコードされたものも含めて、パストラバーサルの痕跡を特定し、成否をステータスで判断できるようになる。
- 外部コマンドに渡されていそうなパラメータから、コマンドインジェクションの痕跡を特定できるようになる。
- アクセスログから Web シェルの設置(POST /upload)と、それを使った操作を時系列で特定できるようになる。
- アップロード先で PHP が実行されないよう nginx の設定を追加し、検査・反映できるようになる。
…ほか 1 項目(レッスン一覧をご覧ください)
修了後の姿: 攻撃を痕跡から理解し、検知・防御・ハードニングを設計して、インシデントを根本原因から再発防止まで導けるセキュリティエンジニアへ。
Chapter 1注入系の痕跡を読み、入口を塞ぐ
アクセスログから注入攻撃と Web シェルの痕跡を特定し、同じ手口が通らないように設定を直します。
- 自動ツールの痕跡を見つけるUser-Agent から攻撃ツールのアクセスを炙り出す約5分(有料会員限定)
- SQLインジェクションの痕跡エンコードの違う 2 通りの UNION SELECT を両方見つける約6分(有料会員限定)
- パストラバーサルの痕跡../ とそのエンコード(..%2f)を両方見つける約6分(有料会員限定)
- コマンドインジェクションの痕跡パラメータに混ざったシェルのコマンド区切りを見つける約5分(有料会員限定)
- Webシェルの設置と操作を追うアップロードから Web シェルの操作までをつなげる約6分(有料会員限定)
- アップロード先で PHP を実行させないnginx の location で uploads 配下の .php を拒否する約8分(有料会員限定)
- 公開ディレクトリの設定ファイルを外へ移す/var/www/html/.env を Web から見えない場所へ移し、権限を絞る約7分(有料会員限定)
- 確認クイズ: Web攻撃ログ分析(注入系)注入系の痕跡の見分け方と、入口の塞ぎ方約5分(有料会員限定)