[日本語] [English]

CSIRT_asks_you_02

以下のファイルが与えられ、脆弱なパスワードとそのアカウント名を要求された。

samdump2SYSTEMSAMを変換すると、 *disabled*の付いた行やアカウント名が特殊な文字の行の中に、以下の行があった。

stella:1001:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

Ophcrackで解析を行った結果、 31d6cfe0d16ae931b73c59d7e0c089c0は空文字列に対応するNTLMハッシュのようであった。
しかし、flag{stella_} はIncorrectとなった。

「SYSTEM.LOG1 SAM.LOG1」でググると、以下のページがヒットした。

Bam KeyとTransaction Log - @port139 Blog

ここで紹介されていたRegistry Explorer/RECmdを用いて与えられたファイル群を開き、調査すると、 アカウントの情報が SAM\Domains\Account\Users に格納されていそうであることがわかった。
そこで、「SAM\Domains\Account\Users hash」でググり、以下のページを見つけた。

これらのページでは、レジストリのデータからパスワードのハッシュ値を求める方法が紹介されていた。 しかし、与えられたデータと比較すると、SYSKEYを求めるためのデータの長さが合わず、処理の方法がわからなかった。
そこで、「nthash syskey」でググり、以下のページを見つけた。

Retrieving NTLM Hashes and what changed in Windows 10 – Industrial Security Research Group

このページを参考にFの値をチェックすると、パスワードはAESで暗号化されていそうだった。
しかし、与えられたデータ中のSYSKEYを求めるためのデータの長さは、このページの記述とも合わなかった。
そこで、「system sam aes encrypted john」でググり、以下のページを見つけた。

Pwdump on Windows 10 after password change with anniversary update installed · Issue #2 · CiscoCXSecurity/creddump7 · GitHub

このページより、mimikatzでハッシュ値が求められそうだったので、 「mimikatz sam security dump」でググり、以下のページを見つけた。

Dumping NTLM Hashes from SAM using Mimikatz | JoshDawes.com

このページを参考に、mimikatzのlsadump::samコマンドでハッシュのダンプを行い、 grepNTLMを含む行を抽出した。

得られたハッシュ値をCrackStationに入れて解析を行うと、 ハッシュ値3c99b8901b00758369f18b9df72012c8に対応する値がtesttestであることがわかった。
さらに、ダンプ結果からこのハッシュ値で検索を行うと、このハッシュ値に対応するアカウント名はtestだとわかった。
これらを組み合わせることでflagが得られた。

flag{test_testtest}

writeup by MikeCAT

setodaNote CTF