来自 网络 2021-06-09 03:20 的文章

ddos防护_海外高防cdn_优惠券

ddos防护_海外高防cdn_优惠券

与艾达和APT28调情本文共享了一种用于开发Hex射线的交互式反汇编(IDA)签名的方法,该签名是作为最近发布的APT28样本的预分析的一部分而创建的。不讨论已发布样本的内部功能、特征和行为。访问用于为IDA反汇编程序生成签名的IDA Flair需要当前的hex-ray订阅。5月17日,美国网络通讯网络国家任务部队(CNMF)在推特上发布了一个新的APT28恶意软件样本的完整链接,但没有提供关于该样本及其发现情况的任何信息已发布示例的SHA256哈希为:b40909ac0b70b7bd82465dfc7761a6b4e0df55b894dd42290e3f72cb4280fa44研究人员一致认为,这个例子是x隧道(又名XAPS),APT28使用这个工具使防火墙内的受损主机充当流量代理。这允许攻击者控制的来自外部主机的流量被中继到其他内部目标,这些目标可能由于外围通信策略而无法访问2013年5月,X-tunnel首次在野外出现,据悉,它曾被用于包括2016年DNC黑客攻击在内的先前妥协中通过HTTP隧道(HTTP-tunnelling)的其他功能,包括HTTP隧道(HTTP-tunnelling)的持久性,以及对HTTP隧道的支持。以前的版本的大小在1-2MB左右。2015年发现的带有模糊代码的版本倾向于规模更大的一端。CNMF上传的样本为320万字节这个大小的文件暗示代码混淆/虚拟化、静态链接和/或嵌入式资源。静态链接提供了自给自足的功能——对于在受害者网络中操作的威胁参与者来说,这是一个高优先级的问题。代码混淆会阻碍分析工作,但会使反病毒软件眼中的样本更加可疑样本内的证据表明,它是使用微软Visual C++生成的。在制定目标计算机的执行计划时,作者有两种选择:假设安装了相应的(和必要的)Visual C++可重新分配包,或者捆绑(链接)文件本身所需的每一段可执行代码。后一种静态链接方法增加了文件的大小,但也增加了成功执行的几率。我们的X隧道二进制是用微软Visual C++构建的:1.存在包含异常数据目录的.pdata节。编译器在这里存储了针对PE32 + / 64位二进制文件的异常处理元数据。这个部分甚至针对最简单的C/C++"Hello World"应用程序,只要它链接到微软Visual C++运行时。2、特别是C++中,在字符串输出中存在被函数化的函数名和标准模板库/命名空间/容器/类("STD"、"vector"、"IOS")的引用。3.解析PE-Rich头的输出对于动态链接visualc++PE的替代方法,您通常会看到mscpxxx.dll,其中XXX映射到Visual Studio版本号–对于Visual Studio 2013为120,对于Visual Studio 2015为140,等等使用IDA对示例进行的反汇编显示了大量可执行代码。我们可以用什么方法来处理这样一个笨重的文件的分析,让我们能够快速地关注它的设计和功能? IDA的Navigator工具栏提供了一个示例的可执行代码和数据的可视化分解。如果在加载示例期间禁用了自动使用调情签名(请参阅"内核选项2"),则可以使用简单的Python一行代码来测量函数数:Python>len(列表(idautils.函数())7533图1:通过IDAPython的函数计数因为我们正在处理一个64位的微软Visual C++二进制,所以我们可以应用IDA提供的相关的默认签名(第一次重新选择使用通用->内核选项2下的FLRT签名):VC64 RTF,服务器集群可以防御cc吗,VC64 UCRT。"签名"子视图告诉我们,1600个函数已被标识为库(良性)代码:图2:IDA提供的第一轮默认签名大多数已发布的x-tunnel示例都链接到同一版本的OpenSSL TLS/SSL库中。此示例的字符串输出显示它也在遵循:1.0.1e 2013年2月11日国内的分析师也会注意到字符串输出中存在另一个重复出现的标识符:"poco"。Google的结果表明这是一个C++框架,为了保持端点安全的领先地位,作者显然已经使用一个框架重新设计了x隧道利用定制的IDA打情骂俏签名来填充尽可能多的空白(通过识别良性的库代码),可以减少对样本进行有意义的分析所需的时间。把我们的努力集中在理解重要的(有趣的)部分,意味着我们可以加快交付可采取行动的威胁情报。字符串输出告诉我们使用了Poco框架的1.7.3版本,我们可以使用这些信息来构建一个静态库(.lib),并从中派生自定义的IDA签名注意:Flair工具pcf(COFF解析器)和sigmake(签名文件生成器)可以从Hex-ray网站上以zip格式下载(需要主动订阅)。包括Mac和Windows二进制文件;下面示例中的替换路径反映了zip解压缩的位置(如果使用Windows,还包括操作系统)。我们需要回答的第一个问题是,我们应该使用哪个版本的visualstudio来构建libs,cnetos防御ddos,出于好奇,这有关系吗?(Spoiler:是的,至少对于测试过的visualstudio的少数默认安装来说是这样)PE中的富标头包含有关用于生成二进制文件的编译器/链接器的元数据。使用一种广泛可用的工具对其进行解析,如图所示:图3:嵌入到示例中的Rich header假设这不是伪造的,我们的第一次构建尝试应该是使用visualstudio2010 RTM注意:构建OpenSSL和Poco静态库是使用作者的标准windows7sp1x86分析环境执行的。在本机x64环境下构建只需对下面描述的步骤进行一些小的更改。Poco框架的1.7.3源代码可以从Github下载,构建说明很容易理解(参见自述文件"在Windows上构建")。唯一需要注意的是对OpenSSL的依赖性,它首先需要存在。我们将稍微调整构建过程以删除MySQL依赖项。这可以通过编辑Poco组件文件来完成构建OpenSSL.lib文件也很简单perl.exe文件在您的%PATH中(使用默认值时由安装程序处理)因为我们的示例是64位的,所以我们使用visualstudiox64 Cross-Tools命令提示符(请参见visualstudio工具下的Windows开始菜单)。根据OpenSSL构建文档,在提取的源代码目录中运行以下命令将生成必需的libeay32.lib和ssleay32.lib静态库。反过来,ddos防御100g,这将允许我们构建Poco并最终生成我们的IDA签名:perl配置VC-WIN64A ms\do\u win64 anmake-f ms\新台币图4:构建OpenSSL静态库假设生成过程顺利完成,ddos攻击检测及防御研究,则静态库应位于out32文件夹中:图5:OpenSSL x64 1.0.1e静态库有了这些,我们现在可以构建POCO C++框架LIBS。我们需要修改Pocobuildwin.cmd文件来指示我们新构建的OpenSSL库的位置,并提供OpenSSL头文件的位置。这是编辑的buildwin.cmd:rem更改OPENSSL_DIR以匹配设置OPENSSL_DIR=E:\Code\OPENSSL-1.0.1e.tar\OPENSSL-1.0.1e set OPENSSL_INCLUDE=%OPENSSL_DIR%\inc32 set OPENSSL_LIB=%OPENSSL_DIR%\out32dll;%OPENSSL_DIR%\LIB\VC set INCLUDE=%INCLUDE%;%OPENSSL_INCLUDE%set LIB=%LIB%;%OPENSSL_LIB%图6:Poco框架buildwin.cmd环境变量注意,OPENSSL_INCLUDE变量使用inc32。1.0.1e tarball包含从include到inc32的符号链接,这些符号链接无法在Windows主机上正确提取,从而导致include文件夹中出现0 byte.h文件。现在,我们可以使用Visual Studio 2010 x64命令提示符构建Poco框架静态库:buildwin.cmd100个构建静态版本x64 nosamples notests图7:构建Poco静态库的命令发出的lib可以在lib64文件夹中找到:图8:Poco框架静态库有了Poco和OpenSSL库文件,cc防御软件linux,我们现在可以生成IDA签名。pcf和sigmake的语法很简单。首先,使用pcf为我们的每个.lib派生一个模式文件,可以在Flair.zip下载中找到,可以从Hex-ray获得。在Mac OS上为OpenSSL库执行pcf的示例(.lib是从构建VM本地复制的):./flair72/bin/mac/pcf libeay32.lib libeay32.lib:跳过98个,共5646个图9:在MAC上生成IDA模式文件对于Windows,等效命令为:.\flair72\bin\win\pcf.exe文件libeay32.lib图10:在Windows上生成IDA模式文件现在生成签名文件并解决由此产生的任何冲突。当从.lib中的对象文件获取的通用操作码对于多个子例程相同时,会发生冲突。天才签名发电机