THE HACKER PLAYBOOK 3 RED TEAM EDITIONを読んで

本書を読んで得た知見をまとめたいと思います。ちなみに本書は2019年に書かれているためサイバーセキュリティの世界としては若干古いです。AIの発達や、ここ数年の攻撃の分業化についてはカバーしていないので、おそらく攻撃側の環境はより発展してきている理解です。とはいえ、本書ではRED TEAMの業務を理解すること、攻撃者の手法の基本(ツールはともかく、何を目的に動いているのか)を理解することができると思います。

私自身は、ハッカーレベルのスキルはないので、技術的な面の詳細を文書のみで理解することは難しいですが、企業側のセキュリティ担当者として知っておきたいことや、どのように守りに生かしていくのかを意識しながら書きたいと思います。

攻撃者のツール理解

まず具体的なRed team(もしくは攻撃者)が使っているツール群の特徴とその使い方について紹介されておりました。本書を通して登場するMetasploit(Metepreter)/Cobalt strike/PowerShell Empireなどの概要と、使うための環境構築について、学ぶことができました。筆者は一部のツールについてはハンズオンできるようにコマンドを紹介しており、実際に読者が実行できるようにしています。(もちろん倫理的な注意事項は冒頭にがっつりされております)

ここで重要な点は、Internet上でこういったツールがすでに容易に入手でき、有志の解説/マニュアルなどが豊富に存在する点です。さらに現在ではChatGPTもうまく活用すればこういったツールの使い方を指南してくれる可能性があります(セキュリティ上の理由で、簡単には教えてくれないと思いますが)。
以上から、攻撃側の環境は日々快適になっており、参入者のハードルも下がっているというのが実態だとわかります。

攻撃の展開方法の理解

書籍全体を通して、攻撃の進め方を理解することができました。いわゆるサイバーキルチェーンで知っていた内容より、より実践的な内容を基にした理解ができました。特に初期の侵入に至るまでのフェーズとして「偵察」「Webアプリケーションのエクスプロイト」「ネットワークへの侵入」「ソーシャルエンジニアリング」「物理アクセス(オンサイドキック)」に多くのページが割かれていました。しかしところどころ外部情報のリンクが記載されているため、本書だけで攻撃を成功させるのはちょっと難しいのかなと感じました。
一方で、さすが本場の洋書ということもあり、物理的な攻撃についてもしっかり述べておりました。平和ボケしている日本人から見ると、ついついおろそかにしがちですが、今度会社に行ったときはゲストが入っている階にリスクがないかはチェックしてみようかと思います。

そのほか攻撃を支援するさまざまなソース

そのほか攻撃を支援するさまざまなソースについても解説がありました。例えば過去に漏洩したパスワードやその詰め合わせリストはパスワードクラッキングを速やかに終わらすために有効で、比較的容易に入手することができます。リストを使ったクラッキングは、比較的長いパスワードでも突破されることがあるようで、12文字や25文字でも、うまくやればクラッキングできるそうです。このあたりは、品質の良いリストの選択と、いかに効率的なクラッキングロジックを作れるか、という職人芸の世界だと思います。逆に10文字以下だと、CPU/GPUの高性能化のため、総当たりでも短時間でクラックできるということです。まだまだ大きな企業でも8文字のパスワードはざらに見かけますので、非常に危ないですね。昨今パスキーなどの導入が大手企業でも始まっておりますが、パスワードの脆弱性がなくなることを期待してしまいます。

攻撃者の基本的な思考

本書を通して実際にRed Team/攻撃者が考える思考について触れることができます。ポイントとしては、「いかに検出されないようにするか」そして「効率的にするための自動化」するかでした。当たり前ですね、犯罪者ですから、見つからずに経済効率性を求めるのは妥当です。

「いかに検出されないようにするか」
筆者(攻撃側)は、目立つ攻撃を避けるために、Nmap/脆弱性スキャンなどの実行にはとても慎重でした。ブルートフォースなど簡単に検出されますので、パスワードスプレーのほうが良いようです。パスワードの使いまわしを前提とすれば、さまざまなサービスを跨いで攻撃をゆっくり自動化しておけば、検出されるリスクは低くなりそうですね。守る側としては使いまわしをさせない、そして不審な通信を見分けられる環境を整える必要があります。(後述)

また攻撃側はアンチウイルスを回避するために、攻撃ツールを難読化しています。シグネチャ、プロセス、ネットワークの3つのポイントで検出を回避する必要があります。高度なテクニックが必要だそうですが、実現は可能です。つまり守る側としては、EPP/EDR/IDS/IPSだけに頼るのも限界がありそうですね。もちろん異なるエンジンで多層防御は有効でしょう。それだけ回避するべきロジックが増えて攻撃に時間がかかってしまいますから。

最後に、攻撃側はその企業環境で使われているツールを利用して、正規の動作に紛れさせることもしておりました。例えばPowerShellは攻撃者にとっても便利なツールです。そのため、禁止されていたり、監視が厳しい場合もあります。しかしそういうときでもNoPowerShell(NPS)の概念とテクニックを使うことで、検知をかいくぐることができるそうです。NPSは.NETなどにPowerShellを実行させることで、検知されにくくするなどの方法があるようです。
  
「効率的にするための自動化」
本書では繰り返し、ツールの改造や改善を読者に強く推奨しています。これは実際のツールをより深く理解するとともに、いかに手早く省力化して攻撃を達成するかが重要だからです。自動化の方向性としては、大量の作業を高速に自動化することと、作業をゆっくりと自動化するケースがあると思います。前者はパスワードクラッキングのケースで、後者は脆弱性スキャンやNmapなどの探索作業の場合です。ついつい自動作業というと高速に大量処理を思い描いてしまいますが、目的が違うとこういう実装や挙動に違いが出てくるので面白いものだと感じます。
社内のセキュリティのために脆弱性スキャンやNmap(をベースとした探査ができる機器)が動いている企業は多いと思います。見分けがつかないようでは、攻撃者にいいようにやられてしまいますので、どういったタイミング、範囲、実施者、システムが探索を行うのかを監視チームとよく共有する必要がありそうです。

以上が今回本書で得られた知見です。読む人が読めばもっと深い知識や技術が得られると思いますが、とりあえず1週目はこの辺で。

いいなと思ったら応援しよう!