システムの実行中にWindows SAMファイルをダンプする方法は?


13

metasploitを使用してテストマシンを活用し、SAMファイルからハッシュを取得することができました。コマンドSYSTEMを取得するためにコマンドを実行しようとしましたが、実行できません。SAMファイルからハッシュを抽出する、よりポータブルな方法は何ですか?

回答:


11

これはアクセス許可の問題ではありません。WindowsはSAMファイルの排他ロックを保持している(これは、私の知る限り、読み込まれたレジストリハイブの標準的な動作です)ので、他のプロセスで開くことはできません。

ただし、最近のWindowsバージョンには、「ボリュームシャドウコピー」と呼ばれる機能があります。これは、主にバックアップ用に、ボリューム全体の読み取り専用スナップショットを作成するように設計されています。ファイルロックはデータの一貫性を確保するために存在するため、ファイルシステム全体のスナップショットが作成される場合は不要です。これは、のスナップショットを作成してC:マウントし、SAMファイルをコピーしてから、スナップショットを破棄できることを意味します。

これを正確に行う方法は、Windowsのバージョンによって異なります。XPには外部プログラムが必要で、Vistaおよび7にはが必要vssadmin create shadowで、Server 2008にはdiskshadowコマンドがあります。Live Domain Controllersからハッシュを安全にダンプするページに、このプロセスの詳細と手順、およびスクリプトがあります。

または、samdumpすべてのパスワードハッシュをメモリから直接抽出するために、さまざまな方向からLSASSプロセスを悪用するツールがあります。VSSスナップショットよりもはるかに高速ですが、システムがクラッシュするリスクが高くなります。

最後に、Googleはこのスニペットを紹介します。このスニペットの有用性は、自分自身でmetasploitを使用したことがないと評価することはできません。

meterpreter> use priv
meterpreter> hashdump

11

シャドウボリュームを管理したり、外部ツールを使用したりする必要のない、よりシンプルなソリューションがあります。regマイクロソフトが提供するコマンド(Windows 7およびWindows Server 2008でテスト済み)を使用して、SAMとSYSTEMを簡単にコピーできます。

reg save hklm\sam c:\sam
reg save hklm\system c:\system

(最後のパラメーターは、ファイルをコピーする場所です)


その後、パッケージsamdump2(Debianで利用可能:)を使用して、Linuxシステムでハッシュを抽出できますapt-get install samdump2

$ samdump2 system sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c0e2874fb130015aec4070975e2c6071:::
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:d0c0896b73e0d1316aeccf93159d7ec0:::

これはどのウィンドウフレーバーで機能しますか(またはどちらが機能しませんか)?MSDNウェブサイトから伝えようとしましたが、それをリストしません(少なくとも私はそれを見
ませんでし

これは単にローカルアカウントをダンプします。キャッシュされたドメインの資格情報を取得するには、レジストリからもセキュリティを取得する必要があります。あなたが実行することができます:pythonの/usr/share/doc/python-impacket/examples/secretsdump.py -SAM SAM -security SECURITY会SYSTEM LOCALをすべてのキャッシュされたcredsををダンプします。
N00B

5

編集:長年の放棄の後、編集することにしました。


/etc/shadowLinuxシステムとは異なりWindows SAMファイルはコピー/読み取りがロックされています。代わりに、このツールを回避するには、メモリからハッシュを抽出します。

これを回避する方法がありますが、以下で説明します。

ミミカッツ

でmimikatzを実行しsekurlsa::logonpasswordsます。

fgdump

mimikatzと同様の機能。実行すると、ハッシュはローカルファイルにダンプされます。

ハッシュダンプ

meterpreterに組み込まれています。メモリからハッシュを抽出します。

登録

また、レジストリから抽出することもできます(SYSTEMアクセスできる場合)。

  1. reg save hklm\sam %tmp%/sam.reg そして reg save hklm\system %tmp%/system.reg
  2. ファイルをコピーしてから実行します: samdump2 system sam

バックアップ

SAMファイルはバックアップ場所にも保存できます。 C:\Windows\Repair\SAM

また、ツールには最低限Administrator特権が必要であることにも言及する必要があります。また、SYSTEMアクセスが得られない限り、ほとんどのハッシュは取得されません。


誤解しているかもしれませんが、C&Aと同様の、Mimikatzまたはfgdumpそれより移植性の高い、またはそれとは異なるツールはどのような点がありますか?私が知る限り、それらはすべてWindowsにパッケージ化されておらず、個別にロードする必要のあるサードパーティのツールです。また、私自身の好奇心のために、Ophcrackのようなツールが存在する場合のハッシュダンプツールのユースケースは何ですか?
ハシム

mimikatzを使用して、起動可能なディスクを介して電源がオフになっているシステムのローカルハッシュをクラックできますか、または電源がオンになっているシステムでのみ実行するように設計されていますか?
ハシム

1

Obscuresecメソッドは、Windows PowerShell 1.0対応のマシンでローカルに問題を克服します。私が知っているいくつかのターゲットを除外しますが、ちょっと、いい仕事です!(ありがとう、クリス)。

注:このような操作を実行するには、常に管理者権限が必要です

使用できます

http://gallery.technet.microsoft.com/scriptcenter/Get-PasswordFile-4bee091d

または別のソースから(最近では追加するかもしれません)

https://github.com/obscuresec/PowerShell/blob/master/Get-PasswordFile

読書のアドバイス:

リモートシステムを取得するには、SAMおよびSYSTEMハイブを上記の


1

Red Teaming / Penetration Testingの多くの時間は最も明白な方法にアクセスできないため(拒否、Blue Teamによって監視されているなど)、ここで説明されていない追加の方法を指定したいと思います。

システムがハンドルを持っている(通常どおりコピー/削除できない)ファイルにアクセスする回避策の1つは、vssshadow.exe上記のとおりです。

第二- esentutil.exe

ハンドル付きのファイルのコピーを取得する正確なコマンド:

esentutl.exe /y /vss c:\windows\ntds\ntds.dit /d c:\folder\ntds.dit

これは、SAM、SYSTEM、SECURITY、NTDS.DIT​​などに適用されます。

PS esentutl.pyimpacketのパッケージにあります:https : //github.com/SecureAuthCorp/impacket/blob/master/examples/esentutl.py

PSS esentutl PoCイメージ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.