前言

在之前的文章《域渗透——DCSync》曾系统的整理过DCSync的利用方法,本文将要针对利用DCSync导出域内所有用户hash这一方法进行详细介绍,分析不同环境下的利用思路,给出防御建议。

简介

本文将要介绍以下内容:

◼利用条件

◼利用工具

◼利用思路

◼防御建议

利用条件

获得以下任一用户的权限:

◼Administrators组内的用户

◼Domain Admins组内的用户

◼Enterprise Admins组内的用户

◼域控制器的计算机帐户

利用工具

1.C实现(mimikatz)

实现代码:

https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/lsadump/kuhl_m_lsadump_dc.c#L27

示例命令:

(1)导出域内所有用户的hash

(2)导出域内administrator帐户的hash

2.Python实现(secretsdump.py)

示例命令:

3.Powershell实现(MakeMeEnterpriseAdmin)

◼核心代码使用C Sharp实现,支持以下三个功能:

◼通过DCSync导出krbtgt用户的hash

◼使用krbtgt用户的hash生成Golden ticket

导入Golden ticket

注:

我在测试环境下实验结果显示,生成Golden ticket的功能存在bug,导入Golden ticket后无法获得对应的权限

4.C Sharp实现

我在(MakeMeEnterpriseAdmin)的基础上做了以下修改:

◼支持导出所有用户hash

◼导出域sid

◼导出所有域用户sid

代码已上传至github,地址如下:

https://github.com/3gstudent/Homework-of-C-Sharp/blob/master/SharpDCSync.cs

补充:代码开发细节

输出Dictionary中所有的键和值:


byte数组转string,用来输出hash:

string转byte数组,用来将hash转换成byte数组:

利用思路

1.在域控制器上执行

0x03中提到的工具均可以

2.在域内主机上执行

(1)Mimikatz

有以下两种利用思路:

◼导入票据,执行DCSync

◼利用Over pass the hash启动脚本,脚本执行DCSync

(2)secretsdump.py

直接执行即可

(3)C Sharp实现

首先需要生成票据

有以下两种利用思路:

1、拿到krbtgt用户的hash,在本地使用Mimikatz生成Golden ticket

命令示例:

2、拿到高权限用户,使用Rubeus发送请求获得ticket

命令示例:

接着导入票据

可以选择SharpTGTImporter.cs,代码已上传至github,地址如下:

https://github.com/3gstudent/Homework-of-C-Sharp/blob/master/SharpDCSync.cs

我在(MakeMeEnterpriseAdmin)的基础上做了以下修改:

支持导入指定票据文件

命令示例:

最后执行DCSync

导出所有用户hash可以选择SharpDCSync.cs,代码已上传至github,地址如下:

https://github.com/3gstudent/Homework-of-C-Sharp/blob/master/SharpDCSync.cs

命令示例:

导出krbtgt用户hash可以选择SharpDCSync_krbtgt.cs,代码已上传至github,地址如下:

https://github.com/3gstudent/Homework-of-C-Sharp/blob/master/SharpDCSync_krbtgt.cs

命令示例:

3.在域外主机上执行

方法同“2.在域内主机上执行”

防御建议

攻击者需要以下任一用户的权限:

◼Administrators组内的用户

◼Domain Admins组内的用户

◼Enterprise Admins组内的用户

◼域控制器的计算机帐户

通过事件日志检测可以选择监控日志Event ID 4662

参考资料:

https://www.blacklanternsecurity.com/2020-12-04-DCSync/

小结

本文介绍了利用DCSync导出域内所有用户hash的方法,在(MakeMeEnterpriseAdmin)的基础上编写代码SharpTGTImporter.cs和SharpDCSync.cs,便于利用,结合利用思路,给出防御建议。

最后

我有整理了相关的资料与工具,有需要的可以关注私我哦,我分享给你

【资料大纲】

【域渗透】教你怎么利用DCSync导出域内所有用户hash相关推荐

  1. 数据结构:试设计一个算法,改造一个带表头结点的双向链表,所有结点的原有次序保持在各个结点的右链域rLink中,并利用左链域ILink把所有结点按照其值从小到大的顺序连接起来

    题目 试设计一个算法,改造一个带表头结点的双向链表,所有结点的原有次序保持在各个结点的右链域rLink中,并利用左链域ILink把所有结点按照其值从小到大的顺序连接起来 分析 Template < ...

  2. 内网渗透攻击技术的利用

    DCSync 是什么 在域环境中,不同域控制器(DC)之间,每 15 分钟都会有一次域数据的同步.当一个域控制器(DC 1)想从其他域控制器(DC 2)获取数据时,DC 1 会向 DC 2 发起一个 ...

  3. 腾讯安全推出御界NDR「横移检测版」,全面检测域渗透攻击

    1.背景 一直以来,大量企业饱受域渗透攻击困扰. 由于企业内部资产及用户量庞大,大多数企业选择 AD 域作为用户和主机统一管理的方案,然而由于防护体系不完善,攻击者往往通过攻击域控进而攻击企业内部核心 ...

  4. 域渗透基础知识(二)之活动目录 Active Directory 的查询

    目录 Active Directory Active Directory 的查询基础语法 什么是BaseDN 什么是Naming Context 什么是LDAP(轻量级目录访问协议) 过滤规则 LDA ...

  5. 多节点靶场(域渗透)

    多节点靶场 多节点靶场 工具 搭建环境 实验信息 实验要求 靶场地址 实验过程 多节点靶场 工具 VMware Workstation 15 Pro 搭建环境 设置虚拟机网卡为.NAT模式 调整物理机 ...

  6. 红队技巧-域渗透的协议利用

    1.pth(hash传递) 1.1 PTH简介 哈希传递(pth)攻击是指攻击者可以通过捕获密码的hash值(对应着密码的值),然后简单地将其传递来进行身份验证,以此来横向访问其他网络系统,攻击者无须 ...

  7. 域渗透基础_域渗透实战下gpo策略利用

    计划任务 每次需要删除计划的配置文件 ,更改任务名 重新下发文件,计划任务的文件路径放在sysvol目录下,域渗透实战下gpo策略利用. startup 重启登录 文件必须放在 gpo配置的指定目录下 ...

  8. 域渗透-白银票据和黄金票据的利用

    最近做了一些靶场域渗透的实验,记录下一些关于白银票据和黄金票据的问题. 0x01 白银票据的利用 1 环境信息 域控DC 192.168.183.130 域内主机win7 192.168.183.12 ...

  9. 域渗透 | 利用DnsAdmins提权到SYSTEM

    文章来源|MS08067 公众号读者投稿 本文作者:VastSky(Ms08067实验室读者) 一.前言 在域渗透中,我们获得DNS管理员(DNSAdmin)权限后,可以使用dnscmd.exe命令对 ...

最新文章

  1. MYSQL 使用自定义表变量
  2. Linux就业技术指导(二):简历项目经验示例
  3. 首届世界CSS设计大赛结果揭晓
  4. [Spark]-RDD详解之变量操作
  5. C语言求十个数中最大值
  6. layui向body添加html_layui 各项配置
  7. 关于抽象类与接口的理解
  8. sun.misc.Unsafe的理解
  9. Map 集合的循环遍历 4 种方式
  10. 【NOIP2017】【Luogu3951】小凯的疑惑
  11. 数学之美_正态分布(详解)
  12. python+django(解决对象编码显示Test Object问题)
  13. 消息队列技术终结者(一)—通俗深刻地认识JMS(即Java Message Service)
  14. 计算机一直黑屏,电脑开不了机 一直黑屏 电源灯亮着 在线等
  15. 看完这篇 Session、Cookie、Token,和面试官扯皮就没问题了
  16. 嵌入式 C 语言(上)
  17. AWS Credentials
  18. python 计算走势角度
  19. matlab MinGW-w64 C/C++ Compiler 的配置(附百度云下载资源)
  20. edge浏览器受信任_微软Edge浏览器利用虚拟化技术做安全防护

热门文章

  1. Python函数封装:利用正则表达式compile、findall对多组关键词进行模糊查询并返回统计个数,findall截取两个指定符号之间的内容
  2. 成功解决VMware虚拟机中的please remove the installation medium then press enter
  3. EL之Bagging:利用Bagging算法实现回归预测(实数值评分预测)问题
  4. MAT之PSO:利用PSO算法优化二元函数,寻找最优个体适应度
  5. Ubuntu20.04中安装shutter
  6. BootstrapTable-加载数据
  7. 《JAVA程序设计》_第四周学习总结
  8. Windows Defender还原误删文件
  9. window文件过长无法删除的处理方式
  10. BZOJ3075[USACO 2013 Mar Gold 3.Necklace]——AC自动机+DP