「Windowsのパスワード」の版間の差分
(→Windows のパスワードファイル) |
|||
行1: | 行1: | ||
− | + | [[Windows]]の[[パスワード]]がどのように管理されているのか、[[パスワード]]はどのような状態なのかを説明します。 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
− | |||
[[Windows]]のパスワードに関連する情報です。 | [[Windows]]のパスワードに関連する情報です。 | ||
== Windows のパスワードファイル == | == Windows のパスワードファイル == | ||
− | |||
Windows NT, Windows 2000, Windows XP の[[パスワード]]は、 [[SAMデータベース]]で管理されます。 | Windows NT, Windows 2000, Windows XP の[[パスワード]]は、 [[SAMデータベース]]で管理されます。 | ||
行20: | 行13: | ||
* Windows Vista 以前のWindowsでは、[[パスワード]]は、[[LMハッシュ]]と[[NTLMハッシュ]]で保存されます。 | * Windows Vista 以前のWindowsでは、[[パスワード]]は、[[LMハッシュ]]と[[NTLMハッシュ]]で保存されます。 | ||
* Windows Vista から [[パスワード]] は、[[NTLMハッシュ]]でのみ保存されます。 | * Windows Vista から [[パスワード]] は、[[NTLMハッシュ]]でのみ保存されます。 | ||
− | |||
[[SAMデータベース]]のファイルは、システムキー(SYSTEMファイル)で[[暗号化]]されています。 | [[SAMデータベース]]のファイルは、システムキー(SYSTEMファイル)で[[暗号化]]されています。 | ||
− | |||
== Windowsのパスワードにはソルトが使われない == | == Windowsのパスワードにはソルトが使われない == | ||
− | |||
[[Windows]]の[[パスワード]]は、[[ソルト]] が使われません。 | [[Windows]]の[[パスワード]]は、[[ソルト]] が使われません。 | ||
行34: | 行24: | ||
* 同じパスワードは、同じ [[ハッシュ]] になる。 | * 同じパスワードは、同じ [[ハッシュ]] になる。 | ||
* [[レインボーテーブル]] に弱くなる。 | * [[レインボーテーブル]] に弱くなる。 | ||
− | |||
== SAMデータベースからパスワードを抜き出す手法 == | == SAMデータベースからパスワードを抜き出す手法 == | ||
[[SAMデータベース]] の[[パスワード]]の[[ハッシュ]]を抜き出すには、[[PwDump]] コマンドを利用します。 | [[SAMデータベース]] の[[パスワード]]の[[ハッシュ]]を抜き出すには、[[PwDump]] コマンドを利用します。 | ||
− | |||
== ドメインアカウント == | == ドメインアカウント == | ||
− | |||
ドメインアカウントは、オリジナルの[[パスワード]]の[[ハッシュ]]は、[[Active Directory]] にあります。 | ドメインアカウントは、オリジナルの[[パスワード]]の[[ハッシュ]]は、[[Active Directory]] にあります。 | ||
クライアントがネットワークに接続していない場合、[[Active Directory]]と通信ができません。そのため、[[Active Directory]] と通信できない状況でも、ログイン処理を行うために、クライアントのローカルに[[パスワード]]の[[ハッシュ]]が[[キャッシュ]]されています。 | クライアントがネットワークに接続していない場合、[[Active Directory]]と通信ができません。そのため、[[Active Directory]] と通信できない状況でも、ログイン処理を行うために、クライアントのローカルに[[パスワード]]の[[ハッシュ]]が[[キャッシュ]]されています。 | ||
行52: | 行39: | ||
ドメインアカウントのパスワードハッシュをキャッシュするかは、レジストリの設定で決められます。[[Active Directory]]に常に接続できるクライアントは、キャッシュを無効にしてもよいでしょう。 | ドメインアカウントのパスワードハッシュをキャッシュするかは、レジストリの設定で決められます。[[Active Directory]]に常に接続できるクライアントは、キャッシュを無効にしてもよいでしょう。 | ||
− | |||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[SAMデータベース]] | * [[SAMデータベース]] | ||
* [[LMハッシュ]] | * [[LMハッシュ]] | ||
行60: | 行45: | ||
* [[ソルト]] | * [[ソルト]] | ||
* [[Windowsアカウントのパスワードをクラッキングする方法]] | * [[Windowsアカウントのパスワードをクラッキングする方法]] | ||
+ | {{crack windows password}} | ||
+ | <!-- vim: filetype=mediawiki --> |
2014年1月5日 (日) 00:06時点における版
Windowsのパスワードがどのように管理されているのか、パスワードはどのような状態なのかを説明します。
目次
概要
Windowsのパスワードに関連する情報です。
Windows のパスワードファイル
Windows NT, Windows 2000, Windows XP のパスワードは、 SAMデータベースで管理されます。
SAMデータベース は、下記のファイルです。
C:\Windows\System32\config\SAM
- Windows Vista 以前のWindowsでは、パスワードは、LMハッシュとNTLMハッシュで保存されます。
- Windows Vista から パスワード は、NTLMハッシュでのみ保存されます。
SAMデータベースのファイルは、システムキー(SYSTEMファイル)で暗号化されています。
Windowsのパスワードにはソルトが使われない
Unix 系 OS では、パスワード は、ユーザごとに異なる ソルト が用いられ、ハッシュ されます。
ソルト を使わないデメリットには、以下のものがあります。
SAMデータベースからパスワードを抜き出す手法
SAMデータベース のパスワードのハッシュを抜き出すには、PwDump コマンドを利用します。
ドメインアカウント
ドメインアカウントは、オリジナルのパスワードのハッシュは、Active Directory にあります。 クライアントがネットワークに接続していない場合、Active Directoryと通信ができません。そのため、Active Directory と通信できない状況でも、ログイン処理を行うために、クライアントのローカルにパスワードのハッシュがキャッシュされています。
パスワードのハッシュ(以下、パスワードハッシュ)は、レジストリ(HKLM\SECURITY\CACHE\NL$n に保存されます。 パスワードハッシュのキャッシュは、LSASS (Local Security Authority System Service) により、RC4で暗号化してあります。
SYSTEM Hive ファイルと SECURITY Hive ファイルが利用できれば、 Cain and Abel でパスワードハッシュを抜き出せます。
ローカルアカウントのNTLMハッシュと異なり、 ドメインアカウントの場合は、ソルトが利用されています。ソルトには、ドメインアカウントのユーザ名が利用されます。
ドメインアカウントのパスワードハッシュをキャッシュするかは、レジストリの設定で決められます。Active Directoryに常に接続できるクライアントは、キャッシュを無効にしてもよいでしょう。