troushoo

Windows のユーザー名、パスワードを復元 : hashcat, impacket

Windows のユーザー名、パスワードを復元を試みる方法を紹介します。

手順の概要は以下です。
1. SYSTEM と SAM のレジストリを保存
2. impacket を用いて、ユーザー名と、パスワードのハッシュを取得
3. hashcat を用いて、ユーザー名のパスワードを復元

1. SYSTEM と SAM のレジストリを保存 (Windows Server 2019 を使用しました。)
レジストリは Windows が稼働中だと、通常の方法ではコピーできません。コピーしようとすると「System によってファイルは開かれているため、操作を完了できません。」というエラーが出ます。


そのため VSS を使用して、レジストリをコピーします。

1.1. 以下の PowerShell を実行し、VSS スナップショットを作成します。
(Get-WmiObject -List Win32_ShadowCopy).Create("C:\", "ClientAccessible")


1.2. ディスクの管理 (diskmgmt.msc) を開きます。

1.3. C ドライブを右クリックし「プロパティ」を選択します。


1.4.「以前のバージョン」タブを選択し、作成した VSS スナップショットを選択し「開く」をクリックします。


1.5.「Windows\System32\config」に移動し、SYSTEM と SAM を保存します。


2. impacket を用いて、ユーザー名と、パスワードのハッシュを取得 (Ubuntu 20.04 を使用しました。)
2.1. 上記 1.5. で保存した SYSTEM と SAM を Linux マシンにコピーします。


2.2. impacket をインストールします。
sudo apt install python3-pip
git clone https://github.com/SecureAuthCorp/impacket.git
cd impacket/
sudo pip3 install .


2.3. secretsdump.py を実行します。
cd examples
python3 secretsdump.py –sam <SAM のパス> –system <SYSTEM のパス> local


2.4. 出力結果のユーザー名がある列を txt ファイルとして保存します。


3. hashcat を用いて、ユーザー名のパスワードを復元 (Windows Server 2019 を使用しました。)
3.1. よく使われるパスワードが記載されている rockyou.txt をダウンロードします。


3.2. hashcat をダウンロードし、展開します。


3.3. hashcat を実行します。
辞書ファイルを用いてパスワードの復元を試みます。
hashcat.exe –a 0 –m 1000 –show --username <2.4. で作成した txt ファイルへのパス> <3.1. でダウンロードした rockyou.txt へのパス>
引数の意味は以下です。
-a 0 辞書を用いてパスワードを復元
-m 1000ハッシュモードに NTML を使用

結果、testuser のパスワードが「password」とわかります。



情報元
Hashcat for Forensics - How Did They Get In? (英語)
関連記事
Linux から、リモートの Windows のコマンドを実行:impacket
  1. 2021/01/30(土) 22:58:09|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<ダンプからハードウェア情報を取得:!sysinfo, !cpuinfo | ホーム | Microsoft Performance Tools Linux : Microsoft 公開の Linux のパフォーマンス解析ツール>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
https://troushoo.blog.fc2.com/tb.php/457-ade848e8
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (114)
ネットワーク (54)
Wireshark (48)
AD (36)
Linux (45)
WinDbg (46)
SOS・Psscor2/Psscor4 (25)
Visual Studio (56)
Tips (32)
コンテナ (4)
Azure (17)
.NET (24)
Python (9)
Java (5)
SQL (6)
事例 (1)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する