Hatena::Groupmoti

ユーザ名およびパスワードの保存

ユーザ名およびパスワードの保存

ユーザ名およびパスワードの保存

ユーザ名およびパスワードの保存


f:id:epk:20110731185721g:image

Windows XP Professional と Windows Server 2003 から導入された資格情報のキャッシュ。

同じく導入された DPAPI の機能を使用している。



余談

  • コマンドラインから「control userpasswords2」を実行しても確認できる。
  • 英語版では「Stored User Names and Passwords」という名前


保存されたユーザ名・ログオン先サーバ一覧を表示する方法

CredEnumerate を使う。CredEnumerate function (Windows)

取得出来る資格情報構造体の中に TargetName, UserName メンバがあるのでそれを読む。


Enumerating Windows credentials with CredEnumerate function

Credential Manager Password Decoder

がとても参考になるので、おすすめ。



保存されたパスワードを表示する方法

ない。

  • 保存されたユーザ名とパスワードの情報は、CRED_TYPE_DOMAIN_PASSWORD タイプの資格情報として保存される。
  • 同タイプの資格情報は、(パスワードが入ってると思われる) CredentialBlob メンバを読み取ることが出来ないという制限がある。

参照URL

CREDENTIAL structure (Windows)

CredentialBlob

Secret data for the credential.

Also, for CRED_TYPE_DOMAIN_PASSWORD, this member can only be read by the authentication packages.

たぶんLSAしか読めねぇって書いてある気がする。

lsass.exe にDLL注入して強奪する方法もあるらしいけど、Debug Privilege(SeDebugPrivilege) が必要。

更に自前環境では成功しなかった。