** 本記事は、Hindsight #4: Prevent threat actors getting (and using) your passwords の翻訳です。最新の情報は英語記事をご覧ください。**
本記事は、サイバーセキュリティの専門家に向けて、情報漏えいの被害者が得た教訓を紹介する特集の 1 つです。それぞれの記事で簡単な推奨事項を挙げていますが、その多くは企業に新たなツールの購入を強いるものではありません。
『アクティブアドバーサリープレイブック 2021』によると、正規のユーザー名とパスワードによる有効なアカウントを用いた不正アクセスは、攻撃の初期アクセスの手法上位 5 つに含まれています (MITRE ATT&CK 手法 T1078)。有効な認証情報は標的のシステムに最初に侵入するために悪用されることがありますが、常駐化、権限昇格、防御回避などの操作でも不正に使用されます。
困難な問題
サイバーセキュリティの専門家にとって、有効な認証情報の悪用は特に扱いが難しい問題です。なぜなら、正当なアクセスの中から有効なアカウントの不正使用を特定することは非常に困難であるにも関わらず、攻撃者は認証情報をさまざまな方法で取得できるからです。組織内のアカウントには、通常のユーザーからドメイン管理者権限まで、さまざまなレベルが存在します。
それだけでなく、テスト用のアカウント、マシンなど人間以外のアクセスのためのサービスアカウント、API、サードパーティーがシステムにアクセスするためのアカウント (第三者機関委託のヘルプデスク) が存在し、認証情報がハードコードされている機器も存在します。
自社組織の認証情報を、無関係のオンラインサービスで使用したり、ユーザー名をメールアドレスに使用したりすることが、脅威の拡大につながります。また、同一のパスワードを使いまわすと、パスワードが流出したときのリスクがさらに高まります。新型コロナウイルスのパンデミックが起きた直後に、組織は多くの関係者にリモートアクセスを許可しました。その結果、仮想プライベートネットワーク (VPN) やリモートアクセスツールが不正に使用され、攻撃対象がさらに拡大しました。
攻撃者の認証情報の入手方法
攻撃者の認証情報の入手方法は多岐にわたります。ここではそのいくつかを紹介します。攻撃者は、セキュリティの無効化、データの流出、バックアップの削除、ランサムウェアの展開などを達成するために必要なドメイン管理者権限を得るために、フィッシングメールで認証情報を取得できる簡単なターゲットから攻撃を着手し、最終的にはドメイン管理者アカウントの入手を目指します。
フィッシング (T1598)、総当たり攻撃 T1110、ソーシャルエンジニアリング (信頼できる IT プロバイダーを装い、アカウントの作成を依頼するような単純なもの。T1593.1)、SQL インジェクション (T1190) などの外部手法は、Compilations of Many Breaches (COMB) としてまとめられ、有料または無料で提供されていることがあります。)
攻撃者は、取得した認証情報を外部アクセス手段 (RDP (被害事例に学ぶ #2: インターネット接続している RDP はブロックするを参照)、VPN、FTP、ターミナルサービス、CPanel、TeamViewer などのリモートアクセスツール、O365 などのクラウドサービス、セキュリティコンソール) をクレデンシャルスタッフィング攻撃で照合し、任意のツールが機能するかどうかを確認します。複数のパスワードを覚えるのは困難であることから、多くのユーザーが同じ認証情報を別のサービスでも使い回しています。また、メールアドレスの一部にユーザー名を使用していることも多いのではないでしょうか。このような理由から、多要素認証 (MFA/2FA) は、外部から内部へのアクセスに全ておいて重要です (被害事例に学ぶ #1: システム管理 / セキュリティコンソールには MFA を義務付けるを参照)。ひとたび認証情報がリモートアクセス手段とうまく組み合わせられると、攻撃者が組織の有効なユーザーとみなされ、組織内に潜伏できます。
権限昇格の方法について話す前に、ここで認証情報を必要としない他のアクセス方法が存在することについての危険性についても説明しておきましょう。VPN コンセントレータ、Exchange、ファイアウォール / ルーター、Web サーバー、SQL インジェクションなどのエクスプロイト (T1212) またはデフォルトパスワード (T1078.1) などは、不正アクセスの足がかりを得るために利用されてきました。ドライブバイダウンロードも、バックドア (T1189) を確立するために使用できます。一度侵入すれば、基本的な権限した付与されていないユーザーアカウントであってもさまざまな偵察手法を実行でき、特権アクセスを得る方法や常駐化のためのアカウントを作成するための作戦が試行されます。
攻撃者は、防御側が警戒するようなツールは使用せず、以下のような操作を実行する可能性があります。
- whoami や ipconfig のような単純なコマンドを使用して、システムおよび周辺環境に関する情報を特定する (T1016)。
- ユーザーが使用しているデバイス (およびマッピングされたドライブ) を検索して、名前または内容にパスワードが含まれるファイルを探す (TT1552.1)。
- LDAP を検索して、同一ネットワークの他のユーザーのアカウントを特定する (T1087.2)。
- Windows レジストリを検索して (T1552.2)、保存された認証情報を調べる。
- 保存された認証情報を Web クッキーで検索する (T1539)。
- PowerShell ベースのコマンドとコントロールツールをドロップすることで、パスワードが変更されたり、エクスプロイトにパッチが適用されたりした場合でも、再び侵入できるようにする (T1059.1)。
- どのようなプログラムがインストールされているかを確認する。PSExec や PSKill のようなリモートアクセスツールや管理ツールは攻撃者にとっても非常に便利です (T1592.2)。
このような場合、攻撃者は不要と思われるプログラムのインストールおよび、または使用に移行する可能性があります。上記の PSExec と PSKill は、マイクロソフトが提供している正規の管理ツールですが、攻撃にも悪用されています。IOBit、GMER、Process Hacker、AutoIT、Nircmd、ポートスキャナ、packet sniffers といったツールはすべて、ソフォスが確認して対応した攻撃で使用されていることが確認されています。これらのツールについては、次回の 被害事例に学ぶの記事で説明します。これらのツールの目的は、エンドポイントセキュリティソリューションを無効にすることです。その結果、警戒されることなく、攻撃を次の段階へ進めることができるようになります。
より高い権限のアカウントを見つけるための一般的なツールには、Mimikatz、IcedID、PowerSploit、Cobalt Strike があります。また Trickbot も古くから使用されています。これらのツールは、ケルベロス認証などでネットワークがユーザーを認証するために使用する情報を取得、解釈、エクスポート、操作する高度な能力を備えています。データはある程度暗号化されているにせよ、熟練した攻撃者にとっては大きな足かせにはなりません。有効なアカウントの暗号化トークンは、Pass the Hash 攻撃 (T1550.2) や Pass the Ticket (T1550.3) と呼ばれる手法によって、ネットワークで受け渡しされることがあります。パスワードと暗号化されたバージョンを示す膨大な表は、暗号化されたパスワードと平文テキストのバージョンを素早く照合するために使用されます (T1110.2)。キーロガーは、デバイスにおけるユーザーのキーストロークをキャプチャするために使用される場合があります。また、HiveNightmare/SeriousSam または SeriousSam や PrintNightmare のように、管理者権限がなくても認証情報にアクセスできる特定の脆弱性も見つかっています。さらに、LaZagne のような簡単に入手できるツールキットを使用して、ブラウザ、インスタントメッセージングソフト、データベース、ゲーム、電子メール、WiFi に保存されているパスワードまで取得できます。
有効な証明書の使用
有効な認証情報、特に管理者権限を持つ認証情報は、グループポリシーの変更 (T1484.1)、セキュリティツールの無効化 (T1562.1)、組織のネットワーク全体でアカウントの削除や新規作成といった重要な用途に使用できます。流出されたデータは、売買の対象となったり、恐喝や産業スパイのために使用されたりする恐れがあります。信憑性の高いなりすまし攻撃やビジネスメール詐欺に利用されることもあります。しかし、ほとんどの場合、現在広く悪用されている「サービスとしてのランサムウェア」の配信と実行に使用されます。また、それが失敗した場合でも、攻撃者は有効なアカウントを使用して BitLocker を単に有効にするケースが確認されています。
組織を保護するために
認証情報の問題は現実に被害をもたらしています。しかし、セキュリティを意識し、正しいプロセスとテクノロジーを理解することでこの問題を解決できます。従業員向けのサイバーセキュリティトレーニングでは、通常、以下のように従業員のセキュリティ意識の向上が中心となります。
- フィッシングメールの見分け方
- パスワードを再利用しないこと – パスワード管理ツールの使用方法
- 個人アカウントに業務用のパスワードを使用しないこと
- パスワードを簡単にしすぎないこと
- 怪しい Web サイトを使用しないこと
プロセスやテクノロジーについては以下に注意する必要があります。
- 多要素認証を可能な限り広範囲で使用する。
- 外部からの攻撃対象領域を可能な限り小さくし、常に最新のセキュリティ環境に維持する。
- 最上位の権限があるアカウント数を最小限にする。ドメイン管理者が 8 人もいるような場合は減らすべきです。
- ローカル管理者権限の使用を制限する。
- サービスアカウントの整理 – 未使用のサービスアカウントやテストアカウントを削除する。
- 強力な管理ツールや潜在的に不要なプログラムの使用を制御や監視する。
- 通常とは異なる地域や時間帯のログインを監視する。