采用独特域名生成算法的Tofsee僵尸网络

概述

瑞士政府计算机应急响应中心(GovCERT)近日发现了Tofsee僵尸网络恶意软件的新样本,让他们感到惊讶是,Tofsee的域名竟然是由算法随机生成的,目前他们已经恢复出了算法的细节,并将未来12个月中可能出现的域名列入了黑名单。

内容

今天,我们发现了一个有趣的恶意软件样本,我们确认出这是Tofsee恶意软件,它试图在几分钟内发送数百封垃圾邮件,然而,这并不是它出现在我们视线中的原因(我们每天分析数以千计的恶意软件样本,很多都有这样的行为)。这个特定的样本引起我们注意的原因是它所使用的域名查询方法。它使用的域名似乎是用算法生成的,并且大约有一半域名是瑞士国家顶级域名(ccTLD)。

使用域名生成算法(DGAs)的恶意软件是非常罕见的。

分析

我们分析的这个Tofsee样本有一个非常新的时间戳:“2016年12月16日星期五,07:09:11”。

生成种子

下面我们来探讨DGA的具体过程。首先,计算1974年1月1日0时到现在的秒数(下图中 0x40A0A0),然后在 0x0040A0A8处,用这个值加再加上126230400秒(UNIX纪元到1974年1月1日的秒数),实际上,通过上面的步骤得到了当前的UNIX时间。目前我们尚不清楚为什么要采用这种复杂的方法获取当前UNIX时间。这个Unix时间分别再除以四个整数,分别是60,60,24和7,最后得到的是从UNIX纪元到现在的周数。这个值用作域名生成算法的种子。因此域名的有效期是一周,按UTC时间,从每周四开始。

[[180565]]

在种子生成过程中还调用了一个伪随机数发生器(PRNG),并将结果模10,得到0到9中的一个数。这个随机数发生器采用Borland C/C++编译器使用的标准线性同余算法。

[[180566]]

r2的初始值是几乎不可预测的:

DGA

每次域名生成过程,共产生10个域名。

(域名级别是网址分类的一个标准,包括顶级域名、二级域名等。一个完整的域名由二个或二个以上部分组成,各部分之间用英文的句号”.”来分隔,倒数第一个”.”的右边部分称为顶级域名(TLD),顶级域名的左边部分字符串到下个”.”为止称为二级域名(SLD),二级域名的左边部分称为三级域名,以此类推,每一级的域名控制它下一级域名的分配)

在0x040A0FC 位置,根据种子生成一个随机字符串,例如周数。随后这个随机字符串在0x040A114又被复制了一次。例如:字符串dqg在这变成了dqgdqg,这个字符串的生成细节,待会我们回过头来再细讲。

生成第一个SLD时,用上面讲到的不可预测的随机数生成算法(0到9共10个数),选取“a”到“j”之间(共10个字母)的随机字母,添加到上面的字符串后面,就生成了二级域名,如dqgdqgc.ch。然后,从选取的字母开始,DGA会依次选取a到j中的字母,比如,如果第一次选取了“c”,后面的依次就是“d”,“e”,“f”,“g”,“h”,“j”,“a”,最后是“b”,共10个域名。

前5个域名的顶级域名设为“.ch”,剩下的设置为“.biz”

下面,我们再来看一下0x040A0FC处的随机字符串(上面的dqgdqg)是怎么生成的。

这段过程使用了最开始生成的种子r(周数),例如,根据1970年1月到现在的时间,换算成周数,利用周数得出随机字符串,如下:

例如:2016年12月20日,根据UNIX纪元计算出的周数是r=2450,string1 = 2450%26+‘a’=g,r=2450/26=94,因此第一个字母是g,同时r!=0,继续循环,直到r=0时结束,最后依次得到的字母是:g、q、d。随后,随机字符串gqd被倒序为dqg。随后又被复制了一次,得到dqgdqg。

程序实现

下面是用python实现在DGA算法,根据给定的日期,能打印出所有20个可能的域名。需要注意的是,对于每一个正在运行的Tofsee恶意软件,只会用到其中的一个域名。

[[180567]]

下面是在日期设置为2016年12月20日时的所有20个可能的域名:

域名列表

下表列出了未来52周的所有可能的域名,域名中括号包含了随机扩展,如dqgdqg{a..j}.{ch,biz}代表20个不同的域名。所有的时间都采用CET(中欧时间)时间。

采取的行动

为了防止这种Tofsee僵尸网络操作者滥用瑞士域名空间(ccTLD .ch),我们和瑞士国家顶级域名注册机构已经采取了进一步的措施,所有可能的DGA域名的组合,在注册状态处已经被设置为非注册状态。因此在未来12个月,任何由DGA算法生成的域名,都不会被注册。

参考链接

https://www.easyaq.com/newsdetail/id/1946003877.shtml

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/124163.html<

(0)
运维的头像运维
上一篇2025-02-23 03:51
下一篇 2025-02-23 03:52

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注