来自 CC防护 2021-02-08 15:32 的文章

防御服务器攻击_国内_ddos防护防御

防御服务器攻击_国内_ddos防护防御

妥协后安全事件中的对手就像杂货店的购物者。他们很少直接去一个地方得到他们需要的东西。取而代之的是,他们进入大楼,在过道周围走动,在结账前一路收集碎片。同样,对手也不会攻击你网络上任何一个包含他们试图窃取的数据的地方。他们必须横向地从一个系统移动到另一个系统(或者从一个通道到另一个通道)来收集他们想要的信息。为了在不引起太多注意的情况下自由移动,攻击者通常使用在企业环境中看起来正常的可靠软件。对手中最喜欢的是许多IT管理员的老朋友:SysInternals PsExec。在这篇文章中,我们将讨论一些策略,威胁猎人可以用来识别对手使用PsExec(即使它被重命名或克隆)和类似的工具在网络的端点之间横向移动。经典之作:PsExec十多年前,SysInternals首次发布了PsExec,从那时起,它为管理员提供了一种可靠的方法,可以通过服务器消息块(SMB)协议远程访问系统。PsExec的基本行为遵循一个简单的模式:使用管理员凭据建立到目标系统的SMB网络连接推送名为的接收方进程的副本PSEXESVC.EXE$共享系统管理员发射PSEXESVC.EXE,它将输入和输出发送到命名管道通常,命名管道是进程间通信的一种方法,各种特定管道在windowsactivedirectory域中很常见。管道可以根据特定用途命名,在这种情况下,用于PsExec通信的管道通常如下所示:\\.\pipe\psexsvc。当在您的环境中搜索恶意使用PsExec时,这个细节变得非常重要,因为即使是躲闪的、重命名的PsExec版本也将使用命名管道进行通信。事实上,这种行为是可以预测的,我们甚至可以在其他仅仅克隆PsExec功能的软件中看到这种行为。(我们一会儿再谈这个问题)。二进制元数据还有助于识别PsExec的重命名实例。对于建立连接的源进程,PsExec的内部名称值只是PsExec,而目标的接收进程,PsExeSvc.exe,的内部名称为PsExec Service Host。由于PsExec主要是作为预编译的二进制文件提供的,所以这些元数据不容易更改,而且可以方便地确定执行情况。除了元数据之外,Windows注册表构件(例如HKEY_CURRENT_USER\software\sysinternals\psexec\eulaaccepted)可以指示何时使用了psexec。另外,如果管理员想要使用该实用程序,则必须接受最终用户许可协议,并且接受将写入此密钥。与二进制元数据和命名管道用法一样,如果PsExec被重命名,这一点不会改变,多少cc的防御,但它可以很容易地被消息灵通的对手删除。把克隆人送进来由于PsExec易于使用和可靠,它成为合法软件和对手的自然选择,因为每个人都需要一种向远程系统发出命令的方式。然而,PsExec的许可条款不允许在其他软件包中进行重新分发,这给软件开发人员带来了一个问题,因此现在有各种各样的开源工具可以克隆PsExec的功能。RemCom公司RemCom是一个开源的、可再发行的实用程序,提供相同的远程管理功能。在2016年对手利用它横行攻击民主党全国委员会(Democratic National Committee)后,它获得了一定程度的声名狼藉。然而,它也包含在几个合法的软件包中。默认情况下,RemCom发送RemComSvc.exe到远程计算机,然后使用命名管道\\.\pipe\remcom_通信(拼写错误和全部)来代替PsExec的命名管道。此外,进程的内部名称的值为remcom。恋童癖PAExec具有RemCom和PsExec的所有相同功能,主要用于PowerAdmin服务器管理解决方案。默认情况下,PAExec使用一个命名管道,该管道包含字符串PAExec以及唯一的进程标识符和计算机名值。接收进程的名称类似,通常具有paexec的内部名称值。CSExec公司CSExec是PsExec功能的一个高度可配置的C实现。默认情况下,ddos防御云,CSExec发送csexecsvc.exe并使用名为\\.\pipe\csexecsvc的命名管道。内部名称值很容易更改,尽管这取决于编译指令,但默认情况下,它应该包含字符串csexec。比较和对比所有这些克隆,有几点应该变得明显:所有的克隆都是开源的,其源代码可供公众使用对手可以下载代码,并使用不同的命名管道名称和二进制内部名称重新编译代码尽管如此,通信的底层功能将保持不变寻找克隆现在我们已经为一整类横向移动工具建立了可靠的行为,我们可以设计一种检测策略。基于命名管道的检测可能会有点混乱,因为管道在Windows端点上很常见,但是我们可以通过排除我们知道是良性的管道来获得先机。在Active Directory环境中,可以找到命名管道,例如:\\.\管道\netlogon\\.\管道\samr\\.\管道\lsarpc您还可以在专门的环境(如SQL数据库查询)和大型机系统中找到其他合法的。在您的环境中,可以使用Sysinternals PipeList或Sysmon与Windows事件日志记录一起建立命名管道的基线。如果您在您的环境中利用端点检测和响应(EDR)工具,那么您也可以检查流程文件的修改以找到命名管道。一旦找到了基线,就可以开始搜索异常管道。正常的管道应该是丰富的,而异常的应该是不常见的。你还能从管子里找到什么?利用我们刚刚收集到的有关正常命名管道的数据,您还可以在您的环境中搜索额外的横向移动和侦察。例如,Cobalt Strike和Metasploit等工具都支持使用命名管道的横向移动。在这种情况下,很容易改变"含钴管"的名称。在Metasploit的情况下,对手必须在配置期间指定管道名称,而不是接受默认名称。在这两种情况下,在数据集中查找异常管道可以揭示这些工具的使用情况,尽管确认通常需要在特定环境中进行进一步的调查。这是特别方便的,因为钴打击和Metasploit的有效载荷可以注入到其他合法的过程中,以逃避检测。我们发现,一个独特的命名管道可以作为一个可怕的指标,在一个事件中妥协。在侦察方面,您可以检测到执行活动目录枚举的猎犬或Sharphound之类的工具。这些工具通过Windows系统中常见的普通命名管道与域基础设施进行通信,但是它们做得非常过分。分析命名管道数据集,以了解源自单个主机上单个进程的大量命名管道通信,可以帮助您找到此枚举的来源。就像Cobalt Strike和Metasploit有效负载一样,phpddos防御,猎犬犬可以被注入到合法的进程中,或者以意想不到的方式使用PowerShell执行。因此,通过管道进行探测有助于缩小可疑活动的范围。管道很吵,我怎样才能得到更好的结果?从端点收集命名管道的数据集后,您可能会注意到有许多进程使用大量管道。减少这种噪声的一种方法是限制特定过程的使用,这样离群值可以更加突出。例如,如果您想在组织中提高PsExec的搜索保真度,那么可以禁止管理员使用它,而支持PowerShell远程处理。PowerShell远程处理可以执行与PsExec相同的操作,而且这样做更安全。像这样做一些小小的改变可以帮助你慢慢提高你的狩猎结果,同时教会你更多关于你的环境的知识!等等,二进制元数据呢?如果现在无法在环境中按比例收集有关命名管道的信息,请不要担心。如果您可以访问环境中的二进制元数据,则可以使用以下搜索开始搜索可疑的横向移动:二进制内部名称是psexec或psexec Service Host,但进程名不是psexec.exe文件或者psexesvc.exe二进制内部名称为remcom,但进程名不是remcom.exe或者RemComSvc.exe二进制内部名称包含paexec,但进程名不包含paexec二进制内部名称包括csexec,防御ddos最省钱的方法,但进程名不包含csexec如果您正在寻找这些工具的重命名实例,那么这些搜索是一个很好的起点,但是对于某些开源变体,尤其是那些由更有决心的对手定制编译的变体,它们可能是无效的。结论尽管类似于PsExec的横向移动工具非常丰富,但检测这些工具的一个常青策略是寻找Windows端点上进程使用的外围命名管道。这种方式的搜索将有助于以多种形式显示未经授权的远程管理工具的活动,即使这些工具已被对手修改。收集和分析命名管道数据在PsExec克隆领域之外也有好处,可以让您找到敌人的秘密移动和侦察工具,否则很难找到。如果您有兴趣进一步阅读,ddos攻击防御测试,我写了一些方法,当对手使用Windows远程管理(WinRM)和Windows管理工具(WMI)时,几乎就在一年前写了一些检测横向移动的方法。深入研究这个地区