「Windowsのパスワード」の版間の差分

提供: セキュリティ
移動: 案内検索
 
(同じ利用者による、間の4版が非表示)
行1: 行1:
<!--
+
[[Windows]]の[[パスワード]]がどのように管理されているのか、[[パスワード]]はどのような状態なのかを説明します。
vim: filetype=mediawiki
+
-->
+
  
読み方
+
'''読み方'''
 +
;[[Windowsのパスワード]]:うぃんどうずのぱすわーど
  
 
__TOC__
 
__TOC__
  
 
== 概要 ==
 
== 概要 ==
 
 
[[Windows]]のパスワードに関連する情報です。
 
[[Windows]]のパスワードに関連する情報です。
  
 
== Windows のパスワードファイル ==
 
== Windows のパスワードファイル ==
 
 
Windows NT, Windows 2000, Windows XP の[[パスワード]]は、 [[SAMデータベース]]で管理されます。
 
Windows NT, Windows 2000, Windows XP の[[パスワード]]は、 [[SAMデータベース]]で管理されます。
  
 
[[SAMデータベース]] は、下記のファイルです。
 
[[SAMデータベース]] は、下記のファイルです。
  C:\Windows\System32\confi\SAM
+
  C:\Windows\System32\config\SAM
  
 
* Windows Vista 以前のWindowsでは、[[パスワード]]は、[[LMハッシュ]]と[[NTLMハッシュ]]で保存されます。
 
* Windows Vista 以前のWindowsでは、[[パスワード]]は、[[LMハッシュ]]と[[NTLMハッシュ]]で保存されます。
 
* Windows Vista から [[パスワード]] は、[[NTLMハッシュ]]でのみ保存されます。
 
* Windows Vista から [[パスワード]] は、[[NTLMハッシュ]]でのみ保存されます。
 
  
 
[[SAMデータベース]]のファイルは、システムキー(SYSTEMファイル)で[[暗号化]]されています。
 
[[SAMデータベース]]のファイルは、システムキー(SYSTEMファイル)で[[暗号化]]されています。
 +
 +
== Windowsのバージョンごとのパスワードの形式 ==
 +
{|class="wikitable"
 +
|+ Windowsとパスワードのハッシュ
 +
! OS
 +
! [[LMハッシュ]]
 +
! [[NTLMハッシュ]]
 +
|-
 +
| Windows XP
 +
| o
 +
| o
 +
|-
 +
| Windows 2000
 +
| o
 +
| o
 +
|-
 +
| Windows 2000 Server
 +
| o
 +
| o
 +
|-
 +
| Windows Server 2003
 +
| o
 +
| o
 +
|-
 +
| Windows Server 2003 R2
 +
| x
 +
| o
 +
|-
 +
| Windows Server 2008
 +
| x
 +
| o
 +
|-
 +
| Windows Server 2008 R2
 +
| x
 +
| o
 +
|-
 +
| Windows Vista
 +
| x
 +
| o
 +
|-
 +
| Windows 7
 +
| x
 +
| o
 +
|-
 +
| Windows 8
 +
| x
 +
| o
 +
|-
 +
| Windows 10
 +
| x
 +
| o
 +
|}
  
 
== Windowsのパスワードにはソルトが使われない ==
 
== Windowsのパスワードにはソルトが使われない ==
 
 
[[Windows]]の[[パスワード]]は、[[ソルト]] が使われません。
 
[[Windows]]の[[パスワード]]は、[[ソルト]] が使われません。
  
行34: 行81:
 
* 同じパスワードは、同じ [[ハッシュ]] になる。
 
* 同じパスワードは、同じ [[ハッシュ]] になる。
 
* [[レインボーテーブル]] に弱くなる。
 
* [[レインボーテーブル]] に弱くなる。
 
 
== SAMデータベースからパスワードを抜き出す手法 ==
 
== SAMデータベースからパスワードを抜き出す手法 ==
  
 
[[SAMデータベース]] の[[パスワード]]の[[ハッシュ]]を抜き出すには、[[PwDump]] コマンドを利用します。
 
[[SAMデータベース]] の[[パスワード]]の[[ハッシュ]]を抜き出すには、[[PwDump]] コマンドを利用します。
 
 
== ドメインアカウント ==
 
== ドメインアカウント ==
 
 
ドメインアカウントは、オリジナルの[[パスワード]]の[[ハッシュ]]は、[[Active Directory]] にあります。
 
ドメインアカウントは、オリジナルの[[パスワード]]の[[ハッシュ]]は、[[Active Directory]] にあります。
クライアントがネットワークに接続していない場合、[[Active Directory]]と通信ができません。そのため、[[Active Directory]] と通信できない状況でも、ログイン処理を行うために、クライアントのローカルに[[パスワード]]の[[ハッシュ]]が[[キャッシュ]]されています。
+
クライアントがネットワークに接続していない場合、[[Active Directory]]と通信ができません。そのため、[[Active Directory]] と通信できない状況でも、ログイン処理を行うために、クライアントのローカルに[[パスワード]]の[[ハッシュ]]がキャッシュされています。
  
 
パスワードのハッシュ(以下、パスワードハッシュ)は、レジストリ(HKLM\SECURITY\CACHE\NL$n に保存されます。
 
パスワードのハッシュ(以下、パスワードハッシュ)は、レジストリ(HKLM\SECURITY\CACHE\NL$n に保存されます。
パスワードハッシュのキャッシュは、[[LSASS]] (Local Security Authority System Service)  により、[[RC4]]で[[暗号化]]してあります。
+
パスワードハッシュのキャッシュは、'''LSASS''' (Local Security Authority System Service)  により、[[RC4]]で[[暗号化]]してあります。
  
SYSTEM Hive ファイルと SECURITY Hive ファイルが利用できれば、 [[Cain and Abel]] でパスワードハッシュを抜き出せます。
+
SYSTEM Hive ファイルと SECURITY Hive ファイルが利用できれば、 '''Cain and Abel''' でパスワードハッシュを抜き出せます。
  
 
ローカルアカウントの[[NTLMハッシュ]]と異なり、 ドメインアカウントの場合は、[[ソルト]]が利用されています。[[ソルト]]には、ドメインアカウントのユーザ名が利用されます。
 
ローカルアカウントの[[NTLMハッシュ]]と異なり、 ドメインアカウントの場合は、[[ソルト]]が利用されています。[[ソルト]]には、ドメインアカウントのユーザ名が利用されます。
  
 
ドメインアカウントのパスワードハッシュをキャッシュするかは、レジストリの設定で決められます。[[Active Directory]]に常に接続できるクライアントは、キャッシュを無効にしてもよいでしょう。
 
ドメインアカウントのパスワードハッシュをキャッシュするかは、レジストリの設定で決められます。[[Active Directory]]に常に接続できるクライアントは、キャッシュを無効にしてもよいでしょう。
 
 
== 関連項目 ==
 
== 関連項目 ==
 
 
* [[SAMデータベース]]
 
* [[SAMデータベース]]
 
* [[LMハッシュ]]
 
* [[LMハッシュ]]
行60: 行102:
 
* [[ソルト]]
 
* [[ソルト]]
 
* [[Windowsアカウントのパスワードをクラッキングする方法]]
 
* [[Windowsアカウントのパスワードをクラッキングする方法]]
 +
== Windowsパスワードのクラック ==
 +
=== Windowsのパスワードの仕様 ===
 +
* [[Windowsのパスワード]]
 +
* [[LMハッシュ]]
 +
** [[DES暗号]]
 +
* [[NTLMハッシュ]]
 +
** [[MD4]]
 +
* [[SAMデータベース]] ( '''Security Account Manager Database''' )
 +
* [[SysKey]]
 +
* [[Active Directory]]
 +
* [[ドメインコントローラー]]
 +
* [[lslsass]]
 +
* [[Winlogon]]
 +
* [[Local Security Authority Subsystem Service]]([[lsass]])
 +
* '''NTLM認証'''
 +
=== Windowsパスワードを取得するツール ===
 +
[[SAMデータベース]]から[[ハッシュ化されたパスワード]]を取得する。
 +
* [[PwDump]]:  [[SAMデータベース]]から[[パスワードハッシュ]]を取得します。
 +
* [[gsecdump]]: [[SAMデータベース]]/[[Active Directory]]やログインセッションから[[パスワードハッシュ]]を取得します。
 +
* [[bkhive]]: [[Linux]]用のツールで[[Windows]]のsystemファイルから[[SysKey]]を取得します。
 +
* [[samdump2]]: [[Linux]]用のツールで[[SAMデータベース]]と[[SysKey]]を用いて、[[パスワードハッシュ]]をダンプします。
 +
 +
ログインセッションから[[ハッシュ化されたパスワード]]を取得する。
 +
* [[CacheDump]]
 +
* [[Windows Credentials Editor]] ( WCE )
 +
=== パスワードハッシュのクラッキングツール ===
 +
* [[John the Ripper]]
 +
* [[Ophcrack]]
 +
* [[RainbowCrack]]
 +
=== パスワードリセットツール ===
 +
* ntpasswd
 +
=== パスワードを利用したアクセスツール ===
 +
* [[keimpx]]
 +
* [[PsExec]]
 +
* [[net use]]
 +
=== パスワードクラッキング手法 ===
 +
* [[Pass the Hash]]
 +
* [[Windowsアカウントのパスワードをクラッキングする方法]]
 +
* [[パスワードクラック]]
 +
* [[KVMのディスクイメージをマウントする]]
 +
* [[DLLインジェクション]]
 +
=== パスワード関連用語 ===
 +
* [[パスワード]]
 +
* [[ソルト]]
 +
* [[ハッシュ]]
 +
* [[暗号]]
 +
* [[ハッシュ化されたパスワード]] ([[パスワードハッシュ]])
 +
* [[パスワードクラック]]
 +
* [[総当たり攻撃]]
 +
 +
{{crack windows password}}
 +
<!-- vim: filetype=mediawiki
 +
-->

2015年9月22日 (火) 17:20時点における最新版

Windowsパスワードがどのように管理されているのか、パスワードはどのような状態なのかを説明します。

読み方

Windowsのパスワード
うぃんどうずのぱすわーど

概要

Windowsのパスワードに関連する情報です。

Windows のパスワードファイル

Windows NT, Windows 2000, Windows XP のパスワードは、 SAMデータベースで管理されます。

SAMデータベース は、下記のファイルです。

C:\Windows\System32\config\SAM

SAMデータベースのファイルは、システムキー(SYSTEMファイル)で暗号化されています。

Windowsのバージョンごとのパスワードの形式

Windowsとパスワードのハッシュ
OS LMハッシュ NTLMハッシュ
Windows XP o o
Windows 2000 o o
Windows 2000 Server o o
Windows Server 2003 o o
Windows Server 2003 R2 x o
Windows Server 2008 x o
Windows Server 2008 R2 x o
Windows Vista x o
Windows 7 x o
Windows 8 x o
Windows 10 x o

Windowsのパスワードにはソルトが使われない

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に常に接続できるクライアントは、キャッシュを無効にしてもよいでしょう。

関連項目

Windowsパスワードのクラック

Windowsのパスワードの仕様

Windowsパスワードを取得するツール

SAMデータベースからハッシュ化されたパスワードを取得する。

ログインセッションからハッシュ化されたパスワードを取得する。

パスワードハッシュのクラッキングツール

パスワードリセットツール

  • ntpasswd

パスワードを利用したアクセスツール

パスワードクラッキング手法

パスワード関連用語