来自 防护 2021-12-15 08:20 的文章

防ddos攻击_ddos怎么防止_解决方案

防ddos攻击_ddos怎么防止_解决方案

这篇文章是一系列文章的第一篇,这些文章回顾了一些关于企业软件、SAP安全性和以前从未发表或被社会化过的研究,同时也介绍了一些新的发现。我们将讨论SAP存档文件、路径遍历和存档中的数字签名陷阱,以帮助您做到最好。1介绍针对系统管理员的有针对性的攻击是一些坏角色在试图访问和危害高价值环境时使用的做法。由于系统管理员使用各种各样的工具来管理他们所能触及的环境,因此这种有针对性的攻击的一个有趣的切入点就是通过这些工具及其使用方式。在这篇博客文章中,我将分享我过去研究和理解SAP存档文件格式、可用于操作它们的工具以及从学习过程中获得的一些发现。2首先,为什么关心这个?为什么要费心去读那些老故事和已经解决的问题呢?主要是因为最近SAP花了很长时间来更新一些支持系统,这涉及到数字签名的SAP Notes的分发,我们将在本文后面讨论这个问题,但它与以前的经验有关。我们认为,了解不同机制的工作原理以及如何攻击或绕过这些机制,有助于在评估和规划安全措施时做出更好、更有教育意义的决策。此外,在我对文件格式的研究发表在《2016年士兵》杂志上很久之后,2018年3月,SAP更新了一些工具的行为,我们将在本文后面看到和讨论。但是我再也没有回来提供关于它对原始研究意味着什么的更新,所以这是一个做这件事的机会。另外,最近在WinRAR中公开和发现的被利用的漏洞让我想起了我在SAR存档文件上的经历,以及用户面临的类似风险。通用归档文件的广泛使用可能无法与sapbasis和安全管理员相比,但仍然使它们成为一个非常有趣的目标。然而,归档文件是第二种更为突出的文件类型,用于通过电子邮件进行恶意软件攻击,而SAP世界可能也不例外。三。SAP存档文件和SAPCAR工具在SAP领域中,软件包、组件、补丁和升级(称为"SAP注释")和其他类型的工件的分发是通过归档文件完成的,其方式与许多其他软件供应商的方式相似。主要原因是通过分发少量的文件来控制和方便使用,以及通过压缩归档文件中的数据来使用资源。与其他一些使用标准或知名的归档格式和工具(zip、gzip、7zip等)的软件供应商不同,SAP已经为处理归档文件提供了一种专有的文件格式和工具。文件格式称为SAR,而归档和提取工具称为SAPCAR。SAPCAR是一个独立的命令行程序,适用于所有SAP Netweaver、HANA和更当前的S4/HANA环境。默认情况下,可以在操作系统级定义为搜索路径的目录中找到该程序。它的使用非常简单,包括创建和操作归档文件的功能,以及从中提取文件的功能。以下代码片段显示了可以使用SAPCAR程序执行的一些常见操作:$echo"这是一个文本文件">text-文件.txt$./sapcar-cvf档案-文件.sar文本-文件.txt文本-文件.txt$ls存档-文件.sar归档-文件.sar$/sapcar-tvf档案-文件.sarSAPCAR:正在处理存档文件-文件.sar(版本2.01)-rwxrwxrwx 2019年11月20日10:23文本-文件.txt$./sapcar-xvf存档-文件.sarSAPCAR:正在处理存档文件-文件.sar(版本2.01)x文本-文件.txtSAPCAR:已提取1个文件SAPCAR工具的常见操作有关SAPCAR程序以及如何使用它的更多文档可以在SAPCAR的官方帮助页面中找到。值得一提的是,SAPCAR的早期版本中使用了一种旧的文件格式,即CAR。我找不到确切的日期或时间段,但看起来像是一个非常古老的格式,至少可以追溯到15年前。虽然SAPCAR程序是向后兼容的,仍然可以从汽车档案中打开和提取文件(从安全角度来看,这也很有趣,可能存在一些15年前的bug!)现在很难找到以这种格式发布的归档文件,SAP早就停止使用了。4SAP存档文件格式我通过创建一组简单且尽可能小的归档文件开始分析文件格式。通过查看SAPCAR工具生成的文件,我们能够快速确认文件格式使用的压缩算法是SAP专有的LZH和LZC算法。这些算法是众所周知的,因为它们被用于多个网络协议来压缩流量。一个开放源码的实现在某个时候被提供了,这有助于将它整合到我们的pysap库(以及其他类似的工具)中,以便在pysapcress模块中创建和剖析网络协议。压缩算法在过去也有自己的问题,但不是本文的重点,所以让我们回到文件格式的细节。在pysap的文档中可以看到文件格式及其部分的高级视图。文件格式的两个已知版本2.00和2.01之间存在一些细微差别和细微差别(我怀疑CAR可能内部版本为1)。上一节中创建的小归档文件的十六进制视图如下所示:$xxd存档-文件.sar00000000:4341 5220 322e 3031 5247 ff81 0000 1400车2.01RG。。。。。。00000010:0000万0000万0000 3861 c45d 0000……….8a.]。。00000020:0000万0000 0000 0e00 7465 7874 2d66…………文本-f00000030:696c 652e 7478 7400 4544 1e00 0000 1400文件.txt.ED......00000040:0000 121f 9d02 7b21 1999 c50a 4094 a850……{!。。。。@…P00000050:925a 51a2 9096 9993 ca05 0000 4d9d d682.ZQ………M。。。SAR存档文件的内容最近,多亏了Troopers 2018举办的BIZEC会议,我了解到文件格式以某种方式发布并作为SAP NW-VSI(病毒扫描接口)文档的一部分进行了记录。此外,作为vis2.0sdk的一部分发布了一个参考实现,不幸的是现在似乎还没有公开发布。同时也有助于我们对文件格式的实验性改进和完善。5探索SAPCAR计划的初步发现在初步了解SAR文件格式和SAPCAR之后,我寻找影响归档文件操作的逻辑问题。当然,从攻击者的角度来看,更有趣的操作是从归档文件中提取文件。我研究了影响归档文件的一些更常见的问题,得到了一些结果,其中包括以下发现:CVE-2016-5845通过无效文件名拒绝服务,因为在提取文件时,SAPCAR程序无法正确验证文件名中是否包含某些字符。CVE-2016-5847权限更改的争用条件,因为SAPCAR程序遇到了TOCTOU问题,方法是将文件提取到文件系统,然后在第二次操作中设置存档文件中定义的权限。我们只是在表面上摸索,结果并不有趣,阿里云ddos防御安装,因为要么影响很小,要么有效攻击所需的条件非常低。但是,我们决定向供应商报告这些问题,并立即作为sapsecuritynotes2312905和2327384进行了修补。6遍历存档文件路径在这个过程中,我看了好几次程序文档和屏幕帮助。特别值得一提的是,sdkddos节点防御,SAPCAR的帮助声明如下:其他选项:[..]-P:使用绝对路径名(小心使用)[..]汽车辅助工具因此,这意味着SAPCAR工具可以创建归档文件,并通过提供-P选项为其中的文件使用绝对路径。那些档案文件的提取呢?下面的陈述更有趣,并给出了答案:[..]使用绝对路径名:如果使用绝对路径名创建存档,则文件将用这些路径名提取!SAPCAR不会先切像UNIX工具tar一样斜线。[..]SAPCAR工具帮助摘要如果你有攻击性的话。基本上,敌方可以构建一个归档文件,ddos防御中心,其中包含包含完整路径的文件名,这些文件将在提取过程中由SAPCAR处理。例如,ddos服务防御措施,可以创建一个包含文件名的归档文件,例如"/home/sapadm/.ssh/authorized_keys",如果使用具有足够权限的用户提取,SAPCAR将覆盖原始文件。构建具有绝对路径的归档文件需要使用带有前面提到的-P选项标志的SAPCAR,或者更好的方法是手动创建归档文件,这也允许使用任意字符。为了做到这一点,在研究期间,我们在pysap中添加了一个名为pysapcar的脚本。它的用法很简单,与原来的SAPCAR工具使用的选项相同,但是通过/n选项,在创建存档文件或将文件附加到现有文件时,可以使用任意文件名。另一种方法是直接使用pysap的API并在篡改文件名后重建归档文件。使用此方法,游戏cc防御软件,我们成功地创建了包含"../../"字符的存档文件,从而支持"路径遍历"。现有的档案文件