Mandiantは、Net-NTLMv1認証ハッシュを解読するために設計された包括的なレインボーテーブルを公に公開しました。これは、プロトコルが非推奨であり、根本的に安全ではないことが広く認識されているにもかかわらず、20年以上にわたって残り続けてきた重大なセキュリティギャップに対処するものです。
これらのテーブルを公開するという決定は、技術的な必要性ではなく組織的な惰性によって、古い認証メカニズムが依然として稼働環境に広く残っている現状を踏まえ、移行の緊急性を強調するものです。
この公開は、セキュリティコミュニティがレガシープロトコルの脆弱性に対処する方法における大きな転換点を示しています。

これまで、Net-NTLMv1ハッシュの解読には、機密性の高い認証情報をサードパーティのサービスにアップロードするか、DESキーをブルートフォースするための高価な専用ハードウェアに投資する必要がありました。
Mandiantのデータセットは、600米ドル未満のコンシューマー向けハードウェアを用いて12時間未満でパスワードを復元できるようにすることで、これらの障壁を取り除きます。
この脆弱性テストの民主化により、Net-NTLMv1は理論上のリスクから実証可能な脅威へと変わり、組織はもはや無視できなくなります。
攻撃チェーンと技術的脆弱性
Net-NTLMv1の中核的な弱点は、既知平文攻撃の仕組みに依存している点にあります。
攻撃者がExtended Session Securityが有効になっていないNet-NTLMv1ハッシュを入手した場合(通常はResponder、PetitPotam、DFSCoerceなどの認証情報強制ツールを通じて)、基盤となる鍵素材の回復を保証する暗号攻撃を実行できます。
この鍵素材は、ユーザーアカウントであれコンピュータのマシンアカウントであれ、認証を行うActive Directoryオブジェクトのパスワードハッシュに直接対応します。

攻撃者が高い権限を持つシステムを標的にすると、攻撃の深刻度は増します。典型的な悪用チェーンでは、ドメインコントローラーに認証を強制し、そのマシンアカウントのハッシュを回復し、そのアクセスを利用してActive Directory環境内のすべてのアカウントを侵害するDCSync攻撃を実行します。
この攻撃は、高度なゼロデイエクスプロイトや複雑な多段階ペイロードを必要としない、組織全体の完全侵害に至る経路を示しています。
脆弱性自体は新しいものではありません。基盤となるプロトコルの暗号解析は1999年までさかのぼり、Net-NTLMv1の危険性が広く認識されるようになったのは、DEFCONでの発表を受けた2012年頃です。

レインボーテーブルの手法は、1980年の時間-メモリトレードオフの概念を基に、Philippe Oechslinによって2003年に公開されました。
Googleによる報告によれば、Hashcatは2016年8月にDESキー解読のサポートを追加し、悪用の障壁をさらに下げました。
Mandiantの貢献は新たな攻撃を発明することではなく、大量のストレージと処理リソースを消費する計算基盤と事前計算済みテーブルを提供し、攻撃を容易に実行できるようにした点にあります。
レインボーテーブルはGoogle CloudのResearch Datasetポータルで入手できます。gsutilコマンドでダウンロードでき、検証用にSHA-512チェックサムも提供されています。
パスワード解読コミュニティはすでに派生した最適化版や別のホスティング手段を作成しており、広範な入手可能性が確保されています。
セキュリティ研究者は、RainbowCrack-NGやGPUアクセラレーション実装など複数のツールとこれらのテーブルを統合でき、多くのセキュリティ運用チームにとって統合は容易です。
組織は、ローカルコンピュータポリシーとグループポリシーの両方を構成してNTLMv2のみを強制し、Net-NTLMv1認証を直ちに無効化しなければなりません。
しかし、是正には追加の防御層が必要です。攻撃者がローカル管理者権限を得ると、侵害成功後にセキュリティポリシーを変更できるため、Net-NTLMv1の使用を示すEvent ID 4624の認証イベントを継続的に監視する必要があります。
この多層的アプローチ(ポリシーの強制、継続的な監視、能動的なアラート)により、Net-NTLMv1は直接的な攻撃ベクターから、検知可能な侵害指標へと変わります。
これらのレインボーテーブルの公開は、セキュリティコミュニティが非推奨プロトコルを扱う方法における決定的な転換を示しています。
翻訳元: https://gbhackers.com/mandiant-rainbow-tables-that-crack-ntlmv1-admin-passwords/