「Windowsのパスワード」の版間の差分
(→Windows のパスワードファイル) |
|||
(同じ利用者による、間の3版が非表示) | |||
行1: | 行1: | ||
− | + | [[Windows]]の[[パスワード]]がどのように管理されているのか、[[パスワード]]はどのような状態なのかを説明します。 | |
− | + | ||
− | + | ||
− | 読み方 | + | '''読み方''' |
+ | ;[[Windowsのパスワード]]:うぃんどうずのぱすわーど | ||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
− | |||
[[Windows]]のパスワードに関連する情報です。 | [[Windows]]のパスワードに関連する情報です。 | ||
== Windows のパスワードファイル == | == Windows のパスワードファイル == | ||
− | |||
Windows NT, Windows 2000, Windows XP の[[パスワード]]は、 [[SAMデータベース]]で管理されます。 | Windows NT, Windows 2000, Windows XP の[[パスワード]]は、 [[SAMデータベース]]で管理されます。 | ||
行20: | 行17: | ||
* 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]]で[[暗号化]]してあります。 |
− | SYSTEM Hive ファイルと SECURITY Hive ファイルが利用できれば、 | + | 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
- Windows Vista 以前のWindowsでは、パスワードは、LMハッシュとNTLMハッシュで保存されます。
- Windows Vista から パスワード は、NTLMハッシュでのみ保存されます。
SAMデータベースのファイルは、システムキー(SYSTEMファイル)で暗号化されています。
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のパスワードにはソルトが使われない
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のパスワード
- LMハッシュ
- NTLMハッシュ
- 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 )
パスワードハッシュのクラッキングツール
パスワードリセットツール
- ntpasswd
パスワードを利用したアクセスツール
パスワードクラッキング手法
パスワード関連用語
- Windowsアカウントのパスワードをクラッキングする方法
- Windowsのパスワード
- LMハッシュ
- NTLMハッシュ
- SAMデータベース