欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

如何让僵尸网络控制节点快速遁形

来源:本站整理 作者:佚名 时间:2017-08-24 TAG: 我要投稿

在僵尸网络(下称:botnet)整个架构中,控制节点(Command and Control(下称)C2)发挥着至关重要的作用,是整个botnet 大脑中枢也是黑客幕后操纵“据点”,在通常的追踪溯源过程中C2获取是必经之路。在的 botnet中,被控端木马都需要与控制节点进行网络通信,而控制节点的IP/Domain+Port通常会硬编码(明文/密文)在被控端木马里面。如何让C2快速遁形呢?样本自动化配置解密就是其中的一个思路!
所谓样本静态配置解密就是通过破解样本加密算法将样本的所有密文进行解密,但是其中最重要的密文就是病毒样本的C2密文。在反病毒和威胁情报领域中C2是威胁溯源的关键点,同时可以用于后期的通信黑名单,也可以进行端点监控。因此在样本静态配置解密中除了为后期的通信解密提供算法支持外,获取C2明文可算是其最终目标!
定位
(本次讲解,将以Kaspersky:Trojan.Win32.Reconyc.fuzv 家族样本
92b91f578bbc2b8dc38605f9a9504b6b362dc1681e6708db5604fc3e72777a8d 为实例,贯穿整个静态配置解密讲解!)
准确给C2密文定位是静态配置解密的基本前提。首先我们要有一个认知:存放样本C2的密文基本都是一个全局变量。所以无论是MZ样本还是ELF样本,通过IDA分析样本时可以首先到.data区段搜寻可疑密文。如图2-1 .data区段可疑密文:

图2-1 .data区段可疑密文
通过全局变量名称看显然不是C2密文(需要继续搜寻),但他们之间应该有很大关联,例如解密算法的使用,所以密文也肯有可能就在附近。因此,可以通过16进制工具将以上密文在样本进行定位,找出所有密文。如图2-2 关联密文:

图2-2 关联密文
根据全局变量名称可以排除1、2密文,剩下只有3、4 的密文。通过IDA再次回溯密文调用代码。如图:2-3 密文调用代码

图2-3 密文调用代码
算法破解
可以看出sub_40700A就是解密函数,而且4的密文首先调用解密,进入sub_40700A分析解密算法,如图:3-1 sub_40700A解密算法:

图3-1 sub_40700A解密算法
这只是一个简单的xor算法,但前提是获取算法密钥(根据经验,在密钥使用方面,此算法和ServStart的算法有很大的相似之处)。获取密钥有3种方法:
1、IDA 堆栈回溯法。所谓的IDA堆栈回溯定位,找到栈的传值数据;
2、OD调试,断点定位法。在样本调试中找到解密算法运算点下断点,依次循环获取每次加密使用的密钥字符组成密钥字符串;
3、密文后续提取法。在通常情况下,存放密文的全局变量是确定大小范围且初始化为0,所以通常情况下,明文后面一般是以0填充,加上使用的是xor算法,因此密文后面的数据就是xor解密的密钥,也就可以通过此获取原始密钥(未确定密钥初始点和长度的循环密钥)。
本次将不走寻常路,使用第三种方法获取密钥!
一般xor加密都是通过密钥循环加密,所以密钥也是有一定的长度范围,因此需要确定密钥长度和密钥起始点。
密钥长度确定
通过hex(16进制)工具,来到密文的数据区域并定位到一个全局变量的最后16个字节的数据,如图3-2 数据标志:

图3-2 数据标志
通过此数据(密钥)标志往上查找相同数据的出现点并计算两者之间的长度0x7E即密钥长度见图3-3 密钥长度:

图3-3 密钥长度
密钥初始点确定
初始密钥肯定是在密文的第一个字节就参与加解密,但因为该全局变量的明文首字节并非0,所以需要找到第二(循环类推)个初始密钥的位置也就是首轮密钥使用结束位置。如图3-4 第二轮密钥初始点:

图3-4 第二轮密钥初始点
在通过已知的密钥长度获取真实的密钥,如图3-5 密钥提取:

 
图3-5 密钥提取
算法实现
通过IDA分析出的算法和密钥,通过python脚本实现,如图:3-5 解密算法:

 
图:3-6 解密算法
自动化配置解密
自动化话配置解密剩下部分也就是密文的自动化定位。在前期的IDA分析已经确定密文在于.data区段,所以只需要实现将样本的.data区段数据提取然后进一步定位解密即可!
通过多样本的对比,确定C2密文是固定在.data区段数据的0x01ec-0x02ec(见图4-1 C2密文定位)。因此只需要获取.data区段数据的0x01ec-0x02ec进行解密即可(见图4-2 自动化配置解密结果)。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载