一种基于ZeroNet构建隐蔽信道的方法及装置与流程

文档序号:19730015发布日期:2020-01-18 03:50阅读:325来源:国知局
一种基于ZeroNet构建隐蔽信道的方法及装置与流程

本发明涉及信息隐藏技术领域,尤其涉及一种基于zeronet构建隐蔽信道的方法及装置。



背景技术:

命令与控制(commandandcontrol,简称c&c)信道是隐蔽信道的一种,一般用于远程控制、文件传输等,越来越多的研究证明命令与控制信道在僵尸网络和apt攻击中扮演重要角色。研究命令与控制信道可以更好地预防僵尸网络和apt等的攻击,了解命令与控制机制,高效监测此类攻击,及时发现并制止,减少此类攻击的危害性。

目前主流的命令与控制技术包括中心化结构和点对点p2p(peertopeer)结构的。中心化结构包括irc协议技术、http协议技术。irc协议技术中,控制者可以借助免费的公共irc服务器进行命令与控制。控制者通常在irc服务器中创建一个聊天室,通过身份验证后登录该聊天室发布命令,被控制者首先加入聊天室,查看命令并解析执行。irc协议的信道部署简单,实时推送消息。http协议将其流量混杂在大量的正常请求中发布到指定web网页中,等待被控制主机访问获取。http协议隐蔽性好,不易被发现,信息下发延迟低。但是基于irc和http协议的命令与控制信道都属于中心化信道,存在着明显的单点失效等缺陷。p2p协议因其具备较好的健壮性和可扩展性,逐渐成为更受欢迎的隐蔽信道。虽然p2p协议相比irc和http协议的隐蔽信道在健壮性等方面有所改善,但是p2p的隐蔽信道在初始化时需要访问硬编码的peer-list中心节点,一旦peer-list失效,整个信道会变得很脆弱。



技术实现要素:

有鉴于此,本发明提供了一种基于zeronet构建隐蔽信道的方法及装置,用以解决现有技术中采用中心化信道会导致单点失效和采用p2p隐蔽信道在初始化时需要访问硬编码的peer-list中心节点,一旦peer-list失效,整个信道会变得很脆弱的问题。具体方案如下:

一种基于zeronet构建隐蔽信道的方法,包括:

当检测到用户主机访问目标主控网站时,判断所述用户主机是否为目标被控主机,其中,所述目标主控网站依据zeronet程序构建;所述目标被控主机安装有zeronet程序;

若所述用户主机为目标被控主机,向所述目标被控主机发布命令;

令所述目标被控主机接收所述命令并执行;

当所述命令执行完成后,接收所述目标被控主机反馈的相关信息。

上述的方法,可选的,还包括:

若所述用户主机为普通用户主机时,正常浏览所述目标主控网站的页面内容。

上述的方法,可选的,判断所述用户主机是否为目标被控主机,包括:

所述用户主机请求目标主控网站中的一个服务;

获取所述用户主机的ip地址;

将所述ip地址与所述服务中记录的各个目标ip地址进行比较。

上述的方法,可选的,令所述目标被控主机接收所述命令并执行,包括:

采用轮询机制,令所述目标被控主机周期性的访问所述目标主控网站;

在访问过程中,令所述目标被控主机接收所述主控网站发送的命令;

执行所述命令。

上述的方法,可选的,还包括:

当检测到其它被控主机访问所述目标被控主机时,将所述命令传递给所述其它被控主机。

上述的方法,可选的,当检测到用户主机访问目标主控网站时,还包括:

获取所述目标主控网站的副本文件;

将所述副本文件下载到所述用户本地。

一种基于zeronet构建隐蔽信道的装置,包括:

判断模块,用于当检测到用户主机访问目标主控网站时,判断所述用户主机是否为目标被控主机,其中,所述目标主控网站依据zeronet程序构建;所述目标被控主机安装有zeronet程序;

发布模块,用于若所述用户主机为目标被控主机,向所述目标被控主机发布命令;

接收和执行模块,用于令所述目标被控主机接收所述命令并执行;

接收模块,用于当所述命令执行完成后,接收所述目标被控主机反馈的相关信息。

上述的装置,可选的,所述判断模块包括:

请求单元,用于所述用户主机请求目标主控网站中的一个服务;

ip地址获取单元,用于获取所述用户主机的ip地址;

比较单元,用于将所述ip地址与所述服务中记录的各个目标ip地址进行比较。

上述的装置,可选的,接收和执行模块包括:

访问单元,用于采用轮询机制,令所述目标被控主机周期性的访问所述目标主控网站;

接收单元,用于在访问过程中,令所述目标被控主机接收所述主控网站发送的命令;

执行单元,用于执行所述命令。

上述的装置,可选的,所述判断模块中当检测到用户主机访问目标主控网站时,还包括:

文件获取单元,用于获取所述目标主控网站的副本文件;

下载单元,用于将所述副本文件下载到所述用户本地。

与现有技术相比,本发明包括以下优点:

本发明公开了一种基于zeronet构建隐蔽信道的方法,包括:当检测到用户主机访问目标主控网站时,判断所述用户主机是否为目标被控主机,其中,所述目标主控网站依据zeronet程序构建;所述目标被控主机安装有zeronet程序;若所述用户主机为目标被控主机,向所述目标被控主机发布命令;令所述目标被控主机接收所述命令并执行;当所述命令执行完成后,接收所述目标被控主机反馈的相关信息。上述的方法中,采用zeronet程序构建目标主控网站,并将命令发送给安装有zeronet的被控主机,既不需要通过采用中心化信道也不需要在初始化访问硬编码的peer-list中心节点,避免单点失效缺陷和peer-list失效令信道会变得脆弱的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的一种基于zeronet构建隐蔽信道的方法流程图;

图2为本申请实施例公开的一种基于zeronet构建隐蔽信道的装置结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

本发明提供了一种基于zeronet构建隐蔽信道的方法及装置,应用在基于zeronet构建隐蔽信道进行信息隐藏过程中,其中,zeronet本身也是p2p的分布式网站,zeronet的目标是开放、自由、无审查。任何用户都可以依据zeronet平台创建动态或静态的网站,网站一旦被其他用户访问就会自动保存到该用户本地作为一个新的节点,除非用户手动删除本地文件,创建者关闭网站后该网站依旧能被访问。网站被访问的用户越多,网站的p2p节点就越多。当创建者更新网站时,其他用户再次访问时也会快速实时自动增量更新。只要有一个用户在线,该网站就保持在线可以被访问,所述方法的执行流程如图1所示,包括步骤;

s101、当检测到用户主机访问目标主控网站时,判断所述用户主机是否为目标被控主机,其中,所述目标主控网站依据zeronet程序构建;所述目标被控主机安装有zeronet程序;

本发明实施例中,所述目标主控网站是基于zeronet构建的,构建的方式可以为克隆法或者命令行法。由于zeronet是分布式网站,因此,所述目标主控网站可以随时关闭,隐藏自身,降低暴露的概率,并可以将命令传播给对应的用户主机,其中,所述用户主机包含两种:普通用户主机和目标被控主机,所述目标被控主机装有zeronet程序,所述目标被控主机已经通过某种方式在不知情的情况下载了对应的代码,可以与所述目标主控网站进行通信,其中,下载的方式可以为漏洞利用、共享介质感染、社会工程学感染和口令猜解等,下载同时被植入所述目标被控主机的控制程序。控制程序包含有zeronet的下载地址和硬编码的域名(即目标主控网站),所述目标被控主机首先静默下载安装zeronet程序,然后调用zeronet程序访问硬编码的域名,即访问所述目标主控网站。所述主控网站有一个服务,当用户主机访问目标主控网站时,同时向该服务发送请求,该服务可获取所述用户主机的ip地址,并且拥有所有所述目标被控主机的ip地址,将所述ip地址与所述服务中记录的各个目标ip地址进行比较,判断所述用户主机是否为目标被控主机。

s102、向所述目标被控主机发布命令;

本发明实施例中,若所述ip地址与所述目标主控网站记录中的任意目标ip地址相同,判定所述用户主机为所述目标被控主机,向所述目标被控主机发布命令,发布命令后等待所述目标被控主机来获取。作为所述目标主控网站,保存私钥,其中,只有网站创建者才拥有私钥,用于后续网站更新时的内容签名。基于所述目标主控网站将所述命令经过编码和加密后发布,并存储于所述目标主控网站的网页中,具体的编码和加密的过程示例如下:

base64编码:

base64.b64encode(b’getandreturnyouros’)

结果:b’z2v0igfuzcbyzxr1cm4gew91cibvcw==’

对应解码:

base64.b64decode(b’z2v0igfuzcbyzxr1cm4gew91cibvcw==’)

结果:b’getandreturnyouros’

加密采用rc4算法(要引入python库arc4)

rc41=arc4.new(key)

result1=rc41.encrypt(data)

对应解密:

rc42=arc4.new(key)

result2=rc42.decrypt(data)

其中,所述命令的类型可以是执行语句或者是文件资源的下载地址等依据具体的情况进行下发,本发明实施例中对命令的类型不进行限定。

s103、令所述目标被控主机接收所述命令并执行;

本发明实施例中,采用轮询机制,令所述目标被控主机周期性的访问所述目标主控网站,在访问过程中,令所述目标被控主机接收所述主控网站发送的命令,解析所述命令,并执行所述命令,由于所述目标被控主机中安装有zeronet程序,可以通过p2p的方式在多个主机之间传播命令,即使所述目标主控网站关闭也不受影响。

s104、当所述命令执行完成后,接收所述目标被控主机反馈的相关信息;

本发明实施例中,当所述命令执行完成后,将相关信息进行反馈,其中,所述相关信息包括执行所述命令后的信息或者所述目标被控主机的基本信息等,信息反馈可以通过请求参数或者body内容的形式反馈给所述目标主控网站。所述目标主控网站接收所述目标被控主机回传的相关信息,掌握所述目标被控主机的运行状态。

请求参数形式是通过get请求方式访问服务器的,例如:在控制程序中设置好type=2是回复信息,type=1是请求命令。body内容形式就是通过post请求方式访问后台服务。在针对请求参数或者body内容的形式反馈时,当回传内容少时,可以通过请求参数形式,因为参数字符串大小有限制,如果是body形式,回传内容大小不受限制。

s105、正常浏览所述目标主控网站的页面内容。

本发明实施例中,若所述用户主机为普通用户主机时,正常浏览所述目标主控网站的页面内容。

本发明公开了一种基于zeronet构建隐蔽信道的方法,包括:当检测到用户主机访问目标主控网站时,判断所述用户主机是否为目标被控主机,其中,所述目标主控网站依据zeronet程序构建;所述目标被控主机安装有zeronet程序;若所述用户主机为目标被控主机,向所述目标被控主机发布命令;令所述目标被控主机接收所述命令并执行;当所述命令执行完成后,接收所述目标被控主机反馈的相关信息。上述的方法中,采用zeronet程序构建目标主控网站,并将命令发送给安装有zeronet的被控主机,既不需要通过采用中心化信道也不需要在初始化访问硬编码的peer-list中心节点,避免单点失效缺陷和peer-list失效令信道会变得脆弱的问题。

本发明实施例中,由于所述目标主控网站依据zeronet程序构建,因此,在当检测到用户主机访问目标主控网站时,会自动的将所述目标主控网站的副本文件下载到本地。

本发明实施例中,当所述用户主机下载得到所述副本文件后,将通过p2p的方式传播,而所述主控服务器在发布完命令一段时间后,将可以关闭本地的zeronet程序,防止身份暴露,由于其网站的内容和命令的内容已经被其它的网站保存,能够被更多的用户访问到,只要有一个所述目标主控网站的副本文件的主机在线,所述目标主控网站就可以被访问。

当所述目标主控网站再次发布新命令时,可以再启动zeronet程序,发布信息或命令,其他网站的副本文件也会实时更新网页内容,被控主机可以实时接收新的命令。由于,被控主机会采用轮询机制(已内置到控制程序中),周期性的访问网站获取新命令,如果没有新命令则返回结果为空,如果有新命令就去获取并执行。

本发明实施例中,利用zeronet的分布式网站、自由开放无审查等特点构建所述目标主控网站作为控制端服务器,利用zeronet的快速实时更新、不受单点故障影响等特点在被控主机中传播命令,建立一个隐蔽、安全、稳定的信道。

基于上述的一种基于zeronet构建隐蔽信道的方法,本发明实施例中,还提供了一种基于zeronet构建隐蔽信道的装置,所述装置额定结构框图如图2所示,包括:

判断模块201、发布模块202、接收和执行模块203和接收模块204。

其中,

所述判断模块201,用于当检测到用户主机访问目标主控网站时,判断所述用户主机是否为目标被控主机,其中,所述目标主控网站依据zeronet程序构建;所述目标被控主机安装有zeronet程序;

所述发布模块202,用于若所述用户主机为目标被控主机,向所述目标被控主机发布命令;

所述接收和执行模块203,用于令所述目标被控主机接收所述命令并执行;

所述接收模块204,用于当所述命令执行完成后,接收所述目标被控主机反馈的相关信息。

本发明公开了一种基于zeronet构建隐蔽信道的装置,包括:当检测到用户主机访问目标主控网站时,判断所述用户主机是否为目标被控主机,其中,所述目标主控网站依据zeronet程序构建;所述目标被控主机安装有zeronet程序;若所述用户主机为目标被控主机,向所述目标被控主机发布命令;令所述目标被控主机接收所述命令并执行;当所述命令执行完成后,接收所述目标被控主机反馈的相关信息。上述的装置中,采用zeronet程序构建目标主控网站,并将命令发送给安装有zeronet的被控主机,既不需要通过采用中心化信道也不需要在初始化访问硬编码的peer-list中心节点,避免单点失效缺陷和peer-list失效令信道会变得脆弱的问题。

本发明实施例中,所述判断模块201包括:

请求单元205、ip地址获取单元206和比较单元207。

其中,

所述请求单元205,用于所述用户主机请求目标主控网站中的一个服务;

所述ip地址获取单元206,用于获取所述用户主机的ip地址;

所述比较单元207,用于将所述ip地址与所述服务中记录的各个目标ip地址进行比较。

本发明实施例中,接收和执行模块203包括:

访问单元208、接收单元209和执行单元210。

其中,

所述访问单元208,用于采用轮询机制,令所述目标被控主机周期性的访问所述目标主控网站;

所述接收单元209,用于在访问过程中,令所述目标被控主机接收所述主控网站发送的命令;

所述执行单元210,用于执行所述命令。

本发明实施例中,所述判断模块201中当检测到用户主机访问目标主控网站时,还包括:

文件获取单元211和下载单元212。

其中,

所述文件获取单元211,用于获取所述目标主控网站的副本文件;

所述下载单元212,用于将所述副本文件下载到所述用户本地。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上对本发明所提供的一种基于zeronet构建隐蔽信道的方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1