学习对抗策略,技巧和常识(ATT @ CK)。 企业策略。 第6部分

检索凭据(凭据访问)


链接到所有部分:
第1部分。获得初始访问权限(Initial Access)
第2部分。执行
第3部分。紧固(持久性)
第4部分。特权提升
第5部分。逃避防御
第6部分。获取凭据(凭据访问)
第7部分。发现
第8部分。横向运动
第9部分。数据收集(Collection)
第十部分渗透
第11部分。命令和控制

获得凭据后,攻击者可以获得对系统,域或服务(技术)帐户的访问权,甚至可以对其进行控制。 攻击者可能会尝试获取用户帐户和管理帐户的合法凭据,以便在系统中标识自己并获取所捕获帐户的所有权限,从而使在防御方检测恶意活动的任务变得复杂。 攻击者还可以在可能的情况下创建帐户,以供以后在受攻击的环境中使用。

对于使用本文中阐述的信息可能造成的后果,作者概不负责,对于某些表述和术语可能存在的不准确性,我们深表歉意。 发布的信息是对MITER ATT&CK内容的免费转载。

帐户操作


系统: Windows
权限:管理员
描述:帐户操纵旨在在受攻击的环境中维护一定级别的访问权限。 操作涉及更改权限,帐户设置以及如何验证其真实性,添加或更改访问组。 攻击者的行为可能旨在破坏安全策略(例如密码过期),以延长受感染帐户的寿命。 要创建或管理帐户,对手必须已经在系统或域中具有足够的权限。

安全提示:使用多因素身份验证。 通过限制对这些系统的访问来保护域控制器。 避免在非特权系统上使用域管理员帐户以及可能会危害它们的日常操作。

重击历史


系统: Linux,macOS
权限:用户
说明: Bash跟踪用户使用“历史记录”实用程序执行的命令。 当用户注销时,故事将保存到〜/ .bash_history文件中。 通常,此文件包含最后500个用户命令。 通常,在命令参数中,用户指定用户名和密码,当用户注销时,用户名和密码也将保存在〜/ .bash_history中 。 攻击者可以查看系统各个用户的〜/ .bash_history文件,以期获取凭据。

保护建议:有几种方法可以防止将命令历史记录写入〜/ .bash_history文件:
设置+ o历史记录 -禁用记录;
设置-o历史记录 -恢复记录;
取消设置HISTFILE-添加到bash_rc文件中;
ln -s / dev / null〜/ .bash_history-将命令历史记录写入/ dev / null

蛮力法或蛮力


系统: Windows,Linux,macOS
权限:用户
描述:当凭据未知或无法获取密码哈希时,对手可以使用密码破解工具。 对手可以通过计算合适的缓存或使用彩虹表来应用系统选择技术。 散列的散列通常是在受攻击系统之外进行的。 在不知道密码的情况下,攻击者可以尝试使用空密码或可能的密码列表中的值登录。 根据密码策略,此类操作可能导致大量身份验证错误和帐户锁定,因此攻击者可以使用所谓的“密码诈骗”,其本质是对使用不同帐户的最流行或可能的密码进行排序。 这减少了仅使用一个帐户遍历多个密码时发生锁定的可能性。

安全建议:一定次数的失败登录尝试后,应用帐户锁定策略。 考虑使用多因素身份验证。 请遵循建议以防止未经授权访问现有帐户(请参阅“有效帐户”技术的保护建议)

凭证转储


系统: Windows,Linux,macOS
权限:管理员,系统,root
描述:转储凭证(英文是“ Dumping-“ Waste处置” )是一个从操作系统或软件中获取登录名和密码的过程,通常以哈希或文本密码的形式。攻击者和攻击者都可以使用转储凭证的工具。安全测试人员。

窗户
SAM(客户经理)
SAM是本地主机帐户的数据库。 通常,SAM存储“ net user ”命令显示的帐户。 读取SAM需要系统级别的访问。 有很多工具可以从内存中提取SAM数据:
pwdumpx.exe
gsecdump
Mimikatz
secretdump.py

可以使用REG实用程序从注册表中提取SAM文件:
reg save HKLM\sam sam;
reg save HKLM\system system.


接下来, Creddump7将帮助您从SAM数据库检索哈希。
注意: Rid 500是内置的本地管理员帐户。 Rid 501是一个来宾帐户。 用户帐户以Rid 1000+开始。

缓存的凭证(DCC2)
域缓存凭据v2(DCC2)是Windows Vista和更高版本在域控制器不可用时用于对用户进行身份验证的凭据缓存。 每个系统的缓存帐户数可以分别设置。 此哈希不容易受到“哈希传递”攻击。 要从内存中提取SAM文件,请使用cl。 工具:
pwdumpx.exe
gsecdump
Mimikatz
secretdump.py
或者,也可以使用Reg或Creddump7实用程序。 Windows Vista中的凭据缓存是使用PBKDF2 (密码密钥生成标准)执行的。

本地安全机构(LSA)的机密
LSA机密是缓存的凭据存储区,系统在其中存储凭据,包括用户密码,服务帐户,InternetExpolorer,SQL密码和其他私有数据,例如加密的域密码加密密钥。 使用系统级权限,您可以访问存储在注册表中的LSA机密:
HKEY_LOCAL_MACHINE \ SECURITY \ Policy \ Secrets
当服务在本地或域帐户的上下文中启动时,其密码将存储在注册表中。 如果启用了自动登录,则私人帐户信息也将存储在注册表中。 与以前的转储方法类似,使用相同的工具来攻击LSA Secret:
pwdumpx.exe
gsecdump
Mimikatz
secretdump.py
可以使用REG实用程序从注册表中提取SAM文件,并使用Creddump7从凭据中提取证书。 从LSA Secret中提取的密码以UTF-16编码,即 纯文本。 Windows 10使用其他LSA Secret安全功能。

来自域控制器的NTDS
为了进行身份验证和授权,AD存储有关域成员(设备和用户)的信息。 默认情况下,AD数据库存储在域控制器上的%SystemRoot%\ NTDS \ Ntds.dit文件中
以下方法和工具用于从AD数据库提取哈希:
•卷影副本(卷的卷影副本);
•ntdsutil.exe;
•secretdump.py;
•调用NinjaCopy

组策略首选项(GPP)文件
GPP或组策略首选项是XML文件,用于描述域策略的各种参数,例如,在特定帐户的上下文中连接网络驱动器或在域系统中预设本地帐户。 此类文件可能包含凭据。 组策略存储在SYSVOL域控制器中,因此任何用户都可以读取GPP文件并尝试使用sl解密其中包含的密码。 工具:
•Metasploit(帖子/ windows /收集/凭据/ gpp);
•Get-GPPPassword;
•gpprefdecrypt.py。
要标识SYSVOL资源上的所有XML文件,可以使用以下命令:
dir /s *.xml

服务主体名称(SPN)
参见角皮烘烤技术

纯文本凭证
用户登录后,将生成许多凭据,这些凭据存储在本地权限子系统服务(LSASS)进程的内存中。 这些凭据可以由管理员或系统收集。

SSPI(安全支持提供程序接口)为多个安全支持提供程序(SSP)提供通用接口。 SSP-包含一个或多个身份验证和加密方案的程序模块(DLL),这些模块在系统启动时加载到LSASS进程中。

某些SSP可用于获取凭据:
•Msv:交互式登录,以批量登录方式登录,例如,作业计划程序服务的启动任务,通过MSV身份验证程序包作为服务登录;
•Wdigest:摘要式身份验证协议旨在使用HTTP和SASL(简单身份验证安全层)进行网络身份验证;
•Kerberos:在Windows 2000及更高版本中提供域身份验证;
•CredSSP:SSO(单点登录-单点登录允许用户一次认证并访问资源而无需输入凭据)和网络级认证(用于远程桌面服务中的认证)。

凭证工具:
Windows凭据编辑器;
•Mimikatz。

可以保存LSASS过程的转储,以供以后在另一个系统中进行分析。
在目标主机上执行以下命令:
procdump -ma lsass.exe lsass_dump

接下来,另一个系统启动Mimikatz:
securlsa::Minidump lsassdump.dmp
sekurelsa::logonPasswords
securlsa::Minidump lsassdump.dmp
sekurelsa::logonPasswords


DCSync
DCSync是从域控制器中转储凭据的一种形式。 通过滥用域控制器API而不是使用可以识别的恶意代码,攻击者可以模拟来自远程域控制器的复制过程。 管理员,域管理员,企业管理员或计算机帐户的成员可以运行DCSync来从AD检索密码信息,其中可能包括域帐户的哈希,例如KRBTGT(Windows 2000中用于运行密钥分发中心的密钥分发中心服务帐户)和管理员。 然后,哈希可以用于创建“黄金票证”并进行“通过票证”攻击或更改密码,作为“帐户操纵”的一部分。 lsadump模块中包含DCSync功能,该模块是Mimikatz的一部分。 Lsadump还支持NetSync通过旧协议进行复制。

的Linux
文件系统程序
Proc是类Unix操作系统中的特殊文件系统,它以分层的伪文件结构(文件不存在于磁盘上,而是存在于RAM中)的形式提供有关进程的信息以及其他系统信息,该文件充当与OS内核空间进行交互的接口。 以root用户身份运行的进程可以清除其他正在运行的程序的内存。 如果程序将密码存储在开放式存储器中或以哈希形式存储在其内存中,则可以从\ Proc中提取这些值以供进一步使用或尝试从哈希中恢复密码。 Gnome Keyring,sshd和Apache使用内存来存储这些身份验证“工件”。 以上功能在开源工具MimiPenguin中实现,该工具卸载进程内存,然后在文本字符串和正则表达式模板中搜索密码和哈希。

保护建议:
窗户
尝试跟踪受保护系统中允许的工具对LSASS和SAM的访问。 限制各种系统和网段中的帐户权限,以防止攻击者在获取密码和哈希的情况下在受保护的网络上移动。 确保本地管理员凭据在所有系统和网段上具有复杂且唯一的密码。 请勿将用户或域管理员帐户放在不同系统上的本地管理员组中,因为 这等效于所有管理员都使用相同密码的事实。 请遵循Microsoft的最佳做法来开发和管理公司网络 。 在Windows 8.1和Windows Server 2012 R2中,启用“受保护的过程灯(LSA)”过程保护。

识别并阻止可用于获取凭据转储的潜在危险和恶意软件。

Windows 10使用新的机制来保护LSA机密-Windows Defender中的凭据保护。 从外观上看,LSA进程不会将私有数据存储在内存中,而是与一个新组件(一个独立的进程)交互,该进程负责存储和保护LSA机密。 隔离过程中存储的数据受虚拟化保护,其余操作系统无法使用。 LSA使用远程过程调用(RPC)与隔离的进程进行交互。 Credential Guard默认情况下未配置,并且具有硬件和软件要求。 但是,它也不是针对所有形式的凭证转储的绝对保护。

控制复制目录更改访问权限和其他域控制器复制权限。 考虑禁用或限制NTLM通信。 考虑监视程序启动命令的过程和参数,这可能表示凭证转储。 例如,远程访问工具可能包括诸如Mimikatz之类的工具或诸如Invoke-Mimikatz PowerSploit之类的PowerShell脚本。

监视域控制器复制日志中是否有计划外的复制或复制请求。 还跟踪包含来自第三方IP地址的复制请求的流量。

的Linux
要从内存中获取密码和哈希,进程必须在系统中打开文件/ proc / PID /映射 ,其中PID是进程的唯一pid。 AuditD监视工具可用于检测打开此文件并警告pid,进程名称和被监视程序的其他参数的恶意进程。

文件中的凭证


系统: Windows,Linux,macOS
权限:管理员,系统,root
描述:攻击者可以在本地文件系统和远程共享文件夹中查找包含密码的文件。 这些文件可以是用户创建的用于存储自己的凭据,一组人的共享凭据,包含系统或服务密码的配置文件,源文件以及包含密码的二进制文件的文件。
使用凭证转储工具,还可以从虚拟机的备份,映像和快照中提取密码。 此外,密码可以包含在域控制器上存储的组策略设置(GPP)文件中。

保护建议:使用组织措施以防止密码存储在文件中。 确保开发人员和系统管理员意识到与将密码以明文形式存储在软件配置文件中有关的风险。 定期监视系统中包含密码的文件的存在及其随后的删除。 通过仅向正确的用户授予权限来限制特定目录中的文件共享。 删除包含易受攻击的组策略设置的GPP文件。

注册表中的凭证


系统: Windows
权限:用户,管理员
描述:攻击者可以在Windows注册表中查找存储在其中的凭据和密码,以供程序或服务使用,有时还会存储凭据以进行自动登录。 查找密码信息的命令示例:
reg query HKLM /f password /t REG_SZ /s
reg query HKCU /f password /t REG_SZ /s


安全建议:不要将凭据存储在注册表中。 监视注册表以获取凭据。 如果有必要存储凭据,则软件应确保限制其权限,以防止滥用这些数据的可能性。

利用凭证访问


系统: Windows,Linux,macOS
权限:用户
描述:身份验证和授权机制的开发人员所犯的错误可能是软件中存在漏洞的原因,攻击者可以借助该漏洞获得未经授权的凭据访问。 例如,公告MS14-068描述了Kerberos协议中的漏洞,攻击者可以利用该漏洞利用域用户权限来伪造Kerberos票证。 利用凭据漏洞也可以用于提升特权。

保护建议:使用集中控制为工作站和企业服务器安装更新,定期更新软件。 在确定与您的企业相关的威胁的框架内,开发并实施用于识别和分析网络威胁的过程。 使用沙盒,虚拟化和微分段工具,使攻击者更难以通过利用漏洞进行利用。 在Windows中,有可用的工具来检测与利用漏洞有关的活动,我们正在谈论Windows Defender漏洞利用防护(WDEG)和增强缓解经验工具包(EMET)。 防止利用漏洞的另一种方法是使用控制流完整性(CFI)工具。 CFI是旨在限制先前预测的控制流程图内程序执行的可能路径的方法的总称。 但是,如果恶意软件旨在抵御保护措施,则许多保护方法可能行不通,这还取决于所分析程序的体系结构及其二进制文件。

强制认证


系统: Windows
权限:用户
描述:服务器消息块(SMB)协议通常用于在共享资源和网络文件夹的框架内的Windows系统之间进行身份验证和通信。 Windows尝试通过SMB连接到远程系统时,它将自动尝试对用户进行身份验证并将当前用户的凭据发送到远程系统,因此用户无需输入凭据即可访问网络资源,这在公司环境中是很常见的。 如果SMB基础结构出现故障,则可以将Web分布式创作和版本控制(WebDAV)协议用作备份资源共享协议,该协议是HTTP协议的扩展,通常可以通过TCP端口80和443起作用。

通过强制进行SMB身份验证,攻击者可以在被攻击系统连接到远程系统时滥用其行为,并接收帐户哈希。 攻击者可以使用网络钓鱼技术向受害者发送指向受控外部资源的链接,或者将特殊文件放置在桌面或公共资源上。 当用户系统访问不受信任的资源时,它将尝试进行身份验证,并通过SMB协议将当前用户的哈希凭证发送到远程服务器。 获得哈希后,攻击者可以执行离线暴力破解并以明文形式获取凭据,或将其用于“通过哈希”攻击。

考虑强制SMB身份验证的最流行方法:
•网络钓鱼附件,其中包含具有活动内容的文档,该附件在打开时会自动下载。 该文档可能包含类型为[:] // // [远程地址] /Normal.dotm/的请求,该请求将启动SMB身份验证。

•修改后的.lnk或.SCF文件(Windows资源管理器命令文件),在属性中包含外部链接\ [远程地址] \ pic.png,而不是文件图标的路径。 因此,系统将尝试下载文件图标并打开链接。

保护建议:通过筛选和阻止TCP端口139、445和UDP端口137,阻止定向到公司网络外部的传出SMB流量。筛选和阻止公司网络外部的WebDAV流量的输出。 如果需要通过SMB和WebDAV访问外部资源,请使用白名单限制外部连接。

挂钩


系统: Windows
权限:系统管理员
说明: Windows API函数通常存储在DLL中。 拦截技术是通过以下方式将调用重定向到API函数:

•挂钩过程是操作系统内置的过程,可在调用各种事件(例如,击键或鼠标移动)时执行代码。

•修改了地址表(IAT),该表存储了指向API函数的指针。 这将允许您“欺骗”受攻击的应用程序,迫使其启动恶意功能;

•直接更改功能(拼接),在此期间更改功能的前5个字节,而不是插入到由攻击者确定的恶意功能或其他功能的转换。

像注入一样,攻击者可以使用钩子执行恶意代码,屏蔽其执行,访问受攻击进程的内存并增加特权。 攻击者可以捕获API调用,这些API调用包含包含身份验证数据的参数。
Rootkit通常使用挂钩来隐藏系统中的恶意活动。

保护建议:拦截操作系统中的事件是系统正常运行的一部分,因此,此功能的任何限制都可能对合法应用程序(例如防病毒软件)的稳定性产生不利影响。 防止使用拦截技术的工作需要集中在killchain链的早期阶段。 您可以通过监视对SetWindowsHookEx和SetWinEventHook函数的调用,使用rootkit检测器,分析进程的异常行为(例如,打开网络连接,读取文件等)来检测恶意挂钩活动。

输入捕捉


系统: Windows,Linux,macOS
权限:管理员,系统
说明:攻击者可以使用捕获用户输入的方式来获取现有帐户的凭据。
键盘记录是用户输入捕获的最常见类型,包括许多不同的键盘输入拦截方法,但是还有其他方法可用于获取目标信息,例如调用UAC请求或为默认凭据提供程序(Windows凭据提供程序)编写外壳。当凭证转储技术的使用效率低下并且攻击者被迫在一段时间内保持被动状态时,键盘记录是窃取凭证的最常见方法。

为了收集用户凭据,攻击者还可以在外部公司门户上(例如,在VPN登录页面上)设置代码。在通过获得合法的管理访问权破坏门户或服务之后,这是有可能的,这反过来又可以被组织为在获得初始访问权并将其保护在系统中的阶段提供备份访问权。

保护建议:使用诸如AppLocker之类的工具或软件限制策略,确保检测和阻止潜在危险和恶意软件。如果攻击者获得凭据,则采取措施减少损害。

遵循Microsoft开发和管理公司网络的最佳做法(https://docs.microsoft.com/zh-cn/windows-server/identity/securing-privileged-access/securing-privileged-access-reference-material#a-nameesaebmaesae-行政森林设计方法)。

键盘记录程序可以修改注册表并安装驱动程序。常用的API函数是SetWindowsHook,GetKeyState,GetAsyncKeyState。单独调用API函数并不能指示是否进行键盘记录,但是与对注册表更改的分析,驱动程序安装的检测以及磁盘上新文件的出现一起,可以表明存在恶意行为。监视注册表的用户凭据提供(自定义提供凭据小命令)的外观:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers

输入提示


系统: macOS
权限:用户
说明:在运行需要特权升级的程序时,操作系统通常会要求用户提供适当的凭据。攻击者可以模仿此功能,使用标准的请求表单来请求凭据。可以使用AppleScript调用这种形式的请求凭据:

set thePassword to the text returned of (display dialog "AdobeUpdater needs permission to check for updates. Please authenticate." default answer "")

攻击者将提示输入凭据,以模拟操作系统的正常行为,例如,伪造的安装程序或恶意软件删除程序包需要确认相应的权限。

保护建议:培训用户,使他们知道哪些程序可能会请求许可以及原因。配置必须检查运行的AppleScript脚本是否具有受信任的开发人员签名。

烤肉


系统: Windows
权限:用户
说明:每个服务实例都有一个唯一的标识符-服务主体名称(SPN),用于Kerberos身份验证。SPN必须仅与一个帐户关联,服务安装程序会将SPN写入AD中的帐户属性。

具有有效的Kerberos票证授予票证(TGT)的攻击者可以从Kerberos票证授予服务(TGS)请求一个或多个服务票证,以与在域控制器上注册的任何SPN进行交互。可以使用RC4对服务票证元素进行加密,因此Kerberos 5 TGS​​-REP etype 23(包含与目标SPN相关联的帐户的密码哈希并用作私钥(请参阅Kerberos描述))很容易受到攻击,并且可以通过蛮力破解。可以使用从网络流量中获得的服务票证执行相同的攻击。攻击者破解了接收到的哈希后,可以使用现有帐户来保护自己在系统中的安全,提升特权或在网络上进一步发展。

保护建议:为服务帐户使用复杂且较长的密码(理想的25个以上字符),并确保更改频率。从Windows Server 2012开始,操作系统中提供了组管理服务帐户(gMSA)技术,该技术旨在自动更改服务(技术)帐户的密码,并可以在多个服务器上同时使用它们。或者,考虑使用第三方密码存储。

通过提供所需的最低特权来限制帐户特权;排除特权组(例如Domain Admins)中的帐户成员资格。
如果可能,请启用AES Kerboros加密或其他更强的加密算法,从而避免使用RC4。

启用Kerberos服务票证操作审核以记录Kerberos TGS服务票证请求。研究异常活动模式,例如事件ID 4769事件-在短时间内运行大量请求的帐户,尤其是如果它们请求RC4加密(票证加密类型:0x17)。

钥匙扣


系统: macOS
权限: root
说明:钥匙串是内置的macOS帐户和密码存储库,用于许多服务和功能,例如WiFi,网站,安全说明,证书和Kerberos。钥匙串文件位于:
〜/库/钥匙串;
•/图书馆/钥匙串;
•/网络/ Linrary /钥匙串/。


macOS上的内置安全控制台实用程序提供了一种方便的方式来管理凭据。
要管理其凭据,用户必须使用其他帐户来提供对其钥匙串的访问。如果攻击者知道用户钥匙串中的凭据,则他可以访问该用户钥匙串中存储的所有其他凭据。默认情况下,当前用户帐户用于登录到钥匙串。

保护建议:解锁用户的钥匙串并使用其中的密码是一个常见过程,恶意软件检测工具不会引起注意。

LLMNR / NBT-NS中毒(LLMNR / NBT-NS中毒)


系统: Windows
权限:用户
说明:本地链接多播名称解析(LLMNR)和NetBIOS名称服务(NBT-NS)是所有版本的Windows中都包含的协议,它们是标识主机的替代方法。 LLMNR基于DNS格式,无需使用DNS即可解析相邻计算机的网络名称。 NBT-NS通过其NetBIOS名称标识本地网络上的系统。

攻击者可能伪造可响应LLMNR(UDP5355)/ NBT-NS(UDP137)流量的可信名称解析源,从而使受害者与敌方控制的系统通信。如果请求的主机要求标识/身份验证,则受害者主机当前用户的用户名和NTLMv2哈希将发送到对手控制的系统。因此,攻击者可以使用网络嗅探器收集传输的哈希,然后尝试使用蛮力工具离线从哈希获取密码。
可以使用多种工具来攻击本地网络上的名称服务:NBNSpoof,Metasploit和Responder。

保护建议:考虑在本地主机安全设置或使用组策略中禁用LLMNR和NBT-NS。使用阻止LLMNR / NBT-NS流量的本地安全功能。
检查LLMNR在注册表禁用:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient\EnableMulticast=dword:00000000
如果安全策略禁用了LLMNR / NBT-NS,则监视UDP5355和UDP137端口的通信将有助于检测攻击。

网络嗅探


系统: Windows,Linux,macOS
描述:攻击者可以在混杂模式(“听不清”模式)下使用网络接口,在该模式下,网卡将接受所有数据包,而不管其寻址对象是谁还是使用跨接端口(镜像端口)进行捕获通过有线或无线网络传输的大量数据。
嗅探过程中捕获的数据可能包含通过不安全连接发送的凭据,而不使用加密协议。通过重定向流量对网络名称服务(例如LLMNR / NBT-NS中毒)的各种攻击也可用于收集网站,代理和内部系统上的凭据。

攻击者在收听网络时,还可以显示网络上进一步移动和/或绕过安全功能所需的各种配置信息(运行服务,版本号,IP地址,主机名,VLAN ID等)。

安全提示:确保无线通信已正确加密。如果可能,请使用Kerberos,SSL和多因素身份验证。监视网络交换机的跨接端口,ARP / DNS中毒以及未经授权的路由器配置更改。
使用工具识别和阻止可用于拦截和分析网络流量的潜在危险软件。

密码筛选器DLL


系统: Windows
权限:管理员,系统
说明: Windows密码过滤器是为域和本地帐户应用密码策略的机制。筛选器以DLL的形式实现,其中包含用于验证潜在密码是否符合安全策略要求的方法。密码筛选器DLL托管在本地帐户的主机和域帐户的域控制器上。

在安全帐户管理器(SAM)中注册新密码之前,本地安全机构(LSA)服务会请求对系统中注册的每个密码过滤器进行密码检查。任何潜在的更改都不会生效,每个过滤器都不会确认验证。

攻击者可以在受攻击的系统中注册恶意密码过滤器以收集凭据。为了进行复杂性检查,过滤器会从LSA接收明文密码。每次要求输入密码时,恶意过滤器都会以明文形式接收凭据。

保护建议:确保仅在系统上注册了有效的密码过滤器。DLL默认过滤器存放在C:\ WINDOWS \ SYSTEM32 \,并必须在注册表中的项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\[Notification Packages]
新安装的密码过滤器在系统重新启动后生效,并显示在自动运行中,并加载到lsass.exe中

私钥


系统: Windows,Linux,macOS
权限:用户
说明:私钥和证书用于身份验证,加密/解密和数字签名。
攻击者可以在受感染的系统上收集密钥,以进一步用于SSH等远程连接服务的身份验证或对其他收集的文件(例如电子邮件数据文件)进行解密。

密钥和证书文件的扩展名为.key,.pgp,.gpg,.ppk,.P12,.pem,.pfx,.cer,p7b,.asc。对手可以在关键目录中搜索文件,例如,* nix系统上的〜/ .sshWindows上的C:\ Users(username.ssh)\

在使用过程中,私钥必须要求输入密码或密码,以便敌人可以使用输入捕获技术并行进行键盘记录或尝试离线获取密码。

安全提示:使用复杂的密码短语很难破解私钥。尽可能将密钥存储在外部加密介质上。确保仅对授权密钥开放对关键资源的访问,并定期检查访问列表。

确保包含私钥的文件夹中的权限正确。使用隔离的基础结构来管理关键系统,以防止帐户和可用于在网络上移动的权限之间发生冲突。请遵循防止滥用现有帐户的准则。

监视对与加密密钥和证书关联的文件和目录的访问,并审核身份验证日志,以识别异常操作,这些异常操作指示密钥或证书用于远程身份验证的滥用。

破解OS X(安全内存)中的密码链


系统: macOS
权限: root
说明:在EL Capitan之前的OS X中,具有root特权的用户可以从“钥匙串”中的纯文本中读取已登录用户的密码。这是由于以下事实:为了方便用户,Apple允许系统缓存凭据,以便在需要时不提示用户重新输入凭据。

使用一组密钥对存储在“钥匙串”束中的密码进行多次加密。依次使用存储在同一文件中的其他密钥(例如俄罗斯嵌套娃娃)对密钥进行加密。除了使用用户登录时使用PBKDF2加密的密码外,可以打开外部嵌套娃娃并级联下一个嵌套娃娃的解密的主密钥。因此,要读取用户密码链中的第一个密码,您需要输入密码或输入主密钥。密钥链操作由安全进程处理;为此,主密钥存储在其内存中。

攻击者可以使用root用户名扫描内存,以搜索钥匙串链的加密密钥,从而逐步解密用户密码,WiFi,邮件,浏览器,证书等的整个序列。

两因素身份验证拦截


系统: Windows,Linux,macOS
权限:管理员,系统,根目录
描述:使用双重身份验证和多重身份验证提供的安全性比单个登录名/密码链接更高,但是组织应注意拦截和规避这些安全机制的方法。

攻击者可以有目的地使用智能卡等身份验证机制来访问系统,服务和网络资源。
如果您使用智能卡进行两因素身份验证(2FA),则在正常使用期间需要键盘记录器来获取与智能卡关联的密码。通过插入智能卡和智能卡访问密码,攻击者可以使用受感染的系统连接到网络资源,以使用插入的硬件令牌代理身份验证。

攻击者还可以将键盘记录器作为攻击目标,以类似方式攻击其他硬件令牌,例如RSA SecurID。捕获令牌输入(包括用户的个人识别码)可以在接收到的一次性密码期间为对手提供临时访问权限,并且可能允许他计算一次性密码的未来值(了解算法以及用于生成后续临时密码的初始值)。

攻击者还可以拦截其他2FA方法并将其用于未经授权的身份验证。通常,一次性代码是通过带外通信渠道(SMS,电子邮件等)发送的。如果设备和/或服务未受到保护,则它们可能容易受到拦截。

保护建议:不使用智能卡时,请确保将其卸下。保护用于发送和接收带外代码的设备和服务。识别并阻止可用于拦截2FA中的凭据的潜在危险和恶意软件。

Source: https://habr.com/ru/post/zh-CN433566/


All Articles