システムに侵入したあと、ペンテスターは何を調査・探索しているのか?
〜イエラエセキュリティ 驚異動向レポート 第3回 ペネトレーションテストの実際〜
セキュリティの専門家が攻撃者と同じ視点でシステムに侵入し、機密情報、個人情報などの情報資産の奪取を試みる「ペネトレーションテスト」。脆弱性診断が網羅的にシステムの脆弱性を評価するのに対し、ペネトレーションテストは機密情報、個人情報などの情報資産に対する脅威への対策状況を評価します。 ホワイトハッカーで構成されたセキュリティ脆弱性診断企業、株式会社イエラエセキュリティによる「イエラエセキュリティ 脅威動向レポート」の第3回目は第2回めに続き、イエラエセキュリティ 高度解析課 三村聡志氏と、イエラエセキュリティ ペネトレーションテスト課でさまざまなペネトレーションテストを担当しつつ、「ハッカーの学校 ハッキング実験室」「ハッカーの学校 IoTハッキングの教科書」「ハッカーの技術書」の著書を持つ村島正浩が、システム侵入後にペネトレーションテストでは実際にどのような調査を行い、何を探索しているのか、その実際について語ります。
※この記事は、2021年8月20日に公開されたYouTube動画を元に記事化しています。
侵入したペンテスターは、まず何をする?
三村聡志(以下、三村):ペネトレーションテストでは、お客さまから提示されたセキュリティ関連の情報や「社内システムのこの領域まで侵入できるか」という目標を提示されたうえで、顧客企業のシステムに侵入し、セキュリティ状況や設定などを調査して、設定されたゴールを目指して進んでいきます。
ペンテスターが侵入に成功したあとには、もちろん「外部から侵入できないように対策しましょう」となるわけですが、システムに侵入したペンテスターが実際にどういう行動を取っているかはほとんど外に伝わっておらず、あまり知られていません。今回は、そのあたりをぜひ聞かせてください。
村島正浩(以下、村島):顧客企業の社内ネットワークに侵入した後に、どのような調査・観測を行っているかということですね?
三村:社内ネットワークに侵入したあとに、まず一番最初に何を探すのか。例えば、マルウェアが添付されたメールを開いてしまった人がいる場合は、その人のPC上でどういったところを見に行くのか。「ここは絶対に見に行く」というポイントは何でしょうか?
ペネトレーションテストの調査・観測手順1:ユーザー権限を確認
村島:まず侵入できたアカウントについては、そのユーザーが持っている権限を確認します。仮に権限が低いユーザーだったとしても、例えば、そのPC自体で初期設定用に置いてあるファイルや、社内用のWikiなどにアクセスしたときの履歴など、その端末から、その後の侵入に役立つ情報を可能な限り入手して、調査します。
ペネトレーションテストの調査・観測手順2:共有フォルダを調査
村島:その後は、履歴が残っていた場合は、それを使って共有フォルダにアクセスして、そのユーザー権限で読み取れるだけの情報を取得します。
例えば、ネットワーク内部に侵入して、「ここがアクティブディレクトリーの内部だ」とわかった場合、ドメインコントローラーのシステムボリュームであれば、どのユーザー権限でもアクセスできるはずですので、まずは、そこにアクセスして、有用なファイルがないか、クレデンシャルが書かれているファイルが置かれていないかを調査します。
ペネトレーションテストの調査・観測手順3:次のユーザーになりすます
村島:共有フォルダの情報などで、別のユーザー権限が奪取できたら、次はそのユーザーになりすまして、どんな権限を持っているかを確認して、再び入手できる限りの情報を入手します。その繰り返しです。
三村:最初のアカウントでアクセスできるだけの情報を集めて、次のアカウントへの侵入を試みる。侵入できたら、また情報を集めて、次のアカウントに侵入する。その繰り返しというわけですね。
シナリオゴールの設定
村島:どのようなケースでも、最も重要になるのがシナリオゴールの設定です。ペネトレーションテストは「とにかくドメイン管理者権限を奪取できればOK」というわけではありません。もちろん、ドメイン管理者は高度な権限を持っていますので、侵入したあとにその権限を取得できれば、その後の調査・探索でかなり有利になることは間違いありません。
ドメイン管理者権限の奪取がゴールではないケース
村島:ただ一方で、シナリオゴールを達成するために、ドメイン管理者権限の奪取が必須ではないケースももちろんあります。例えば、特定のネットワーク管理者グループに属するアカウントが奪取できればシナリオゴール達成というようなケースもあります。
典型的なシナリオゴールとは
三村:お客さまからシナリオゴールが提示されるときに、一般的によく見られるのは、どのようなケースでしょうか?
2つのシナリオゴール
村島:この図は、お客さまから提示されたシナリオゴールとして、「ドメイン管理者権限の奪取」、および「内部環境のサーバーへのアクセス、情報奪取」が設定された例です。イエラエでは、この2つをシナリオゴールを設定して、ペネトレーションテストを実施するケースが多くなっています。
一般的に、ドメイン管理者権限の奪取をゴールに設定されるお客さまは、アクティブディレクトリー環境を持っているケースが多く、また内部環境を持っているお客さまの場合は、ファイルサーバーに保存された情報の奪取がシナリオゴールとなる場合が多くなります。
初期アクセスの2つのパターン
村島:当社のペネトレーションテストでは、初期アクセスの段階では外部から擬似マルウェアを使って、侵入を試みます。これはMacでもWindowsでも変わりません。また、その際には、あらかじめ、お客さま側で設定状態を緩和してもらうパターンと、緩和してもらわないパターンの2つでサービスを提供しています。
緩和するケースと緩和しないケース
村島:緩和というのは、アクセス先のIPが制限されているとか、外部通信が制限されているときに、一時的にフィルターを緩和してもらって、擬似マルウェアを送り込みやすい状態にしていただくことです。一方、緩和してもらわないペターンは、そうした条件をすべて踏まえて、擬似マルウェアを感染させることができるのかを見ていくケースです。
攻撃に使える時間
三村:あえて緩和しなければならないパターンというのは、どのようなケースが想定されますか?
村島:時間が問題になる場合です。一般的にセキュリティ会社などがペネトレーションテストについてお客さまに説明するときには「攻撃者には時間が無限に存在している」などと表現します。つまり、エクスプロイトの調査、例えば、過去に作成されたサーバーで今はほとんど使われていない公開サーバーが存在した場合、攻撃者はその公開サーバーに狙いを定めると、攻撃が成功するまで調査・探索を続けます。攻撃者は時間を好きなだけ使えます。それを「攻撃者は時間を無限に持っている」などと言い表します。
ペネトレーションテストの目的を優先
村島:我々のペネトレーションでも、同じようなことは時間をかければもちろん可能です。ですがお客さまによっては「5営業日で調査してほしい」とか、「10営業日でお願いします」というお客さまがおられます。
完全に何の情報もない状態で5営業日というのは厳しいことがありますので、初期アクセスのときの設定を一時的に緩和をしてもらい、目的である「ドメイン管理者権限の奪取が可能となる脆弱性を見つける」「穴を見つける」というところに焦点を置いて、テストを実行するようなケースがあります。
レッドチーム調査を優先するケース
村島:一方で、そうした脆弱性を検知するためのテストはこれまでにもやっていて、「懸念しているのは外部からの侵入です」というレッドチーム調査(脆弱性の発見よりも、攻撃に対する防御・対策ができているかを評価する調査)を優先するような場合は、我々は情報は知らされない状態で、お客さまと外部とのやり取りを観測するところからスタートして、社内のメールアドレスに対してフィッシングメールを送って、侵入するためのアクセスが確立できるかどうかを見ていきます。
まだまだ薄い「外部からの脅威」への意識
三村:初めてこうした話を聞く方にとっては、かなり恐ろしくなるような話かもしれませんね。お客さまの社内システムのWindowsプロセスを調査するプロセスフォローイングを行うと、まだ外部からの脅威をあまり意識されていない「平和な」プロセスを実行されているお客さまは少なくありません。
緩和した、しないは無関係
三村:緩和というのは、ペネトレーションテストを行って侵入されてしまったときに、「緩和したから侵入されたのであって、緩和しなければ安全だ」という話ではないということですね。緩和は単純に無限の時間を決められた有限の時間にするもの、つまりある期間内に縮めるために行うものということですね。本当に狙われたときは、緩和したとかしないとかは関係のない話になります。
ペネトレーションテストの活用方法
村島:お客さまがペネトレーションテストで焦点を当てたいところはどこかを考えることが重要になると考えています。例えば、今までにペネトレーションテストを行ったことがないお客さまであれば、レッドチーム調査の要素が強いものよりも、まず考えられる脆弱性を見つけ出すことが重要です。その後で、レッドチーム調査を行い、侵入に対する対策を考えていくことがおすすめです。
英数字のみのパスワード
たとえば、ケルベロスティング(Kerberoasting)攻撃を行って、SPN(Service Principle Name)チケットを取得して、パスワードを入手した場合、ドメイン管理者であるアドミニストレーターのパスワードが8桁、しかも英数字のみで記号が入っていない8桁のパスワードであれば、3時間もかからずに、短時間でパスワードが解析されて、ドメイン管理者権限が掌握されてしまうケースもあります。こうした攻撃は、システム内部に侵入した攻撃者なら必ず行います。
まず、そうした攻撃で侵入される可能性を潰すために、ペネトレーションテストを初めて行うような場合は、お客さまのフィルター設定を緩和していただき、短い期間でテストを実施すると短期間で成果があがるうえ、コストもある程度、抑えることができます。
問題を見つけ出す手段
三村:レインボーテーブルを使ったハッシュ解析など、すでに解析済みのパスワードを用意しておいて、素早く解析していく手法などもいろいろ存在しています。またお客さまによっては、互換性の設定が古くて、パスワードが復元可能な状態で保存してあるなど、セキュリティ関係者から見ると、なんとも言い難い設定をしておられるアクティブディレクトリーなども少なくありません。ペネトレーションテストは、いろいろな問題を総合的に見つけ出すために、有効活用できる手段といえます。
ペネトレーションテストはイエラエへ
村島:イエラエのペネトレーションテストは、お客様の想定脅威の確認から診断フローをスタートさせ、お客様の環境や目的に応じて、最適なプランを選定。期間やコストに合わせて、テストの内容、進め方などを柔軟にご提案します。「CSIRTの対応能力を向上させたい」「SOCの検知精度を確認したい」「パスワード強化など社内のセキュリティ意識を向上させたい」など、ご要望をお聞かせください。現状のセキュリティ対策・体制のリスク評価を行い、効果的な対策をご提案します。