引言

哈希传递(Pass-the-hash)是一种非常古老的技术,最初由 Paul Ashton 在1997年发布的。尽管如此,“哈希传递”的存在已经超过了10年。 它在大多数勒索软件攻击中被大量使用,比如在马斯特里赫特大学(University of Maastricht)。但为什么这仍然是个问题呢?

首先,让我们对这种攻击有一个高层次的概述。 Pass-the-hash 是一种技术,攻击者在获得本地管理员权限之后,通过这种技术从被入侵的工作站或服务器上的内存中捕获 NT (LM) 哈希。 使用这些被盗用的凭据,他们可以代表受到威胁的用户打开一个新的身份验证会话,以后还可以这样做。 使用 PsExec、 WinRM、 RDP 等按照该用户的侧向移动。

对于 Pass-the-Hash 攻击并没有真正的修复,因为它利用了 SSO (Single-Sign On)协议。 任何使用 SSO 的系统都容易受到类似的攻击,比如 PtH。 因为大多数组织都使用活动目录作为其身份服务,而 AD 将 SSO 作为其主要特性。这意味着许多组织必须处理这个问题,否则,它们就不能很好地抵御“传递哈希”攻击。

SSO 是一个身份验证过程,允许用户使用一组凭据登录,以访问网络上的资源,而无需再次输入密码。

假设你以用户 Bob (DBA)的身份登录,并希望访问 SQL 服务器上的 SQL 数据库。 而不是再次输入你的密码。 你只需要点击“连接”。

按下连接按钮后。 你已经进入并且可以访问所有被监听的 SQL 数据库。

你不必再次键入密码的原因是,因为 Windows 将你的凭据缓存在内存中,以提供 SSO 体验。

这也是为什么你不能完全防止哈希传递攻击,因为这意味着你必须干掉单点登录。 然而,因为很难防止这种攻击,这并不意味着你对此无能为力。 事实上,微软已经在这方面提供了很多指导,可以减轻这种攻击。

凭证存取 -T1003

在攻击者可以执行传递哈希攻击之前。首先需要获得凭证,并且所有凭据都存储在 LSASS 进程内存中,因此每次用户登录时,他或她的凭证被缓存在内存中,以提供我们前面讨论过的 SSO 体验。 当用户登录到一台机器时,无论是通过 RDP 本地登录,还是通过 Runas 在另一个帐户下执行操作,凭证都会被缓存。

下面是一个示例,其中我们从 WINDOWS2012 机器上的内存中提取凭据。

现在让我们假设我们已经设法欺骗 Alice 登录到我们已经入侵的机器上,那么会发生什么呢?

因为Alice已经登录了我们的跳板机器。 她的凭据已经丢失,这意味着我们现在可以从内存中提取凭据并开始模拟 Alice 以代表她访问资源。

哈希传递 – T1705

我们现在已经从 Alice 那里获得了凭据,因此我们现在可以开始执行 哈希传递攻击以模拟她并代表她访问所有资源。

现在,由于 Alice 可以访问 FILESERVER,我们可以作为用户 Alice 横向移动到这个服务器。

由于我们对 FILESERVER 拥有完全的管理特权,现在我们也可以将凭据转储到这台服务器上。

现在我们已经设法从 Bob 那里获得了凭据,因为他最近登录了这个服务器。 Bob 是域管理员,所以如果我们模仿Bob。 我们可以接触到任何东西。

与前面一样,我们现在要执行哈希传递攻击来模拟 Bob 并代表他访问资源。

数据外泄

例如,我们现在可以横向移动到域控制器服务器,它也被称为最关键的服务器,因为它拥有每个用户和计算机的所有凭证。

访问域控制器是一回事,但是攻击者的最终目标是泄露数据。攻击者并不关心他们是否成为DA或访问DC。当数据泄露时,它会影响你的生意。

这是一个例子,我们可以访问 SQL 服务器,因为我们已经是 Domain Admin(域管理员),但是正如前面所说的。 DA 无关紧要,重要的是数据。 下面是存储在硬盘驱动器上的所有 SQL 数据库的示例。 也许这些数据对我们有很大的价值,如果这些数据泄露出去,可能会对我们的业务造成影响。

检测

检测凭证访问和哈希传递技术一直是相当困难的。 如果真像我们想的那么简单。 那么大多数组织就已经有了适当的检测规则。

一个伟大的事情是,微软发布了 Defender ATP,这是一个 EDR 解决方案,利用了云的力量。 如果你必须选择一个 EDR 解决方案。 我建议选择Defender ATP。 这是一个很好的解决方案,可以提高所有端点的可见性,并且使你的生活更加容易,因为你可以通过门户获得无时间的警报。

下面是我们从 LSASS 进程内存中提取凭据之后收到的一个示例。

上面的警报与另一个事件有关,即哈希传递。

建议

第一件事是确保你做了基本的工作,也就是确保所有的 IT 管理员对他们的管理任务有一个单独的帐户,并且如果你想要完美地完成这些任务的话。 甚至建议使用单独的加固工作站来执行所有管理任务。

缓解哈希传递攻击的最佳方法是查看微软管理层模型——这是一种安全模型,通过确保较高层不能登录较低层来减轻凭证盗窃,反之亦然。

· 第0层=可以访问网络上所有关键服务器的域管理员或同等级别的管理员

· 第1层=服务器管理员/系统管理员,他们可以访问重要的服务器,但不是“关键”的

· 第2层=工作站管理员/帮助台,可以访问客户的工作站,但不能访问第1层和第0层管理员的独立的加固工作站

现在你可能想知道,当你实现这个层模型时,它看起来是什么样的。 也许你还想知道你的组织是否有安全措施来减轻哈希传递。

部署管理层模型可能需要一段时间,但这是值得的。 这是一个关于在 AD 中如何设计一个层模型的例子。

我们创建了一些OU,在这些OU中。它包含不同的对象。作为一个例子。在第0层OU,我们有不同的子OU。你可以看到设备和第0层服务器。在设备OU中,它包含你的域管理员或同等人员的独立加固工作站。在第0层服务器中,它包含最关键的服务器对象,比如域控制器、Azure AD Connect、ADFS、PKI、SCCM等等。

现在有另一个 OU 叫做 Tier 1,它包含了不同的子 OU,以及设备和 Tier 1 服务器。 在设备 OU 中,它包含服务器管理员的独立硬化工作站和第一层服务器 OU。 它包含所有重要的服务器,但不是关键的。

在你指定之后。 一个 GPO 需要被创建和链接到设备 & 第1层(Tier 1)服务器 OU,这个 GPO 拒绝域管理员和等价物的登录权(第0层管理员)。

在这里你可以看到,我已经创建了一个 GPO 与拒绝登录权限的设备和第一层服务器。 所有0级管理员不能登录到第1层管理员设备或第1层服务器。

· 拒绝从网络访问此计算机

· 拒绝作为批处理作业登录

· 拒绝作为服务登录

· 拒绝本地登录

· 拒绝通过远程桌面服务登录

让我们验证我们不能登录到第1层资产。 例如,我们正在尝试登录第1层中的 FILESERVER。 访问被拒绝,因为我们的 GPO 拒绝了登录访问。

现在,当我们试图使用 PsExec 登录到文件服务器时,我们也会被拒绝。

最后,但并非最不重要。 还有第二层,它包含了客户端的所有工作站。 此层由帮助台/工作站管理员管理。

现在创建另一个 GPO ,但这一次这个 GPO 需要拒绝登录权限。 我们必须指定,第0层和第1层管理员都不允许登录客户的工作站和第2层管理员的单独工作站。

· 拒绝从网络访问此计算机

· 拒绝作为批处理作业登录

· 拒绝作为服务登录

· 拒绝本地登录

· 拒绝通过远程桌面服务登录

现在,当我们试图将RDP作为第0/1层管理员发送到客户机的工作站时,我们的访问将被拒绝,因为客户的工作站位于第2层区域。

我经常看到的几个例子,可能会导致层模型绕过,是链接到0层资产的GPO,来自第1层的用户可以修改它的设置。 确保所有链接到域对象的 GPO 和所有0级资产都由0级管理员管理。

另外,如果你在域管理员中有服务帐户,并且这些服务帐户作为具有 DA 特权的服务器上的服务运行,那么最好知道这一点。 这意味着你需要将该服务器视为一个第0层资产。

总结

管理层模型(Administrative Tier Model)是一个很好的安全架构,可以防止凭证被盗用,因为较高的层不能登录较低的层,反之亦然,这意味着例如域管理员的凭证永远不能在打印服务器或客户机的工作站上公开。 没有什么是完美的,但部署层模型和在所有工作站和服务器上安装 Defender ATP 将使攻击者更加困难。

如果你没有任何类似的安全措施,如上所示。 我们可能得出结论,你根本没有实现哈希传递攻击的缓解措施,这没有关系,但是现在是时候实现它了。

参考资料参见原文。

参考及来源:https://windowssecurity.ca/2020/03/09/pass-the-hash-is-still-a-threat/

vbs按钮传递过程_哈希传递攻击仍然是一种威胁相关推荐

  1. 日期传递过程_买东西别再只看生产日期和保质期了!快算算你一天吃了多少添加剂?...

    开始今天的科普前,微医君先和大家讲一下我们办公室上周出现的"假"全麦面包事件.全麦面包是很多减肥人士最热衷的食物之一,小A也不例外.结果上周微医君帮她买面包时,就发现小A平时经常买 ...

  2. gin.context 怎么在其他包中获取 只能传递吗_跨进程传递大图,你能想到哪些方案呢?...

    面试官提了一个问题,我们来看看 小菜.阿宅 和 大神 三位同学的表现如何吧 小菜 自认为无所不知,水平已达应用开发天花板,目前月薪 10k 面试官:如何跨进程传递大图 小菜:很简单,把图片存到 SD ...

  3. java按钮权限控制_详解Spring Security 中的四种权限控制方式

    Spring Security 中对于权限控制默认已经提供了很多了,但是,一个优秀的框架必须具备良好的扩展性,恰好,Spring Security 的扩展性就非常棒,我们既可以使用 Spring Se ...

  4. 说说python程序的执行过程_做人,尽量不要说这四种话,一说,祸事就来了

    候,人的言语可能比刀刃还要锋利,刀刃可伤人身,但言语,却能摧毁一个人的心. 想必大家都有感受过键盘侠的厉害吧,喜欢的偶像被人诋毁时,你一两句的反驳,却遭来对方无故的诅咒:对某一事件中肯的评价,却被别人 ...

  5. vbs按钮传递过程_iOS面试题:事件传递和响应机制

    1. 事件的产生 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中,为什么是队列而不是栈?因为队列的特点是FIFO,即先进先出,先产生的事件先处理才符合常理,所以把 ...

  6. c++builder传递参数_参数按值传递和按地址传递过程中,指向内存的指针如何变化?...

    大家好,我们今日继续讲解VBA代码解决方案的第125讲内容:关键字ByVal和ByRef的作用.在上一节中我们讲到了形式参数和实际参数的定义,同时讲到了从实际参数传递给形式参数的过程中按值传递和按地址 ...

  7. php url传递参数_互联网系统(APP、网站等)通信基石——会话(PHP版)

    一.会话概述 1.1.技术背景 互联网通信中采用的Http协议(建立TCP连接->Http请求->Http应答->断开TCP连接)本身是无状态的,即Http各请求之间是相互独立.互不 ...

  8. 内网横传之哈希传递(Pass The Hash)

    简介 Pass The Hash 即PTH,也是内网渗透中较未常见的一个术语,就是通过传递Windwos 本地账户或者域用户的hash值,达到控制其他服务器的目的 在进入企业内网之后,如果是Windo ...

  9. 内网横向移动|哈希传递PTH|mimikatz使用

    Mimikatz下载地址:链接:https://pan.baidu.com/s/1k7i_Z_iGNbTgVeQiBKWszA   提取码:lyq1 工具简介: Mimikatz是法国人benjami ...

最新文章

  1. 随着通信和编程,它是一门艺术系列3(沟通的目的)
  2. github上关于机器学习的awesome项目(资源大全)
  3. 关于VS2013下制作和使用静态库和动态库
  4. python中numpy是什么_什么是NumPy?
  5. jsp 页面获取action 属性的方法
  6. c语言sort函数_C语言经典面试题目及答案详解(二)
  7. go https 笔记
  8. 随机数------选双色球
  9. ssm框架中mysql的分页_SSM框架中mapper层,增删改查,如何实现
  10. Go指南练习_Reader
  11. 给定经纬度计算距离_根据两点经纬度计算距离
  12. 威斯康星大学计算机科学教授,UW机器学习和数据科学活动吸引了国际知名的计算机科学家...
  13. 联合概率 条件概率 边缘概率之间关系
  14. 系统组件:工具栏Toolbar
  15. mac蓝牙鼠标总是自己断开_解决Mac蓝牙鼠标和键盘经常断开的问题
  16. 【蓝桥杯选拔赛真题34】Scratch数苹果 少儿编程scratch蓝桥杯选拔赛真题讲解
  17. linux服务器盘符乱了怎么办,部分国产服务器重启会盘符会乱的问题
  18. 苹果审核被拒1.1和5.0
  19. tomcat 严重: Could not contact localhost:80. Tomcat may not be running.
  20. 魏小亮:如何选择硅谷的IT公司

热门文章

  1. Cisco *** 完全配置指南-连载-PPTP和L2TP
  2. java二级分销排行统计_直播分销系统排行
  3. 怎么修改SQL Server服务器选项,Analysis Services 实例的 SPN 注册 | Microsoft Docs
  4. .net测试学习--理解.net测试选项
  5. EM算法极其推广---EM算法的收敛性
  6. MySQL中关于OR条件的优化
  7. 关于c3样式在浏览器上的兼容问题
  8. cf369 B Chris and Magic Square
  9. saltstack之基础入门系列文章简介
  10. MyBatis学习笔记(四) 注解