web-dev-qa-db-ja.com

ドメインコントローラでのNTLM / LMハッシュ

(Elcomsoftプロアクティブパスワード監査を使用して)ドメインコントローラーからパスワードハッシュを抽出するときに、LMおよびNTLMハッシュを取得する場合と、NTLMハッシュのみを取得する場合があることに気付きました。

NTLM + LMハッシュ(両方のセットを含むアカウント)は、NTLMのみのハッシュよりも桁違いに速く回復されることに注意します。

なぜこれが当てはまるのか知りたいのですが。

LMが2つのうちの古くて弱いことを理解していますが、これらのシナリオでLMとNTLMの両方が格納されている理由がわかりません。

さらに重要なのは、NTLMハッシュだけが安全なオプションであると思われる場合、NTLMのみを強制し、ユーザーの既存のLMハッシュを削除するにはどうすればよいですか?

3
NULLZ

この正確な主題に関するかなり良い Microsoft KB 記事があります。

基本的に、LMは古いクライアントとの互換性のために使用されます。具体的には、Windows 98以前。古いクライアントがネットワーク上にない場合、両方のハッシュの原因はおそらくパスワードの長さが15文字未満であることが原因です。

ユーザーアカウントのパスワードを15文字未満のパスワードに設定または変更すると、WindowsはパスワードのLAN Managerハッシュ(LMハッシュ)とWindows NTハッシュ(NTハッシュ)の両方を生成します。

これの理由は、LMのハッシュ制限によるものであり、セキュリティ関連ではないようです。

ユーザーのパスワードが15文字を超える場合、ホストまたはドメインコントローラーはユーザーのLMハッシュを保存しません。この場合、LM応答を使用してユーザーを認証することはできません。応答は引き続き生成され、計算のLMハッシュとして16バイトのnull値(0x00000000000000000000000000000000)を使用してLM応答フィールドに配置されます。この値はターゲットによって無視されます。

提案したようにプロトコルが大幅に壊れているため、LMハッシュを無効にすることをお勧めします。気づかないかもしれませんが、LMの問題には次のようなものがあります。

  • パスワードは大文字と小文字が区別されません。
  • パスワードは7文字に分割され、個別にハッシュされるため、ブルートフォースは簡単になります。
  • パスワードの長さは最大14文字に制限されています。

先ほど述べたKB記事に記載されているLMハッシュを削除する方法はいくつかあります。リンクに問題が発生した場合に備えて、GPOメソッドを引用します。

方法1:グループポリシーを使用してNoLMHashポリシーを実装する

ローカルグループポリシー(Windows XPまたはWindows Server 2003))を使用して、またはWindows Server 2003 Active Directory環境で、ローカルコンピューターのSAMデータベースにユーザーのパスワードのLMハッシュの格納を無効にするにはActive Directory(Windows Server 2003)のグループポリシーでは、次の手順に従います。

  1. グループポリシーで、[コンピューターの構成]、[Windowsの設定]、[セキュリティの設定]、[ローカルポリシー]の順に展開し、[セキュリティオプション]をクリックします。
  2. 利用可能なポリシーのリストで、[ネットワークセキュリティ:次のパスワード変更時にLAN Managerハッシュ値を保存しない]をダブルクリックします。
  3. [有効]をクリックし、[OK]をクリックします。
4
David Houde

Davidの回答のフォローアップとして、この記事を指摘したいと思います(コメントを追加することはできません): http://digital-forensics.sans.org/blog/2012/02/29/protecting- privileged-domain-accounts-lm-hashes-the-good-the-bad-and-the-ugly

これは、クライアントにLMデータベースのハッシュをSAMデータベースに保存しないように指示された場合でも、それらはメモリに保持され、ファイルにダンプできることを示しています。

2
dan0xii