攻防演练中红队常用的攻击方法之横向移动(下)
综合【安全科普】系列前两篇文章内容,我们可以得知,攻击者在横向移动过程中,其最终目的是登陆目标主机并窃取机密数据。
因此我们必须采取多种防护措施,以防止攻击者窃取密码或进行凭证传递。除此之外,还可利用监控手段来探查攻击者的踪迹,并增加系统配置以提高域内安全性。
接下来将会详细介绍以上所述:
一、防止攻击者窃取密码
在使用WDigest(摘要式身份验证)的系统中,密码会以明文形式存储在内存,攻击者通过Mimikatz可以直接抓取密码。为了防止密码泄露,我们可以关闭WDigest。
但该功能只有在Windows Server 2012以上版本的系统才能被关闭,而在Windows Server 2012以下版本的系统中只能通过安装补丁KB2871997来解决问题。
KB2871997支持RDP 网络登录,即在登录过程中使用登录令牌来进行身份验证。这种方法不会在RDP服务器中存储用户凭证,用户注销时,也会清除主机缓存中的凭证,以此来保护凭证安全。
同时,KB2871997支持创建“受保护的用户”组。只要把域功能级别设置为Windows Server 2012 R2,系统就会创建受保护的组,在该组中的用户只能使用Kerberos协议进行身份验证。相比于WDigest,Kerberos验证方式更安全,因为它不会在内存中存储明文密码。
想要防止密码被盗的话,除了安装补丁,我们还需要对攻击者常用的工具进行防范,比如Mimikatz。
由于Mimikatz与内存(LSASS进程)交互需要Debug权限,我们可以将拥有Debug权限的本地管理员从Administrators组中移出。这样,当攻击者以本地管理员身份登录时,就没有权限使用Mimikatz从内存导出密码。
二、防护哈希传递攻击
通过以上手段,我们能有效防止黑客从系统中窃取明文密码,但是当黑客窃取到了用户凭据,使用哈希传递等手段登录系统时,并没有一个能彻底解决哈希传递的方法,我们只能减轻这种攻击。
这里介绍两种方法——Defender ATP和微软管理层模型。
Defender ATP : 是微软提供的一种安全工具,它能检测攻击者访问LSASS进程的行为。如果发现某时刻LSASS进程被读取的内存数量过多,就会报警,提示管理员“敏感凭据内存读取”。
微软管理层模型 : 将不同权限的用户划分到不同层级,并规定高层级不能登录低层级。举例来说,将能够访问网络上所有关键服务器的管理员划分为第0级,将工作站管理员划分为第2级,那么即使黑客窃取到了关键服务器管理员的凭证,以管理员身份也无法登录关键服务器。
三、监控异常活动
攻击者横向移动过程通常难以被察觉,但我们可以分析其行为特征,监控是否有存在满足其特征的活动来确定系统是否被入侵。
对于在目标范围内安装恶意软件的横向攻击行为,我们可以监控应用安装情况。例如当安装应用的时间固定在一个时间段,而其它时间段的安装行为都将被认为是异常的。
攻击者进行横向移动攻击的另一个典型行为就是窃取信息。通过监控文件创建行为和SMB传输文件行为,可以发现远程文件复制活动;通过监控可移动介质上的文件访问,能识别可移动介质复制行为;通过监控多文件写入共享能发现共享文件污染行为等。
如果攻击者已进入内网,为了防止他横向移动到更多主机,我们可以监测内网中活跃的用户账号,将这些账户设置为高风险账户,降低其权限,阻止其使用内网资源。
监控内网中的异常活动,能帮助我们发现攻击者侵入企业内网的行为,以便及时采取措施阻止其损害企业利益。
四、更改系统配置
给系统配置防火墙是防范一般网络攻击的重要手段,对横向移动攻击也能起到一定的作用。比如,通过配置防火墙的进站/出站规则阻止445端口的连接,能防范利用SMB协议漏洞的攻击;启用防火墙禁止RDP流量能防止RDP远程连接系统;启动域防火墙能阻止DCOM对象实例化。
此外,我们也可以通过配置Windows系统规则来防范横向移动攻击。
当攻击者利用Windows打印机后台处理程序来执行特权操作时,我们可以禁用“允许打印后台处理程序接收客户端连接”,也可以直接禁用打印后台处理程序服务。
当系统遭受NTLM中继攻击时,我们可以禁用NTLM并切换成Kerberos验证,或启用SMB签名和LDAP签名等。(NTLM中继攻击:攻击者劫持受害者会话,将受害者凭证转发到其它服务器获取信任)
正确配置系统规则,不仅能防范横向移动攻击,还能保护系统资源的合法使用
结语
攻击者进行横向移动的手法多种多样,以上方法并不能完全防范横向移动攻击。要有效阻止横向移动,需要分析具体事件来制定有针对性的防护措施。
尤其是在企业等组织机构中,由于内网的复杂性,攻击团伙的手段也比较高超,一般的防护手段不能有效地防范横向移动攻击,要保护企业内网安全,最好选择专业的运营团队。