来自 DDOS 2021-04-05 21:23 的文章

受到流量攻击_排名靠前的_ddos清理

受到流量攻击_排名靠前的_ddos清理

这一次,我们将看到另一个有效载荷来自最近的rigek战役。它是烟雾装载机(Dofoil),一个几年前创建的机器人,它的早期版本之一于2011年在黑市上做了广告。虽然有一段时间没有看到它,但它似乎没有计划退休。目前捕获的样本似乎将于2015年更新。这个小应用程序被用来下载其他恶意软件。使机器人有趣的是它用来欺骗和自我保护的各种技巧。我们将介绍使用的技术,并将当前样本与旧样本(2014年的样本)进行比较。分析样品本分析的主要重点是以下样品,由Rig EK提供:bce202c021feb61783563e21fc026767–原始样品D363E8356C82A1043B300C12C6C7603–未包装(阶段1)8932d2eacc4dfc7b2f0a94363a854610–核心DLL(阶段2)以上示例下载:有效载荷:f60ba6b9d5285b834d844450b4db11fd–(这是一个IRC机器人,C&C:med global fox[DOT]com)更新烟雾装载机:BC305B326057F2BE7F92CBBF9F82975–原样C8ECC47B05074F5136E79B680FE9E–未包装(阶段1)8932d2eacc4dfc7b2f0a94363a854610–核心DLL(阶段#2)–与上一个示例相同 在分析期间,将与2014年9月首次见到的旧样品进行比较EFA7F95EDACE888F39E5CE0EE675A95–原始样本(通过垃圾邮件分发)266319c97292842ce554d53806449dda–未包装(阶段1)c52f0bf75bebf12a2e7a65b8c8af72d4–核心DLL(阶段2)行为分析在被部署后,烟雾装载机将自己注入资源管理器.exe并删除原始可执行文件。我们可以看到它在资源管理器进程内部建立新的连接。安装和更新Smoke Loader不仅安装其原始示例,还将其替换为新版本,该版本可从C&C–路径:/system32.exe下载。这个技巧使检测变得更加困难-更新的样本由不同的加密程序重新打包,也可能更改了它们的C&C集。在当前分析过程中,烟雾装载机的初始样品掉落如下:BC305B326057F2BE7F92CBBF9F82975示例保存在%APPDATA%中的隐藏子文件夹中:Smoke Loaded将其当前示例和所有其他下载的可执行文件添加到Windows注册表中。在现有条目的名称中随机选择键的名称:这种持久性方法非常简单(与kofter相比),但是对于主模块的检测也采取了一些对策。删除的可执行文件的时间戳已更改,因此无法通过搜索最近修改的文件找到恶意软件。对文件的访问被阻止-无法对其执行读或写操作。加载其他可执行文件在它出现在系统中的过程中,它不断地下载额外的模块——"插件"。首先,下载的模块以随机名称保存在%TEMP%中并运行。然后,将其移动到%APPDATA%。我们可以看到,与C单独建立的连接如下所示:Autostart中还有一个用于部署负载的脚本:网络通信为了使流量分析更加困难,与C&C bot通信会产生大量冗余流量,向合法域发送请求。当前样本的C&C地址:smoktruefalse.com网站波斯王子24.ru流量部分加密。在下面的示例中,我们可以看到bot是如何从C&C其他可执行文件下载的。1–用烟雾装载机的新样本更新主机器人:2–下载附加负载("插件"):有效载荷流量Smoke Loader部署下载的示例,防御ddos流量攻击,因此在一段时间后,我们可以看到由有效负载(连接到med global)生成的流量-福克斯网). 根据它的特点,我们可以断定这一次"插件"是一个IRC机器人:内部像大多数恶意软件一样,阿里云ddos防御多少钱,Smoke Loader是由一些加密程序分发的,它提供第一层防御以防被发现。在移除加密层之后,我们可以看到主Smoke Loader可执行文件。然而,需要进行更多的解包才能到达恶意内核。为了方便起见,我将未打包样本的代码部分称为Stage#1。它的执行从主可执行文件的入口点开始,它的作用是提供额外的混淆。它还可以作为最重要部分的加载程序:Stage#2–这是一个DLL,解压到动态分配的内存中并从那里运行。第1阶段这个bot的有趣特性是,它的可执行文件通常只有一个部分,没有导入。下面您可以看到截面布局的可视化(入口点标记为红色):入口点的代码很模糊,很难理解。它包含许多冗余跳转,有时下一个跳转的地址是动态计算的——这就是静态分析工具无法解决它们的原因。此外,为了使分析更加困难,代码在执行过程中会修改自身。初始例程使用硬编码值的异或解密代码段的选定部分:然后它叫它:这不是烟雾加载器修改自身的唯一方式。在未包装的部分,我们可以看到更多的技巧。这段代码使用许多微小的跳转,然后是XOR和LODS指令,在每执行几步之后修改和替换代码。在这两者之间,添加了垃圾指令以降低可读性:为了实现这个目标,bot部署了一种流行方法的变体:通过计算加载模块名称的校验和并与硬编码值进行比较,在加载的模块中搜索函数句柄。首先,在Process Environment Block(PEB)*的帮助下获取加载模块的句柄:MOV ESI,FS:[30];复制到ESI句柄到PEB移动ESI,DS:[ESI+0xC];结构MOV ESI,DS:[ESI+0x1C];ESI=Flink=Ldr->InLoadOrderModuleList移动EBP,DS:[ESI+0x8];EBP=Flink.dllbase地址*在这里阅读更多信息下面我们可以看到遍历的导出函数的代码片段ntdll.dll正在搜索函数ZwAllocateVirtualMemory的句柄(使用它的校验和:0x976055C),然后将找到的句柄保存在变量中:由于这个技巧,烟雾加载器可以在没有任何进口表的情况下运行。(第二阶段使用相同的方法来填充其进口)。存储的句柄用于进行API调用和分配额外内存:在这个增加的内存空间中,阿里云有没有免费的ddos防御,Stage#2正在解压缩。这个新模块是一个删除了头的PE文件(这是一种常见的反倾销技术)。在下面,您可以看到在文件开头被删除的部分(标记为红色):如果我们添加缺失的部分,我们可以将其解析为典型的PE文件。它原来是一个导出一个函数的DLL。以前Dofoil的老版本也使用了同样的技术。在过去,模块的名称是存根.dll导出的函数是Works。现在名字被垃圾取代了。这段代码由Stage#1中的专用函数加载,该函数负责Windows加载程序通常执行的所有操作。首先,解包内容为原始格式(头大小:0x400,文件对齐方式:0x200):然后,将相同的内容重新调整为虚拟格式(单位大小:0x1000):另一个子例程解析并应用重定位。正如我们在下面可以看到的,这是一个典型的重定位表从PE格式。条目存储为连续的单词数组:装载机一个接一个地处理它们。首先,它检查条目类型是否为"32位字段"(通过测试EAX,0x3000)–在这种情况下,它是唯一支持的格式。然后,它获取重定位偏移量(和EAX,维盟DDOS自动防御,0xFFF),获取指向的地址并执行计算-通过删除旧的ImageBase(它的值是硬编码的)并将新的base-offset应用到动态分配的内存中,其中复制了未打包的代码)。最后,可以将执行流重定向到新代码。阶段1使用三个调用阶段2 DLL中导出的函数参数第一个是一个字符串,每个样本都不同(这次是"00018"):_段内动态开始执行段:在这个阶段,我们可以看到以前版本的Smoke Loader中已知的一些字符串。字符串"2015"可能表示此版本是在2015年编写的(但是,样本的编译时间戳是最近的:2016年6月10日)。第二阶段虽然前一阶段只是一个准备,但在第2阶段,恶意功能被部署。其条目位于具有以下标题的导出函数中:内部stdcall工作(char*sample_id,bool do_injection,char*file_path);基于这些参数,可执行文件识别其当前状态和要遵循的执行路径。在执行真正的任务之前,机器人准备伪装——将其代码注入一个合法的过程-资源管理器.exe(更多信息将在后面解释)。不管是否应该部署此路径,它都由第二个参数指定(表示为do_injection)。如果在设置了do#injection标志的情况下调用Stage#2,它将把代码注入资源管理器. 在此之前,将检查环境中是否存在用于恶意软件分析的工具。如果检测到任何指示样本在受控环境中运行的症状,则应用程序将进入无限睡眠循环。如果在清除do#injection标志的情况下调用Stage#2,它将开始进入执行的主路径,包括连接到C&C和下载恶意模块。如果选择了主执行路径,bot将继续与其C&C服务器通信。众所周知,在连接到真实的C&C之前,它首先检查网络是否可访问。为了进行测试,它使用了一些非恶意地址,在本例中是这样msn.com网站. 只要没有响应,ddos攻击防御价格,它就会一直等待并重新尝试:一旦发现连接正常,接下来它将验证应用程序是否已经在运行(使用带有n的互斥体)