Hack The Boxを初めてみて、全然基礎がないことに気がついたので「サイバーセキュリティ レッドチーム実践ガイド」を買って読み始めたのでメモ。
いろいろなツールの使い方がざっくりと書かれているので使いながら自分で学んでいく形式の本な気がします。
初心者に優しい本では無かったですが手を動かしながら学ぶには良い本だと思います。
はじめに
「はじめに」では前書「サイバーセキュリティテスト完全ガイド」との比較で「ペネトレーションテストチーム」と「レッドチーム」の違いについて書かれています。
ペネトレーションに関して体系的にまとまっている「The Penetration Testing Execution Standard」が紹介されておりとても参考になります。
レッドチームと比較した場合に、ペネトレーションテストは
・系統的なセキュリティアセスメント
・スコープが制限され、期間も1~2週間
・脆弱性を特定することを目的
レッドチームは
・柔軟なセキュリティアセスメント
・ルールがなく、期間も長く1週間から半年
・ブルーチームのプロセス、ポリシーのギャップを特定することを目的
という違いがあるようです。
第1章 セットアップ 武器を選ぶ
この章ではC2サーバと接続させるツールと方法について説明されています。
ここでも多くのツールが紹介されており、その一つとしてdnscat2というツールではDNSプロトコルを利用してC2チャネルを作成するものがあります。
制限されたオフィス環境などでは直接外部とのサーバと通信できないこともありますが、その場合でもDNSサーバを通してマルウェアにC2実行できるというものです。
第2章 スナップ前にレッドチームの偵察
レッドチーム、ペンテストチーム共に最初に行う偵察のフェーズで行うツールの紹介がされています。
Nmap, Shodan, Censysといったものから、サブドメインの検出ツール、Githubにパスワードなどが入っていないか検出する方法、AWS S3の列挙ツールなども紹介されています。
また、参考としてOSINT Frameworkというサイトも紹介されています。
ここでは、例えばEmail Addressを検索するためのサイト一覧などがまとめられています。
第3章 スロー Webアプリケーションのエクスプロイト
ここではChat Support Systemという脆弱なWebサービス(VMイメージ)を使っていくつかの攻撃をやってみるという章です。
XSSをやってみる場合もただAlertを出すだけでなく、難読化したペイロードを作成してWebアプリケーションファイアウォール(WAF)で止められにくいようにする方法やブラインドXSS、DOMベースのXSS、Node.jsでPugテンプレートエンジンが使われている場合のXSSなどが紹介されています。
よくあるセキュリティの本より一歩踏み込んだ内容だと思います。
Node.jsでのデシリアライゼーションの攻撃もBurp Suiteを使って実際にペイロードを作成して少しずつリモートコード実行(RCE)できるようにするために試行錯誤していくステップが書かれています。
その他、SSRF、XXE、OOB-XXEも紹介されています。
PugテンプレートエンジンへのXSSなどみてわかるように言語特有、フレームワーク特有のものが多くあるのでセキュリティエンジニアはセキュリティのことだけでなく言語、フレームワークに関する知識もなくてはいけません。
最後に
内容が濃くて面白い本です!まだ3分の1程しか読めてませんが・・・
ひとつひとつの細かい情報にリンクが明記されているので詳しく調べることもできるのも良い点だと思います。
続き
サイバーセキュリティテスト完全ガイド ~Kali Linuxによるペネトレーションテスト~
Twitter (@security_index) | Twitter