13.7.1 挖掘后门文件潜在联系

黑产通常通过传播后门文件入侵主机,组织起庞大的僵尸网络。后门文件通常通过连接C&C服务器的域名来监听控制指令,后门文件中硬编码少量C&C服务器的域名,然后自动化下载最近的C&C服务器列表。通过静态分析后门文件中硬编码的域名,关联分析域名和文件之间的关系,可以挖掘出后门文件之间的潜在联系。我们使用脱敏的测试数据来挖掘后门文件之间潜在联系的原理。测试样本记录了若干组文件和C&C域名的对应关系:


md5=file1,domain=domain1
md5=file1,domain=domain2
md5=file1,domain=domain3
md5=file1,domain=domain6
md5=file2,domain=domain2
md5=file2,domain=domain3
md5=file2,domain=domain4
md5=file2,domain=domain5

·md5,后门文件md5值;

·domain,C&C域名。

逻辑上对应的拓扑结构如图13-25所示。

图13-25 后门文件潜在关系示意图

从拓扑图可以看出,后门文件file1和file2分别对应C&C域名domain1、domain2、domain3、domain6和domain2、domain3、domain4、domain5,其中domain2和domain3同时被file1和file2使用,初步怀疑邮箱file1和file1为同一黑产团体控制的后门文件,domain1~domain4均疑似黑产同时控制,并很可能是同一用途,比如DDoS。

逐行处理样本文件,获取对应的file,domain:


with open("../data/KnowledgeGraph/sample6.txt") as f:
    for line in f:
        line=line.strip('\n')
        file,domain=line.split(',')

以file为中心,添加对应的domain节点:


G.add_edge(file, domain)

可视化知识图谱:


nx.draw(G, with_labels=True, node_size=600)
plt.show()

对应知识图谱如图13-26所示。

图13-26 后门文件潜在关系的知识图谱