2022」レポートの一部をブログ化したものです。Test(以下、ペネトレーションテスト)とは、システムに残存する脆弱性や設定不備を利用して組織への侵入を試み、侵入された際のリスクを明らかにすることを目的としたテストです。Directoryに内在するリスクを紹介します。Directoryを侵害する傾向が多く見られます。DirectoryはWindowsドメインを統合管理する仕組みであるため、管理者権限を奪取された場合にグループポリシーを利用してランサムウェアをドメイン配下の端末に配布されるだけでなく、ドメインに登録されている全てのアカウント情報が攻撃者に窃取されてしまう懸念があります。Directoryを探し出し、管理者権限を奪取するまでの流れを再現することで対策のポイントを導き出していきます。Directoryに対して「Zerologon(CVE-2020-1472)の脆弱性」と「SMBでの匿名ログイン」の2通りの攻略方法が存在することを確認しています。攻撃者(ペンテスター)が対象にポートスキャンを実行することでオープンポートやサービス、ソフトウェア情報を収集することができます。オープンポートやサービス名から対象機器のサーバー種別についても推測可能な場合があります。攻撃者(ペンテスター)の端末からポートスキャンを実行した際に、あるホストからの応答でDNS(53/TCP、UDP)、Kerberos(88/TCP、UDP)、SMB(139/TCP、445/TCP)、LDAP(389/TCP)サービス等が動作していることが確認できました。Directoryであると推測することができます。Block)での匿名ログインが有効」であることが判明しました。基本値:10.0[緊急])脆弱性として知られています。Directoryの管理者権限を奪取することが可能であり、この攻撃によってドメイン全体を攻撃者に掌握される危険性があります。Directoryであるため、Zerologonの脆弱性を悪用してパスワードリセット等を試みて管理者権限を奪取するところまでは攻撃を進めていません。Directoryを掌握できることを意味します。Directoryに対して接続が可能となるため、ドメインに登録されたユーザー名やパスワードポリシー、アカウントロックに関する設定等の様々な情報を取得されてしまう危険性があります。Directoryと推察された対象ホストに対してSMBでの匿名ログインを利用することで、攻撃者(ペンテスター)は約500件のユーザー名やパスワードポリシー、アカウントロックに関する情報を入手することができました。入手したパスワードポリシーから、設定可能なアカウントパスワード要件が脆弱(複雑性の設定要件なし)で文字長は8文字以上であることが判明します。アカウントロックに関する情報からは、5回の認証失敗で対象アカウントがロックされることも確認できました。これらの情報を活用することで、攻撃者(ペンテスター)は脆弱な設定となっているアカウントの有無を調査することができます。一般的に脆弱な設定となっているアカウントを特定する手段として、「ブルートフォース攻撃」と呼ばれる手法が利用されます。「ブルートフォース攻撃」は、特定のユーザー名に対してパスワードを総当りする攻撃ですが、前段の調査によって「5回の認証失敗で対象アカウントがロック」される設定となっていることから、攻撃者は総当りによるアカウントロックを回避するために「パスワードスプレー攻撃」へ切り替える判断が可能となります。「パスワードスプレー攻撃」とは、少ないパスワードリストを活用して総当りすることで脆弱なアカウントを特定する攻撃手法です。本項で取り上げているペネトレーションテストでは、よく使われるパスワードの中から「password」、「12345678」の2つと「ユーザー名(ユーザー名=パスワード)」の計3つをパスワードリストとして利用しました。この対象ホストに対しては、アカウントロックされない範囲で約1500回(約500ユーザー×3つのパスワード)の認証試行を行い、脆弱なパスワードを使用しているユーザーを10分弱で約40件も特定することができました。Adminsグループに所属するアカウントが含まれていました。Directoryの管理者権限を奪取したことになります。Directoryへ侵入した後、登録されている全アカウントのパスワード情報の抽出を行い、約5000件のパスワードハッシュを取得することに成功しました。パスワードハッシュとはパスワードの保存形式であり、パスワードはハッシュ関数によりハッシュ化された値(ハッシュ値)で格納されています。Directoryで管理されたパスワード情報が漏洩した場合でも、元のパスワードが特定されないようにする利点があります。脆弱なパスワードを使用していた場合、容易にハッシュ値から元のパスワードを特定することが可能です。本項においても取得した約5000件のハッシュ値に対して、攻撃者(ペンテスター)は約2時間で1000件以上のパスワードをパスワードハッシュから特定することに成功しました。Directoryを運用する上で配慮すべき事項と推奨される対策を以下に示します。Directoryへ侵入し、管理者権限を持つアカウントのパスワード情報を取得されてしまうこともあります。Directoryにバックドア用のアカウントを追加することで、永続的な接続を確保することもあります。昨今は「3.実録:ランサムウェアを取り巻く攻撃者の動向」で紹介した事例の様に侵入したシステム内の情報探索や情報窃取後にランサムウェアを実行して業務停止に追い込む事例も数多く確認されています。本項でご紹介した様に修正パッチの未適用や脆弱なパスワードの使用等、基本的な対策が実施されていないことがシステムへの侵入やアカウントの漏洩につながります。適切なパスワードポリシーを設定していたとしても、そのパスワードポリシーを設定する以前の古いアカウントが削除されないまま残っていると、それを悪用されることもあります。セキュリティ対策を万全に行っている組織やシステムであっても、第三者によるペネトレーションテスト等の棚卸しを定期的に実施し、リスクを可視化して適切な対応を施していくことが重要です。脆弱性管理プロセスの構築ストーンビートセキュリティ株式会社が2021年1月から2022年5月までに実施したペネトレーションテストにおいては、全体の約80%以上のシステムで何らかの脆弱性が残存していることが報告されています。その中の約5%がOSやソフトウェアに起因する深刻度の高い脆弱性であり、本項で取り上げた「Zerologon(CVE-2020-1472)の脆弱性」に代表される悪用された場合に深刻な被害に直結するものばかり確認されています。脆弱性への対策としては主に修正パッチを適用することになりますが、修正パッチを適用する作業は、適用後にシステムの動作に影響を及ぼす懸念があるため事前検証が必要になる等、管理者にとっては手間を要するものではあります。万一、脆弱性が攻撃に悪用されてしまい、ネットワーク内で深刻な被害が生じた場合は緊急対応や復旧作業等で非常に多くの時間を割かざるを得ない状況になります。調査・対応をフォレンジック事業者に依頼すると多額の費用も発生します。速やかな修正パッチの適用が難しい場合には、根本対策(修正パッチの適用)を実施するまでの期間は緩和策(例:AppGuardを利用する)を講じる等、計画的かつ柔軟な対応が求められます。OSやソフトウェアの脆弱性は日々新しいものが公開されており、その中には深刻度の高いものも多数含まれています。ユーザーの実環境においては数年前の古い脆弱性が残存しているものや、サーバー機器以外のネットワーク機器(UTM製品やその他アプライアンス製品等)においても深刻な脆弱性が残存しているのが実態です。そのため、管理対象のシステムにおいては、公開された脆弱性情報を定期的に確認し、リスクを評価した上で、脆弱性対策を計画的に実施することが非常に重要となります。脆弱性への対応を日々の運用業務に組み込んで、脆弱性対策を着実かつ継続的に実施できるような仕組み(脆弱性管理プロセス)を構築することが推奨されます。Rev.4)」があります。古いですが国内でもIPAから日本語訳も公開されています。本書には、脆弱性管理プロセスの各フェーズにおけるベストプラクティスが網羅的に説明されており、本書の内容に沿って脆弱性管理プロセスを構築することが推奨されています。SP1800-31)」が発行されています。Rev.4」で説明されている修正パッチ管理プロセスを組織に実装する際、ツールを導入して自動化や省力化を図る方法が詳しく解説されています。脆弱性管理プロセスにおいて、管理対象システムの数が多い場合は管理の手間も増大しますので、プロセスの自動化を進めて省力化を図ることも重要です。