使用Microsoft Defender Endpoint检测和阻止凭证转储

VSole2022-05-16 06:36:45

    凭证转储(Credential dumping)或密码转储是网络罪犯访问网络的一种技术。他们通过网络钓鱼进入计算机,利用管理员权限控制,并监控网络以找到更多暴露的凭证(横向移动)。凭证转储是从操作系统层和软件层获取账户登录密码信息的过程,通常哈希或明文密码的形式。

    当攻击者在系统中建立了一个立足点后,主要工作是寻找高特权凭证。凭证非常有用,因为它们可以提供对关键系统的访问。窃取用户凭证是攻击者在整个受害者网络横向移动的关键步骤。对保护和监控任何环境都很重要。

什么是凭证转储?

    凭证转储(MITRE T1003 )是指从操作系统和软件获取登录信息。在操作系统中,凭证存储在多个位置,以供日常操作使用。

    凭证转储指的是从受害者计算机中提取或转储用户身份验证凭证(如用户名和密码)的任何方法。这种黑客技术是在计算机被攻击者入侵后实施的。用户名和密码对网络罪犯来说非常有价值,可以用来获取敏感信息,也可以获得对整个网络的更多访问。

    凭证转储的关键内容位于内存缓存或应用程序缓存中。最常用的工具是Mimikatz。Mimikatz成为世界上使用最多的黑客工具之一。

    操作系统将密码存储在内存、数据库或文件中,以减少用户输入密码的次数。Windows将密码保存在系统内存/LSA子系统服务中。凭证转储在很大程度上是可能的,因为操作系统将密码存储在内存中,以避免用户重复输入密码。

    凭证转储可能为其他基于凭证的攻击打开大门。如Pass the hash, Pass the Ticket (PTH), Kerberos Golden Ticket, Kerberos Silver Ticket。

在哪里偷取凭证?

    在操作系统中,很多应用存储凭证供日常操作使用。通过访问终端,可以在以下位置查找凭证。

  • Kerberos
  • 本地安全授权(LSA)
  • LSA子系统服务(LSASS)
  • Security Account Manager(SAM)
  • WDigest(Legacy protocol)
  • Registry SAM key
  • ......

使用工具

    可以使用以下工具:

  • Mimikatz
  • Empire
  • L0phtCrack
  • gsecdump
  • PWDumpX
  • Creddump
  • PowerSploit
  • Procdump
  • .Crackmapexec
  • LSASSY
  • ……

常见的行为

    以下行为在现实世界的攻击中很常见。来源:Redacanary.com

  • PowerShell和其他进程(例如Windows任务管理器和Sysinternals ProcDump)从本地安全授权子系统服务(LSASS)访问和转储内存
  • Windows注册表控制工具(reg.exe) 导出包含凭据的Windows 注册表
  • NTDSUtil转储NTDS.dit(Active Directory)
  • Windows凭证编辑器转储NT Lan管理器(NTLM)哈希值

凭证转储是如何工作?

    当没有启用其他保护时,凭证转储并不困难。只要能访问端点。

  1. 恶意攻击者找到进入设备的方法。这可能是使用零日漏洞、薄弱的安全性/身份、老版本软件、未打补丁的系统或任何其他方法。
  2. 现在他们可以进入并开始凭证搜索。在凭据转储攻击期间,攻击者通常首先查看的地方是设备RAM,它以纯文本的形式存储没有保护的凭证。攻击者将尝试使用安全账户管理器(SAM)。SAM包含用于登录设备的完整密码哈希表。(主要包括IT账户或本地管理员)。
  3. 拿到这些有效的凭证(或散哈希),攻击者就可以开始横向移动,通过更多的访问拿到金钥匙(管理员凭证)。

防止凭证转储攻击

    设备保护对于避免凭据转储攻击至关重要。基于默认的安全和防御技术,可以减少/阻止攻击。使用带有基于签名检测的EDR将有效检测和阻止Mimikatz或凭据转储攻击。

    您的组织可以做一些事情来帮助防止这些攻击。理想情况下,所有过期的Windows操作系统都应该报废。较新的系统默认禁用WDigest导出明文密码。对于较新的系统,仍然可以转储NTLM散列。另一个重要的防御措施是尽可能地限制本地管理访问。

常见保护:

  • 关闭所有过期的Windows操作系统
  • 限制本地管理访问
  • 在Windows 8和Windows Server 2012 R2之前所有Windows操作系统上禁用WDigest功能
  • 禁用LM (Lan Management)哈希
  • 限制域和高特权账户

Defender 保护:

  • Windows defender 凭证卫士
  • 启用Defender防病毒功能
  • 开启 Defender for Endpoint (MDE)
  • 开启 Defender for Identity (MDI) 检测可能攻击
  • 启用攻击面减少规则(ASR);阻止从Windows本地安全授权子系统窃取凭据

    Defender Credential Guard配置正确时,不需要配置Attack Surface Reduction规则。凭证转储作为凭证保护配置的一部分已经被阻止。

 模拟

    在进行一些技术解释之前,让我们先从一些凭证转储攻击示例开始。

#1 使用任务管理器转储凭证

    如果可以使用远程桌面协议(RDP)或其他图形界面访问受害者设备,Windows任务管理器可以用于创建LSASS内存的转储文件。

    攻击者转储LSASS,需要有SEDebugPrivilege权限。Windows缺省设置是将此权限授予本地管理员。权限检查可以通过以下命令进行:whoami /priv

    打开任务管理器,点击详情,找到 lsass.exe,点击右键,选择生成转储文件

    然后可以使用多种工具(Mimikatz/ pypykatz)从转储文件中提取任何存储的凭证和散列。例如切换到mimikatz,来读取.DMP文件。

sekurlsa::minidump C:\Users\ADMINI~1.OFF\AppData\Local\Temp\lsass.DMP

sekurlsa::logonpasswords

 

     我们得到了所有活动用户的NTLM哈希值。命令执行成功,因为Debug模式已经打开(默认行为)。在SeDebugPrivilege模式下,程序可以访问低级内存。

#2 使用Procdump转储凭证

    Sysinternals中的Procdump可用于生成LSASS进程的内存转储。Procdump是一个Windows Sysinternals工具。

     使用下面的语法利用Procdump创建LSASS的内存转储。(注意:此进程将被Defender AV阻止)

procdump.exe -accepteula -ma lsass.exe memresult.dmp

 #3 转储LSA Secrets 

     LSA Secrets 存储在注册表下列位置

HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets

     LSA secrets 能够从注册表中直接转储,正常情况下,会被 Defender for Endpoint阻止. 

reg save HKLM\SYSTEM system & reg save HKLM\security security

     更多资料,请查看

ired.team: Credential Access & Dumping

Whiteoaksecurity: Attacks & Defenses: Dumping LSASS With No Mimikatz

阻止方法

阻止方法 #1 禁用WDigest

     如果你有任何老版本的Windows操作系统(在Windows 8和Windows Server 2012 R2之前),WDigest默认是启用的,应该直接通过组策略禁用。启用时,lasss .exe会在内存中保留用户的明文密码副本,这样就有被窃取的风险。

     要禁用WDigest,请安装Windows补丁KB 2871997,并将注册表项设置为0。

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential

阻止方法 #2 启用ASR

     适用于Windows 10及以上版本、Server 2012R2、Server 2016、Server 2019及以上版本。阻止从Windows本地安全授权子系统(LSASS)窃取凭证,阻止不受信任的进程直接访问LSASS内存。

     重要提示:攻击面减少(ASR)规则“阻止从Windows本地安全授权子系统(lasss .exe)窃取凭证”的默认状态将从“未配置”更改为“已配置”,默认模式将设置为“阻止”。

     Windows中的Microsoft Defender Credential Guard可防止试图从LSASS中提取凭证。Credential Guard有时会给硬件支持带来问题。启用特定的“攻击面减少”规则可以减少硬件需求未通过的影响。

启用后的结果

     启用后,无法使用工具或任务管理器转储凭据

如何开启ASR?

     攻击面减少(ASR)功能可以使用GPO、PowerShell、MEM/Intune或MECM启用。始终建议在启用完整规则之前,先以审计模式启动几天。

    开启ASR https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/enable-attack-surface-reduction?view=o365-worldwide

Windows Intune

     Windows Intune是一款新的桌面管理工具。这款工具主要针对中小型企业用户,可以通过网络前端为Windows PC提供管理和安全服务。传统的此类软件需要有本地服务器支持,不过Windows Intune是一种云计算服务,由微软服务器托管,可为企业省去服务器配置成本。

     攻击面减少可以使用Intune启用。目前使用Intune可以实现多种ASR配置方法:

  • 端点安全-攻击表面减少
  • 端点安全-安全基线/攻击面减少规则
  • 配置概要文件—模板/端点保护
  • 配置概要文件-设置目录

    要使用端点安全配置文件配置攻击面减少,请打开端点管理器门户并点击端点安全->攻击面减少。为Windows 10和更高版本的配置文件创建一个新的攻击面减少规则配置文件。

PowerShell

    PowerShell通过Set-MpPreference模块可以启用。9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2是正确的ID

## block mode

Set-MpPreference -AttackSurfaceReductionRules_Ids 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 -AttackSurfaceReductionRules_Actions Enabled 

## audit mode

Set-MpPreference -AttackSurfaceReductionRules_Ids 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 -AttackSurfaceReductionRules_Actions AuditMode

阻止方法 #3 Defender Credential Guard

    Microsoft Defender Credential Guard使用基于虚拟化的安全来隔离和保护j机密凭证(例如,NTLM密码哈希和Kerberos ticket-granting tickets),以阻止 pass-the-hash 或者 pass-the-ticket (PtH)攻击。

    Credential Guard使用基于虚拟化的安全性来隔离机密凭证/凭证。只有特权系统才能访问。

    可以使用组策略、Intune和注册表开启凭证保护。凭证转储作为凭证保护配置的一部分已经被阻止。

Windows Intune

    目前有许多选项可用于开启Defender Credential Guard。开启新的帐户保护(预览)策略。

    要使用端点安全配置文件配置Credential Guard,请打开端点管理器门户并点击端点安全->帐户保护。创建一个新的帐户保护配置文件。

    开启Credential Guard并配置值;开启UEFI锁定。配置UEFI锁定时,禁用Credential Guard的唯一方法是将此配置设置为禁用并物理清除UEFI。安全性方面的最佳实践。

 

阻止方法 #4 Defender for Identity

    对于检测基于凭证攻击的早期状态(例如,Pass the hash, Pass the Ticket (PTH),Kerberos Golden Ticket, Kerberos Silver Ticket),强烈建议使用Defender for Identity。

 

mimikatzlsass
本作品采用《CC 协议》,转载必须注明作者和本文链接
LSASS 进程加载的 wdigest.dll 模块有两个有趣的全局变量
如何发现Skelenton Key的后门行为,通过对照攻击方法来寻找入侵痕迹,找出其中的攻击行为,提取攻击特征,以制定告警规则。
独立 LSA 进程存储的数据使用基于虚拟化的安全性进行保护,操作系统的其余部分无法访问。LSA 使用远程过程调用来与隔离的 LSA 进程进行通信。使用可用于自定义安全包的 LSA 支持函数,开发人员可以实现高级安全功能,例如令牌创建、 补充凭据支持和直通身份验证。这样便可以绕过 Credential Guard 的保护机制。这两种执行模式分别称为 LSA 模式和用户模式。结构数组的形式传递给 LSA。SpAcceptCredentials将为经过身份验证的安全主体存储的凭据传递给安全包。
域渗透就是基于windows域环境的渗透,而域渗透涉及到的技术,如哈希传递(PTH)票据传递(PTT)委派攻击等,都是基于域环境下的认证机制来实现的,这也是为什么要了解Windows认证机制的原因之一Windows的认证包括三个部分,用户直接操作计算机登陆账户(本地认证),远程连接到工作组中的某个设备(网络认证),登陆到域环境中的某个设备(域认证)
十种漏洞分析总结
WINDOWS认证机制之NTLM
2021-11-18 08:22:53
Windows的认证包括三个部分,用户直接操作计算机登陆账户,远程连接到工作组中的某个设备,登陆到域环境中的某个设备(域认证)本地认证 NTLM
将AD域日志引入日志分析平台,通过模拟域攻击行为产生攻击事件,以攻击日志提取关键特征,构建安全规则,形成检测策略。通过监测5145事件,可识别到可疑的Sharphound域信息探测行为。通过监测4728事件,关注敏感用户组特权账号添加情况。通过监测4663事件,从而发现尝试LSASS进程窃取凭证的操作。通过监测4624事件,设置白名单机制,从正常的访问行为中,找出异常登录行为。
域内横向移动技术就是在复杂的内网攻击中被广泛使用的一种技术,尤其是在高级持续威胁中。攻击者会利用该技术,以被攻陷的系统为跳板,访问其他 域内主机,扩大资产范围(包括跳板机器中的文档和存储的凭证,以及通过跳板机器连接的数据库、域控制器或其他重要资产)。
VSole
网络安全专家