来自 CC防护 2021-02-20 19:04 的文章

流量攻击防御_简述_服务器被攻击内存满了

流量攻击防御_简述_服务器被攻击内存满了

这是讨论利用Windows服务器更新服务(WSUS)的攻击的系列文章中的第二篇。在本系列的第1部分中,我们通过创建一个可在Windows 10上运行的工具PyWSUS恢复了经典的2015年WSUS攻击之后,我们开始怀疑该模块是否可以用于其他目的。我们经常看到使用WSUS的部署,其中用户可以为其会话设置本地代理。如果WSUSpect代理模块只不过是一个修改通信量某些部分的MITM代理,ddos产品可防御,而且我们也有权代理本地通信量,那么我们就有权在本地运行WSUSpect代理,cdn网络加速,以在我们的资产上作为系统运行代码。这是讨论利用Windows服务器更新服务(WSUS)的攻击的系列文章中的第二篇。在本系列的第1部分中,我们通过创建一个可在Windows 10上运行的工具PyWSUS恢复了经典的2015年WSUS攻击之后,我们开始怀疑该模块是否可以用于其他目的。我们经常看到使用WSUS的部署,其中用户可以为其会话设置本地代理。如果WSUSpect代理模块只不过是一个修改通信量某些部分的MITM代理,而且我们也有权代理本地通信量,那么我们就有权在本地运行WSUSpect代理,以在我们的资产上作为系统运行代码。CVE-2020-1013冲击Windows 10所有版本、Windows 7 SP1、Windows 8.1、Windows Server 2008、Windows Server 2012、Windows Server 2016、Windows Server 2019和Windows Server 1903/1909/2004,如果配置为使用HTTP或HTTPS WSUS服务器,则易受本地权限从低权限帐户升级到"NT AUTHORITY\SYSTEM"的攻击。Microsoft在本安全更新指南中跟踪修复了该问题的更新。根据您的Windows版本应用。例如,最新的Windows 10由KB4571756跟踪,而Windows 10 1709由KB4577041修复。请注意,CVE的描述是错误的,但确认是针对我们披露的bug。它很可能会随着时间的推移而修复。技术分析在尝试调试windows10版本的WSUSpect proxy时,我们注意到我们可以简单地设置internetexplorer的代理来通过我们控制的主机转发Windows更新流量。在成功地将WSUSpect代理模块移植到windows10计算机上之后,我们开始怀疑这种行为是否可以用于其他目的,例如本地权限提升。2016年,Steve Breen记录了一个名为"热土豆"的漏洞。简而言之,华为防火墙能防御DDOS吗,此漏洞允许攻击者滥用Windows系统服务来执行HTTP到SMB中继并升级权限。这是因为目标服务(即使它们是以"NT AUTHORITY\SYSTEM"帐户运行的)使用的是当前用户的代理设置,而不是系统的代理设置。如果您查看有关此漏洞的文章,您将看到以下语句:在最新版本的Windows中,Windows Update可能不再遵守"Internet选项"中设置的代理设置,或检查WPAD。而是使用"netsh winhttp proxy…"控制Windows Update的代理设置这一确切的说法与微软关于WSUS的文档以及不同Windows版本的行为之间的可变性相结合,在我们的WSUS研究中引起了许多争论,因为它与我们的观察结果相冲突。如果我们有修改本地用户代理的权限,并且Windows更新使用在internetexplorer设置中配置的代理,那么我们就有能力在本地运行PyWSUS来拦截我们自己的流量,并作为我们资产上的提升用户运行代码。此外,由于WSUS服务使用当前用户的设置,它也将使用其证书存储。如果我们为WSUS主机名生成一个自签名证书,并将此证书添加到当前用户的证书存储中,我们将能够拦截HTTP和HTTPS WSUS通信。WSUS不使用类似HSTS的机制在证书上实现首次使用时的信任类型验证。如果提供的证书受用户信任并且具有正确的主机名,则服务将接受该证书。此漏洞于5月份报告给Microsoft,运营商防ddos防御方法,并分配给CVE-2020-1013。我们开发了一个工具来自动利用这个漏洞,我们将在下一节介绍这个工具。介绍wsuspicousWSuspicious是一个C#程序,它代替用户本地代理,强制计算机查找更新,同时拦截WSUS流量以注入恶意负载。如前所述,这允许低权限用户在计算机上以"NT AUTHORITY\System"的身份运行代码。这个工具在Windows10机器(1809和1909)上进行了测试。为了工作,模块将需要一组特定的条件:用户能够设置其本地HTTP和/或HTTPS代理,并且用户能够执行在TCP端口上侦听的程序。根据@msftsecresponse的政策,我们将等待30天才能发布该工具。请注意,该漏洞是不言自明的,因此这种延迟不应鼓励您推迟修补问题演示工具完成后,我们在实验室中测试了各种环境和有效负载。下面举例说明了最简单的一个。我们的低权限用户使用wsuspicous模块和PsExec启动netlocalgroup Administrators{username}/add命令来提升他的权限。图1–演示有效载荷选择和操作安全考虑事项到目前为止,已知有几种类型的有效负载可以与WSUS服务一起工作。出于许可的原因,wsuspriious触发的二进制文件没有嵌入到工具中,必须由用户提供。然而,改变代码并将可执行文件直接绑定到二进制文件中,从内存中运行整个过程并不是不可能的。请记住,这可能会违反Sysinternals的许可证,因此不建议这样做。执行官PsExec是一个Sysinternals二进制文件,它允许在远程计算机上执行命令。它是一个功能强大的工具,但在It管理团队不常用的环境中执行时,通常会检测到它。将PsExec与WSuspicious一起使用可以这样做:WSuspicious.exe文件/exe:"./PsExec64.exe"/命令:"-accepteula-s-d cmd/c"echo 1>c:\\wsuspicious.txt文件"/自动安装检测想要捕获这种类型的有效负载的检测团队应该将注意力集中在由工具行为生成的事件上。该工具将连接到本地网络共享以上载服务二进制文件(windows event 5140和sysmon event 11),在计算机上创建一个指向刚刚上载的二进制文件的新服务(windows event 4697),并启动服务,该服务将依次启动上载的二进制文件(windows event 4688或sysmon event 1)请记住,可以使用某些标志更改服务和二进制名称。因此,标记PSExecSVC服务名称不是捕获此负载的有效方法。如果在日常操作中不常用此工具,则检测HKEY\USERS\{SID}\SOFTWARE\Sysinternals\PsExec\eula接受的注册表项的创建也有助于检测此工具。BgInfo公司BgInfo是另一个可以与WSuspicious一起使用的Sysinternal二进制文件。这个二进制文件允许运行一个visualbasic脚本(VBS),显示机器墙纸上的信息。但是,VBS文件的内容可用于执行恶意命令。将BgInfo与WSuspicious一起使用可以这样做:WSuspicious.exe文件/exe:"/BgInfo.exe文件"/command:"C:\Users\lowpriv\配置.bgi/无提示/计时器:0"/自动安装检测如果公司内部没有使用BgInfo,只需监视BgInfo的启动(windows事件4688或sysmon事件1)。如果某些资产使用BgInfo,请确保低权限用户无法编辑BgInfo启动的文件,并使用意外文件监视BgInfo的启动。时间旅行追踪(tttracer)在我们的研究中,https防御ddos,我们试图找到更多可以与wsuspicous一起工作的二进制文件。我们注意到二进制必须满足多种条件。首先,二进制文件必须由Microsoft签名。其次,它必须自己运行,不受任何干扰。如果它请求一些用户交互,进程将挂起,并且windows更新将停止运行。同时请记住,如果程序运行需要dll,则它更有可能失败。知道了这一点,我们从C:\Windows\System32文件夹中列出了多个二进制文件,并尝试了其中一些。我们所做的大部分没有结果。然而,tttracer二进制文件似乎很有前途,因为Windows更新服务允许安装该程序。在有效负载被触发后,Windows更新服务只会挂在"安装"状态。使用WMI进行的一些调试允许我们看到程序是由Windows更新服务用我们指定的有效负载启动的。C: \WINDOWS\system32>wmic进程,其中name=tttracer.exe"获取名称,命令行命令行名称"C:\WINDOWS\SoftwareDistribution\Download\Install\tttracer.exe" 命令行.exe/c"系统信息"tttracer.exe当我们试图从Windows更新文件夹运行tttracer二进制文件时,系统提示我们接受最终用户许可协议。程序只是停止执行,直到它们被接受,因此暂停Windows更新服务。当用户接受EULA时,程序将设置一个注册表项,以避免将来再次提示用户,并开始执行有效负载。C: \WINDOWS\system32>C:\WINDOWS\softwareddistribution\Download\Install\