オープンソースツール「DPAPISnoop」の大幅強化版が、セキュリティコミュニティで注目を集めています。研究者たちがWindowsのDPAPI認証情報履歴(CREDHISTファイル)からオフラインでクラック可能なハッシュを抽出できることを実証したためです。この手法により、過去のパスワード情報が漏えいするリスクがあるほか、ユーザーのパスワードパターンを長期にわたって深く分析することも可能になります。
NettitudeのCyberLabsチームが開発した今回のアップデートにより、DPAPISnoopはCREDHISTエントリの解析と抽出に対応しました。CREDHISTは、Windows Data Protection API(DPAPI)のエコシステムにおいて、これまであまり注目されてこなかったアーティファクトです。
DPAPIは、ブラウザの認証情報や暗号化キー、保存されたシークレットなどの機密データを保護するために広く使用されており、通常はユーザーのパスワードから暗号化キーを導出する仕組みを採用しています。

これまで多くの攻撃ツールはDPAPIマスターキーの取得と保護データの復号に焦点を当ててきましたが、今回のアップデートでは、ユーザーがパスワードを変更した際にWindowsが維持する認証情報の履歴チェーンへと関心が移っています。
CREDHISTファイルは%APPDATA%\Microsoft\Protectに格納されており、暗号化された過去のパスワード情報を順番につないだチェーン構造を持っています。各エントリは、ユーザーの履歴上の特定のパスワードから導出されたキー素材で保護されており、新しいエントリほど現在のパスワードに紐付けられ、古いエントリは順次さかのぼる形でチェーンされています。
これらのエントリを構造化されたハッシュ形式に抽出することで、DPAPISnoopは攻撃者やレッドチームの担当者がHashcatのようなツールを使ってオフラインクラッキングを実行できるようにします。これにより、過去に使用されたパスワードや、NTLMおよびSHA1ハッシュといったパスワード派生素材を効果的に復元できます。
今回の研究によれば、現代のシステムでは通常、AES-256暗号化とSHA-512ベースのPBKDF2(約8,000回のイテレーション)が組み合わせて使用されており、これは現行のDPAPI保護方式と一致しています。
しかし、CREDHISTチェーン内の古いエントリには、HMAC-SHA1を使用した3DESのような脆弱な暗号方式が採用されている場合があり、そのような場合はクラッキングが大幅に容易になります。
この特性が実際の攻撃経路を生み出しています。まず脆弱なレガシーエントリを最初の標的にすることで、認証情報チェーンを順にたどり、新しいパスワードの復元にまでつなげられる可能性があります。
このワークフローを支援するため、研究者たちは2つの新しいHashcatモードも導入しました。CREDHISTエントリのうち3DES+HMAC-SHA1形式に対応するモード15920と、AES-256+SHA-512形式に対応するモード15930です。
一度パスワードが復元されると、それをDPAPISnoopに再入力してチェーン内の追加エントリを復号できます。これにより、ユーザーのパスワード履歴を実質的に「順番にたどる」ことが可能になります。

この反復プロセスは認証情報の復元に役立つだけでなく、パスワードの使い回しや段階的な変更、予測可能なパターンといった傾向を明らかにする貴重なパスワードインテリジェンスとしても機能します。
重要なのは、この手法がソフトウェアの脆弱性を悪用するものではなく、DPAPIの本来の機能を利用している点です。したがって、リスクが生じるのは攻撃者がユーザープロファイルやDPAPIディレクトリへのファイルシステムアクセスを取得した場合に限られます。
セキュリティチームには、\Microsoft\Protect\CREDHISTやユーザーSIDごとのDPAPIディレクトリといった機密パスへの異常なアクセスパターンを監視することが推奨されます。特にSMBや管理共有経由のアクセスには注意が必要です。
SigmaHQおよびElasticの既存の検出ルールは、これらのファイルへの不審なアクセスをすでにフラグ立てする仕組みを備えています。ただし、アナリストは悪意のある活動と正規のDPAPI使用を区別できるよう、シグナルをさらに精緻化する必要があります。
DPAPISnoopの新機能リリースは、認証情報アクセス手法の高度化が続いていることを改めて示しています。エンドポイントデータの保護、強力なパスワードポリシーの徹底、そしてWindows環境における侵害の微妙な兆候の監視が、いかに重要であるかを浮き彫りにしています。
翻訳元: https://gbhackers.com/new-dpapisnoop-tool-enables-extraction-of-credhist-hashes/