为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

僵尸网络异常流量分析

2017-09-20 41页 doc 1MB 61阅读

用户头像

is_321575

暂无简介

举报
僵尸网络异常流量分析摘    要 随着僵尸网络的快速发展僵尸网络已经对全球的网络安全造成越来越大的威胁。 随着不安全的应用软件在计算机系统中的使用,和程序本身存在的某些漏洞,使得可供黑客利用的安全漏洞的数量呈增长趋势。近来,僵尸网络已经成为国内乃至全世界的网络安全领域最为关注的危害之一。 僵尸网络无休止的肆虐几乎已经是司空见惯,攻击者在不被用户察觉的情况下,轻而易举的就入侵了用户的计算机。利用这一平台达到各种不可告人的目的。因而,发现僵尸网络的存在对网络的安全意义重大。 本论文设计和实现了基于VMware的僵尸网络异常流量检侧平台,主要实现方法是...
僵尸网络异常流量分析
摘    要 随着僵尸网络的快速发展僵尸网络已经对全球的网络安全造成越来越大的威胁。 随着不安全的应用软件在计算机系统中的使用,和程序本身存在的某些漏洞,使得可供黑客利用的安全漏洞的数量呈增长趋势。近来,僵尸网络已经成为国内乃至全世界的网络安全领域最为关注的危害之一。 僵尸网络无休止的肆虐几乎已经是司空见惯,攻击者在不被用户察觉的情况下,轻而易举的就入侵了用户的计算机。利用这一平台达到各种不可告人的目的。因而,发现僵尸网络的存在对网络的安全意义重大。 本论文设计和实现了基于VMware的僵尸网络异常流量检侧平台,主要实现是:利用VMware软件,在一台电脑上构建6台不同操作系统的虚拟机,对6台虚拟机进行合适的适配器选择与IP设置,使得6台虚拟机组成一个虚拟局域网,在这个虚拟局域网中模拟僵尸网络攻击实验。其中“虚拟机1”模拟控制端,其他5台虚拟机模拟被控端。在模拟僵尸网络攻击时,在控制端利用Wireshark流量软件对当前主流僵尸木马进行分析与检测。通过对控制端与被控端建立联系、保持联系、发送各种命令等过程进行流量分析检测,找出僵尸网络攻击的特性,为僵尸网络异常流量检测提供依据。 僵尸网络因具有很高的隐蔽性,正在成为新型的网络攻击平台,对互联网的安全造成越来越大的威胁。为逃避检测,一方面,僵尸网络的构建者使用各种方法和,使得对此类型僵尸网络的检测越来越困难。另一方面,攻击者为使僵尸网络长期发挥网络攻击平台的作用,正积极改变构建方法,寻求此类僵尸网络的变异体。因此,对僵尸网络的构建和检测技术的了解,对预防、反制和摧毁僵尸网络有重要意义。 关键词:僵尸网络 安全漏洞 网络安全 检测技术 ABSTRACT With the rapid development of the botnet botnet have caused increasing threat of global network security. Recently, the botnet has become one of the most concerned about the dangers of the field of network security for the country and the world. With the use of unsafe applications in computer systems, and procedures inherent in certain loopholes, making the number of security vulnerabilities for hackers to use an increasing trend. Botnet endless raging almost commonplace, and the attacker in the case of not being perceived by the user, easy invasion of the user's computer. Use this platform to a variety of ulterior motives. By and thus, the the existence of of found that zombie network appeared the safety of right the network is of great significance. In this thesis, design and implementation of VMware botnet abnormal traffic inspection side of the platform, the main method is: build six different operating systems using virtual machine software, virtual machine, to form a virtual local area network, botnet remote to simulate a virtual LANattack experiments. The "virtual machine" analog control side, the simulation host of the other five sets of virtual machines.Wireshark traffic analysis software to detect the console to establish contact with the host, keep in touch, sending a variety of command process flow analysis in the control end, to identify the characteristics of botnet attacks, and provide the basis for the botnet traffic anomaly detection. AlphaBotnets with high hidden, is becoming a new type of network attacks platform, caused by a growing threat to the security of the Internet. Increasingly difficult to evade detection, on the one hand, the construction of the botnet using various methods and protocols, making this type of botnet detection. On the other hand, the attacker botnets long-term play the role of network attacks platform and is actively looking to change the construction method, to seek such botnet variants. Therefore, the understanding of botnets and detection technology, for the prevention, counter and destroy the botnet significance. Keywords:  Botnet  Security vulnerabilities  Network Security  Detection technology 目录 摘    要    I ABSTRACT    II 1    引言    1 1.1    僵尸网络异常流量检测的目的和意义    1 1.2    研究方法和手段    2 2    僵尸网络简介    3 2.1    僵尸网络原理    3 2.1.1    基于IRC控制方式的僵尸网络原理    3 2.1.2    基于HTTP协议的原理    4 2.1.3    基于P2P通信方式原理    4 2.2    僵尸网络的攻击手段    5 2.2.1    僵尸网络的攻击特性    5 2.2.2    僵尸网络的三种类型    5 2.3    僵尸网络的发展历程    6 2.4    僵尸网络的危害及其受关注度    7 2.4.1    僵尸网络的危害    7 2.4.2    僵尸网络的受关注度    7 2.5    僵尸网络的研究现状    8 2.6    僵尸网络的特性及研究方法    9 2.6.1    僵尸网络的特性    9 2.6.2    僵尸网络的研究方法    10 2.6.3    僵尸网络的检测方法    10 3    Wireshark的使用方法    12 3.1    Wireshark的简介及使用目的    12 3.1.1    Wireshark简介    12 3.1.2    Wireshark使用目的    12 3.2    使用WireShark捕获和分析数据包    12 3.2.1    捕获数据    12 3.2.2    分析数据包    14 4    基于虚拟局域网的网络实验环境    16 4.1    虚拟机组网流程    16 4.1.1    创建虚拟机    17 4.1.2    设置虚拟机    18 4.2    在虚拟网络中进行远程控制实验    21 4.2.1    实验准备    21 4.2.2    远控Netbot Attacher功能分析    23 4.2.3    大白鲨远控功能分析    27 5    僵尸网络异常流量分析    30 5.1    IM僵尸异常流量分析    30 5.1.1    连接建立过程分析    30 5.1.2    连接无法建立情况分析    31 5.1.3    恶件部分功能特征分析    31 5.2    大白鲨异常流量分析    33 5.2.1    连接建立过程分析    34 5.2.2    连接无法建立情况分析    34 5.2.3    恶件部分功能特征分析    35 5.3    恶羊远控异常流量分析    36 5.3.1    连接建立过程分析    36 5.3.2    连接无法建立情况分析    37 5.3.3    恶件部分功能特征分析    37 5.4    黑客学习基地异常流量分析    38 5.4.1    连接建立过程分析    38 5.4.2    连接无法建立情况分析    39 5.4.3    恶件部分功能特征分析    39 5.5    上兴异常流量分析    40 5.5.1    连接建立过程分析    41 5.5.2    连接无法建立情况分析    42 5.5.3    恶件部分功能特征分析    42 5.6    远方远控异常流量分析    43 5.6.1    连接建立过程分析    44 5.6.2    连接无法建立情况分析    45 5.6.3    恶件部分功能特征分析    45 6    总结    47 致 谢    48 参考文献    49 1 引言 1.1 僵尸网络异常流量检测的目的和意义 随着僵尸网络的快速发展,僵尸网络已经成为国内乃至全世界的网络安全领域最为关注的危害之一,近年来,随着互联网的不断普及和我国网民数量的不断增加,僵尸网络(Botnet)问题也越来越受到人们的关注。尤其是在2004年我国首例僵尸网络攻击事件发生之后,人们开始消楚地意识到,僵尸网络作为危害性极强的新型攻击手段,已不是一个简单的病毒或者木马,而是一个攻击平台,攻击者不仅可以使用这个平台来进行多种攻击,还可以利用它传播其他病毒木马等恶意程序。随着表面看似用户友好却并不安全的应用软件在计算机系统中使用,黑客们建立灵活体系架构方面也变得愈发狡猾。程序存在某些非技术漏洞,可供黑客利用的安全漏洞的数量呈增长趋势。     在这种情况下,传统的基于主机的检测手段(包括防病毒软件、个人防火摘等)虽然可以有效地查杀木马、病毒等僵尸程序,可以抵挡一些网络攻击,但是近几年出现的某些杀毒软件的误删事件,证明基于主机的检测手段在防范和检测木马、病毒等僵尸程序时己经力不从心。     安装在僵尸主机上的僵尸客户端为了隐藏自己,除了在文作、进程等方面隐藏自己外,还会在数据包层面隐藏自己,将特征串缩短,并分散于多个数据包中。这使得传统的通过数据包过滤来检测僵尸主机的方法很难奏效,精确度也大幅下降。 网管人员可以随时查看实时数据和历史数据,实现了数据包特征的描述和存储。对僵尸网络的异常流量分析,提高了系统的易用性,在发现新的僵尸木马程序的通信数据包特征后,可以很方便地将新特征添加到检测系统中去。 僵尸木马在互联网上的泛滥导致大量个人隐私信息和重要数据的失窃,给个人带来严重的名誉和经济损失,同时僵尸木马还越来越多地被用来窃取国家秘密和工作秘密,给国家和企业带来无法估量的损失。僵尸网络主要被利用发起拒绝服务(DDOS)攻击、发送垃圾邮件、传播恶意代码,以及窃取受感染主机中的敏感信息,而由僵尸网络发出的大流量、分布式DDOS攻击是目前公认的世界难题,不仅严重影响互联网企业的运作,而且严重威胁着我国互联网基础设施的运行安全。 僵尸网络几乎已经是司空见惯,攻击者在不被用户察觉的情况下,轻而易举的就入侵了用户的计算机。为了保证互联网及其设施的安全和稳定,迫切需要应对和遏制恶意代码在互联网上肆意传播的局面,并且能有效地检测己经存在的恶意代码、僵尸网络等不安全因素,这一方面可以保证我国在网络上开展的各种活动和服务的正常运行,保证我国信息产业的长期稳定发展,同时对我国国防安全和战略部署有着极其重要的意义。因而,发现僵尸网络的存在对网络的安全意义重大。 1.2 研究方法和手段 本论文设计和实现了基于VMware的僵尸网络异常流量检侧平台,用vmware组建6台虚拟机,装上不同的系统,对6台虚拟机进行合适的适配器选择与IP设置,使其构建成虚拟局域网。把其中的一台虚拟机当作控制端,其余5台虚拟机当作被控端,用以模拟僵尸网络的远程控制。然后用wireshark等检测工具对所建的虚拟局域网进行抓包分析。 用虚拟机构建的平台具有易操作的特点。能对当前主流的僵尸远控进行分析检侧,检测能力较强,并能详细的获取系统行为和网络行为,对网络犯罪行为进行调查取证。通过获取僵尸木马的网络行为,可以进一步查到僵尸木马的城名或者IP,最后通过到相关的互联网运营部门查询该城名或IP的使用人情况,找出实施木马攻击的幕后黑手。 2 僵尸网络简介 2.1 僵尸网络原理 Botnet的工作原理是一个很复杂的问题,为了清晰准确的描述这个问题,可以将Botnet的生命周期分为传播过程、感染过程、加入网络、再传播过程、接受控制等阶段。就其工作原理大体可以分为基于IRC控制方式的僵尸网络原理、基于HTTP协议的原理、基于P2P通信方式原理。 2.1.1 基于IRC控制方式的僵尸网络原理 图2-1 IRC控制方式 IRC协议采用C/S模式,用户可以通过客户端连接到IRC服务器,建立、选择并加入感兴趣的频道,每个用户都可以将消息发送给频道内所有其他用户,也可以单独发给某个用户。频道的管理员可以设置频道的属性,例如:设置密码、设置频道为隐藏模式。 如图2-1所示,攻击者首先通过各种传播方式使得目标主机感染僵尸程序。通常编写自己的僵尸程序,它只支持部分IRC命令,并将收到的消息作为命令进行解释执行。编写好僵尸程序,建立起自己的IRC服务器后,攻击者会采用不同的方式将僵尸程序植入用户计算机,例如:通过蠕虫进行主动传播、利用系统漏洞直接侵入计算机、通过电子邮件或者即时聊天工具,欺骗用户下载并执行僵尸程序、利用IRC协议的DCC命令,直接通过IRC服务器进行传播,还可以在网页中嵌入恶意代码等待用户浏览等。 当bot在被感染计算机上运行后,以一个随机的匿名和内置密码连接到特定的IRC服务器,并加入指定的频道。 攻击者普遍使用动态域名服务将僵尸程序连接的域名映射到他所控制的多台IRC服务器上,从而避免由于单一服务器被摧毁后导致整个僵尸网络瘫痪的情况。 僵尸程序加入到攻击者私有的IRC命令与控制信道中。加入信道的大量僵尸程序监听控制指令。 攻击者随时登陆该频道,并发送认证消息,认证通过后,随即向活跃的僵尸程序(或者暂时非活跃的僵尸程序)发送控制指令。bot读取所有发送到频道的消息或者是频道的标题,如果是已通过认证的攻击者的可识别的指令,则立即执行。通常这些指令涉及更新bot程序、传输或下载指定文件、远程控制连接、发起拒绝服务攻击、开启代理服务器等等。 僵尸程序接受指令,并调用对应模块执行指令,从而完成攻击者的攻击目标。 通过上面的过程,攻击者把原本不相关的很多主机关联到一起,发起信息盗取,攻击等操作。 2.1.2 基于HTTP协议的原理 由于IRC有特定端口和特定的特征,所以容易被跟踪和发现,这样就出现了另外一种方式,基于HTTP的方式。这种方式和IRC方式差别不大,只是把IRC服务器换成了HTTP服务器。 2.1.3 基于P2P通信方式原理 图2-2 P2P通信方式 如图2-2所示,p2p僵尸网络没有固定服务器做主机,分散式主机。P2P僵尸网络或者使用已存在的P2P协议,或者使用自定义的 P2P协议。由于 P2P 网络本身具有的对等节点特性,在 P2P僵尸网络中不存在只充当服务器角色的僵尸网络控制器 ,而是由僵尸程序同时承担客户端和服务器的双重角色。每个僵尸主机(节点)接受攻击者的命令时扮演的是客户端角色。同时 ,它把接收到的命令传播到其它节点,这时扮演的是服务端角色。P2P僵尸网络目前还没有固定的形式,有多种形式,例如:分层构建、分片构建等。僵尸主机中又分为两种:一种是有公网IP,另一种没有公网IP。没有公网IP的主机只能做被控主机。 2.2 僵尸网络的攻击手段 2.2.1 僵尸网络的攻击特性 僵尸网络采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。 攻击者通过各种途径传播僵尸程序感染互联网上的大量主机,而被感染的主机将通过一个控制信道接收攻击者的指令,组成一个僵尸网络。从而通过组成的僵尸网络实施各种攻击活动。 僵尸网络(Botnet)是攻击者出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络,也就是说,僵尸网络至少由三部分组成:控制端、传播网络和受控端(僵尸)。其中,控制端角色一般由黑客或非法组织来扮演,他们为了达到炫耀自身技术或其他经济利益,通过网页挂马、邮件附件等各种可被利用的方式来散布僵尸木马程序.无辜用户主机在感染了僵尸木马程序之后,木马程序通过一些极其隐蔽的方式在主机上开启“后门”,使得用户主机成为受控端,控制端通过传播网络向受控端发送指令,操纵僵尸网络中的受控端发起网络攻击。 僵尸网络是从传统恶意代码形态包括网络蠕虫、计算机病毒、木马和后门软件的基础上进化,并通过相互融合发展而成的相对更加复杂的攻击方式之一。就目前的研究状况,学术界广泛承认存在的共有三种类型的僵尸网络。 2.2.2 僵尸网络的三种类型 (1)基于IRC协议的僵尸网络 攻击者在公开或者秘密设置的IRC聊天服务器中开辟私有聊天频道作为控制频道,僵尸程序中预先包含了服务器IP地址和频道名称等信息,当僵尸主机运行到一定状态,僵尸程序会自动寻找和连接这些频道,收取频道中的控制信息,攻击者则通过控制频道向所有连线的僵尸程序发送指令.计算机受到病毒或木马等恶意代码的感染后成为僵尸,僵尸经常连接到一个IRC网络,加入一个控制者操纵的频道,等待控制者的命令,在何时进行什么样的攻击。僵尸网络包含成千上万的主机形成分布式的强有力的攻击,使得攻击难以预防。所以预防计算机感染僵尸程序或者关闭控制中心都能有效地阻止僵尸网络的形成.例如GT bot, Sdbot, Agobot和Spybot是四个主流的IRC程序。 (2)基于HTTP协议的僵尸网络 HTTP僵尸网络与IRC僵尸网络的功能结构相似,所不同的只是HTTP僵尸网络控制方式是以Web网站构建的,而相应地,僵尸程序中的僵尸主机通过HTTP协议向控制器注册并获取控制命令。一个典型的例子是于2004年5月出现的Bobax僵尸程序。 (3)基于P2P技术的僵尸网络 无论是基于IRC协议还是基于HTTP协议,由于僵尸主机都依赖于中心结点,需要从中心结点来获取命令和上传信息,因此存在单点失效的问题,即一旦僵尸网络所依存的中心结点被发现并被控制,那么整个僵尸网络将无法工作。P2P (peer to peer)技术的出现解决了这一问题。P2P技术也被称为对等网络技术,它采用分布式结构,以分布式资源共享和并行传输的特点被广泛应用于流媒体通信领域。 P2P僵尸网络利用P2P协议实现自身扩散和控制主机之间的相互通讯,攻击者作为对等网络中的任一台主机,只要将控制命令在网络中进行广播就可以操纵网络中的僵尸发起攻击。 1.1 僵尸网络的发展历程 在早期的IRC聊天网络中,管理员为了防止频道被滥用,更好地管理权限、记录频道事件等一系列功能,编写了智能程序来完成这一系列的服务。1993年,在IRC聊天网络中出现了Bot工具——Eggdrop,这是第一个bot程序,能够帮助用户方便地使用IRC聊天网络。这种bot的功能是良性的,是出于服务的目的,然而这个设计思路却为黑客所利用,他们编写出了带有恶意的Bot工具,开始对大量的受害主机进行控制,利用他们的资源以达到恶意目标。Botnet是随着自动智能程序的应用而逐渐发展起来的。 20世纪90年代末,随着分布式拒绝服务攻击概念的成熟,出现了大量分布式拒绝服务攻击工具如TFN、TFN2K和Trinoo,攻击者利用这些工具控制大量的被感染主机,发动分布式拒绝服务攻击。而这些被控主机从一定意义上来说已经具有了Botnet的雏形。 1999年,在第八届DEFCON年会上发布的SubSeven 2.1版开始使用IRC协议构建攻击者对僵尸主机的控制信道,也成为第一个真正意义上的bot程序。随后基于IRC协议的bot程序的大量出现,如GTBot、Sdbot等,使得基于IRC协议的Botnet成为主流。 2003年之后,随着蠕虫技术的不断成熟,bot的传播开始使用蠕虫的主动传播技术,从而能够快速构建大规模的Botnet。著名的有2004年爆发的Agobot/Gaobot和rBot/Spybot。同年出现的Phatbot则在Agobot的基础上,开始独立使用P2P结构构建控制信道。至于目前网络上流传的bot,更是各种情况传播手段的混合体,如结合病毒、木马、蠕虫、间谍软件、搜索引擎等传播手段。黑客对僵尸程序不断进行创新和发展,如使用加密控制信道、使用P2P网络传播、使用Http隧道加密、定期更新bot程序的免杀功能等,使得我们对僵尸网络的发现、跟踪和反制更加困难了。 1.2 僵尸网络的危害及其受关注度 1.2.1 僵尸网络的危害 (1)拒绝服务攻击 使用Botnet发动DDos攻击是当前最主要的威胁之一,攻击者可以向自己控制的所有bots发送指令,让它们在特定的时间同时开始连续访问特定的网络目标,从而达到DDos的目的。由于Botnet可以形成庞大规模,而且利用其进行DDos攻击可以做到更好地同步,所以在发布控制指令时,能够使得DDos的危害更大,防范更难。 (2)发送垃圾邮件 一些bots会设立sockv4、v5 代理,这样就可以利用Botnet发送大量的垃圾邮件,而且发送者可以很好地隐藏自身的IP信息。 (3)窃取秘密 Botnet的控制者可以从僵尸主机中窃取用户的各种敏感信息和其他秘密,例如个人帐号、机密数据等。同时bot程序能够使用sniffer观测感兴趣的网络数据,从而获得网络流量中的秘密。 (4)滥用资源 攻击者利用Botnet从事各种需要耗费网络资源的活动,从而使用户的网络性能受到影响,甚至带来经济损失。例如:种植广告软件,点击指定的网站;利用僵尸主机的资源存储大型数据和违法数据等,利用僵尸主机搭建假冒的银行网站从事网络钓鱼的非法活动。 可以看出,Botnet无论是对整个网络还是对用户自身,都造成了比较严重的危害,我们要采取有效的方法减少Botnet的危害。 1.2.2 僵尸网络的受关注度 随着僵尸网络快速发展,成为国内乃至全世界的网络安全领域最为关注的危害之一。从良性bot的出现到恶意bot的实现,从被动传播到利用蠕虫技术主动传播,从使用简单的IRC协议构成控制信道到构建复杂多变P2P结构的控制模式,Botnet逐渐发展成规模庞大、功能多样、不易检测的恶意网络,给当前的网络安全带来了不容忽视的威胁。 Botnet构成了一个攻击平台,利用这个平台可以有效地发起各种各样的攻击行为,可以导致整个基础信息网络或者重要应用系统瘫痪,也可以导致大量机密或个人隐私泄漏,还可以用来从事网络欺诈等其他违法犯罪活动。下面是已经发现的利用Botnet发动的攻击行为。随着将来出现各种新的攻击类型,Botnet还可能被用来发起新的未知攻击。 黑客不断利用僵尸网络进行对某目标网站进行DDos攻击,同时发送大量的垃圾邮件,短时间内窃取大量敏感信息、抢占系统资源进行非法目的牟利等行为,引起了国内安全公司的关注。最先关注Botnet的是反病毒厂商,它们从bot程序的恶意性出发,将其视为一种由后门工具、蠕虫、Spyware等技术结合的恶意软件而归入了病毒的查杀范围。著名的各大反病毒厂商都将几个重要的bot程序特征码写入到病毒库中。一些安全厂商定期发布恶意软件的安全趋势分析报告。 1.3 僵尸网络的研究现状 对于Botnet的研究是最近几年才逐渐开始的,从反病毒公司到学术研究机构都做了相关的研究工作。赛门铁克从2004 年开始,在其每半年发布一次的安全趋势分析报告中,以单独的章节给出对Botnet活动的观测结果。卡巴斯基也在恶意软件趋势分析报告中指出,僵尸程序的盛行是2004年病毒领域最重大的变化。 学术界在2003年开始关注Botnet的发展。国际上的一些蜜网项目组和蜜网研究联盟的一些成员使用蜜网分析技术对Botnet的活动进行深入跟踪和分析,Botnet的一个主要威胁是作为攻击平台对指定的目标发起DDos(分布式拒绝服务攻击)攻击,所以DDos的研究人员同样也做了对Botnet的研究工作。由国外DDosVax组织的“Detecting Bots in Internet Relay Chat Systems”项目中,分析了基于IRC协议的bot程序的行为特征,在网络流量中择选出对应关系,从而检测出Botnet的存在。该组织的这个研究方法通过在plantlab中搭建一个Botnet的实验环境来进行测试,通过对得到的数据进行统计分析,可以有效验证关于Botnet特征流量的分析结果,但存在着一定的误报率。 国内在2005年时开始对Botnet有初步的研究工作。北京大学计算机科学技术研究所在2005年1月开始实施用蜜网跟踪Botnet的项目,对收集到的恶意软件样本,采用了沙箱、蜜网这两种各有优势的技术对其进行分析,确认其是否为僵尸程序,并对僵尸程序所要连接的Botnet控制信道的信息进行提取,最终获得了60,000 多个僵尸程序样本分析报告,并对其中500多个仍然活跃的Botnet进行跟踪,统计出所属国分布、规模分布等信息。 我国国内网上的Botnet的威胁比较严重,需要引起网络用户的高度重视。 CCERT恶意代码研究项目组在2005年7月开始对Botnet的研究工作,通过对大量已经掌握的Botnet的实际跟踪与深入分析,对基于IRC协议的Botnet的服务器端的特征进行了分类提取,形成对于Botnet 服务器端的判断规则,从而可以对网络中的IRC Server进行性质辨别。设计并初步实现了Botnet自动识别系统,应用于中国教育和科研计算机网络环境中。 可以看出,从国内到国外,自2004年以来对Botnet的研究越来越多地受到网络安全研究人员的重视,研究工作已经大大加强。但是这些工作还远远不够,在检测和处置Botnet方面还有许多工作要做。 1.4 僵尸网络的特性及研究方法 1.4.1 僵尸网络的特性 僵尸木马在设计时,为了使最终安装在受害主机上的木马程序不被用户和防病毒软件发现,黑客采取了多种手段来对这些木马程序本身及其行为进行隐藏。 (1)端口隐藏 为了能接受来自网络的命令,僵尸木马程序需要打开主机上的一个端口进行通信,而使用“netstat”等网络命令可以查看主机上已打开的所有端口.于是为了不被用户轻易发觉,僵尸木马往往使用端口重用技术来隐藏自身。僵尸木马找到一个被其他安全进程打开的端口,对其进行监听,只在收到特殊的指令后才被激活,从事破坏活动。 (2)进程隐藏 进程隐藏是指把木马写入系统驱动和内核程序中,通过拦截系统调用的服务,用替代系统功能(改写驱动程序或动态链接库)或者嵌入插件的方法,来达到隐藏自身的目的,逃过系统对木马的监测。 (3)反弹连接 一般情况下,防火墙对于外网连入的连往会进行非常严格的过滤,但是对于连出的连接却疏于防范。于是,出现了与一般木马工作原理相反的反弹式(主动式)木马,即:受控端主动连接控制端,而不是被动的等待控制端发送控制命令。 (4)溢出和渗透 由于程序设计的原因(比如数组越界等等),很多操作系统和应用程序都存在着溢出漏洞,而它们的原理基本是相似的.只要控制端把指令以代码的方式发送给有溢出漏洞的程序,被控端执行后,就实现了远程控制.由于溢出的代码执行是在正常的进程和服务内部“安全地”进行的,因此很容易实现隐蔽性。 1.4.2 僵尸网络的研究方法 对于目前比较流行的基于IRC协议的Botnet的研究方法,主要使用蜜网技术、网络流量研究以及IRC Server识别技术。 (1)使用蜜网技术 蜜网技术是从bot程序出发的,可以深入跟踪和分析Botnet的性质和特征。主要的研究过程是,首先通过密罐等手段尽可能多地获得各种流传在网上的bot程序样本;当获得bot程序样本后,采用逆向工程等恶意代码分析手段,获得隐藏在代码中的登录Botnet所需要的属性,如Botnet服务器地址、服务端口、指定的恶意频道名称及登录密码,以及登录所使用到的用户名称,这些信息都为今后有效地跟踪Botnet和深入分析Botnet的特征提供了条件。在具备了这些条件之后,使用伪装的客户端登录到Botnet中去,当确认其确实为Botnet后,可以对该Botnet采取相应的措施。 (2)网络流量研究 网络流量的研究思路是通过分析基于IRC协议的Botnet中僵尸主机的行为特征,将僵尸主机分为两类:长时间发呆型和快速加入型。具体来说就是僵尸主机在Botnet中存在着三个比较明显的行为特征,一是通过蠕虫传播的僵尸程序,大量的被其感染计算机会在很短的时间内加入到同一个IRC Server中;二是僵尸计算机一般会长时间在线;三是僵尸计算机作为一个IRC聊天的用户,在聊天频道内长时间不发言,保持空闲。将第一种行为特征归纳为快速加入型,将第二、三种行为特征归纳为长期发呆型。 研究对应这两类僵尸计算机行为的网络流量变化,使用离线和在线的两种分析方法,就可以实现对Botnet的判断。 (3)IRC技术 通过登录大量实际的基于IRC协议的Botnet的服务器端,可以看到,由于攻击者为了隐藏自身而在服务器端刻意隐藏了IRC服务器的部分属性。同时,通过对bot源代码的分析看到,当被感染主机加入到控制服务器时,在服务器端能够表现出许多具有规律性的特征。通过对这些特征的归纳总结,就形成了可以用来判断基于IRC协议的Botnet的服务器端的规则,这样就可以直接确定出Botnet的位置及其规模、分布等性质,为下一步采取应对措施提供有力的定位支持。 1.1.1 僵尸网络的检测方法 目前国内外的僵尸网络检测技术可以分为三类:基于蜜罐的检测方法、基于异常的检测方法和基于流分类技术的检测方法。 (1)基于蜜罐的检测方法 蜜罐技术通过模拟真实主机来诱骗攻击者,从而捕获僵尸程序样本,然后通过逆向工程等手段获取并分析隐藏在代码中的僵尸网络相关信息。蜜罐系统可以记录黑客进入系统的所有信息,同时还具有混淆黑客攻击目标的能力,可用来保护蜜罐主机的正常运行。按照蜜罐实现时,允许操作系统与入侵者交互的复杂程度,蜜罐系统可以划分为低交互级蜜罐系统、中交互级蜜罐系统和高交互级蜜罐系统。蜜罐技术可以检测未知类型的僵尸程序,但是部署成本较高,而且对于已经停止传播的僵尸网络无法检测。蜜罐系统还用于捕获恶意代码和跟踪僵尸网络。此外,蜜罐系统还必须能够较好地伪装自己以不被攻击者识破。 (2)基于网络异常的检测方法 此类方法着眼于僵尸网络中的受控主机(僵尸)在接受来自控制端的命令、发起攻击或进行扫描以求扩散恶意代码等的行为与其他正常网络应用的不同,但由于忽略数据流的具体内容而造成误报漏报率较高,而且有可能局限于特定结构的僵尸网络,不能实时检测。 (3)基于流分类技术的检测方法 与基于网络异常的检测方法不同,基于流分类技术的僵尸网络检测方法主要根据数据流的特点将其区分为各种网络应用,包括正常的和异常的.该类方法大多误报漏报率较低,其难点在于找到合适的依据对网络数据流进行分类。 表格2-1对上述几种类型的僵尸网络检测方法做了简单对比: 表格 2-1 检测方法 空间开销 误漏报 发现未知僵尸 检测停止传播的僵尸网络 反侦察 实时检测 蜜罐 HoneyBow 高 低 √ × 需要 √ 异常分析 Botminner 低 高 √ √ 不需要 × SOM模型 中 高 √ √ 不需要 × 流分类 多阶段流模型 低 中 √ √ 不需要 √ 流聚合 低 中 √ √ 不需要 √ 单包特征过滤 低 高 × √ 不需要 √ 组特征过滤 中 低 × √ 不需要 √ 2 Wireshark的使用方法 2.1 Wireshark的简介及使用目的 2.1.1 Wireshark简介 Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。 网络封包分析软件的功能可想像成 “电工技师使用电表来量测电流、电压、电阻”的工作,只是将场景移植到网络上,并将电线替换成网络线。在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件。Wireshark的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Wireshark是目前全世界最广泛的网络封包分析软件之一。 2.1.2 Wireshark使用目的 网络管理员使用Wireshark来检测网络问题,网络工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。 Wireshark不是入侵侦测软件。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。 2.2 使用WireShark捕获和分析数据包 2.2.1 捕获数据 安装并运行Wireshark开始捕获数据包,如图3-1所示点击第二行的start开始捕获数据包。 图 3-1 开始捕获数据包 几分钟后就捕获到许多的数据包了,主界面如图3-2所示: 图32 Wireshark的捕获界面 如图3-2所示,可看到很多捕获的数据。第一列是捕获数据的编号;第二列是捕获数据的相对时间,从开始捕获算为0.000秒;第三列是源地址,第四列是目的地址;第五列是数据包的信息。选中第一个数据帧,然后从整体上看看Wireshark的窗口,主要被分成三部分。上面部分是所有数据帧的列表;中间部分是数据帧的描述信息;下面部分是帧里面的数据。 2.2.2 分析数据包 在图3-3中Filter后面的编辑框中输入:arp(注意是小写),然后回车或者点击“Apply”按钮 图 33 筛选数据包 现在只有ARP协议了,其他的协议数据包都被过滤掉了。注意到中间部分的三行前面都有一个“+”,点击它,这一行就会被展开。如图3-4所示: 图 34 过滤后的信息 (1)现在展开第一行 看到的结果如图3-5: 图 35 第一行展开内容 在图3-5中我们看到帧的编号、帧的大小、帧被捕获的日期和时间、帧距离前一个帧的捕获时间差、帧距离第一个帧的捕获时间差、帧装载的协议的一些基本信息。 (2)展开第二行 图 36 第二行展开内容 在图3-6我们可以看到目的地址、源地址、帧中封装的协议类型、Trailer的一些基本信息。 (3)展开第三行 图 37 第三行展开内容 第三行是地址解析协议,可以看到硬件类型、协议类型、硬件大小、协议大小、发送方MAC地址、发送方IP地址、目的MAC地址、目的IP地址的一些基本信息。如图3-7。 3 基于虚拟局域网的网络实验环境 虚拟机是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。然而,它只是运行在物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就是一台真正计算机。因此,当在虚拟机中进行软件评测时,可能系统一样会崩溃;但是,崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的恢复功能,可以马上恢复虚拟机到安装软件之前的状态。 VMware 可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare同时运行多个操作系统在主系统的平台上,就象Windows应用程序那样切换。而且每个操作系统都可以进行虚拟的分区、配置而不影响真实硬盘的数据,甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少,因此,比较适合学习和测试。 使我们可以在同一台PC机上同时运行Windows NT、Linux、Windows 9x、FreeBSD……可以在使用Linux的同时,即时转到Windows中运行Word。如果要使用Linux,只要轻轻一点,又回到Linux之中。就如同你有两台计算机在同时工作。实现的工具就是:虚拟计算平台——VMware。 3.1 虚拟机组网流程 通过虚拟机VMware组建局域网,虚拟机5通过nat适配器(虚拟机默认适配器为vmnet8)连接到主机上,同时将vmnet1适配器接到虚拟机5上,虚拟机1、2、3、4和6通过vmnet1适配器连接到虚拟机5上。虚拟机5相当于装有双网卡的计算机,一个网卡连接主机,另一个网卡连接其他虚拟机。这样,若虚拟机5不开机,则虚拟机1、2、3、4、6不能连接到外部网络。其流程图如图4-1。 图 41 用虚拟机建的虚拟局域网图 3.1.1 创建虚拟机 安装VMware Workstation的要求并不太高,但要能同时流畅运行几个操作系统,建议配置为:CPU:Pentium 4或者Athlon 64以上,内存:2G以上,硬盘空间:160G以上。 在Vmware虚拟机上安装系统命名为虚拟机1,然后克隆5台虚拟机,分别命名为虚拟机1至6,如图4-2。 图 42 虚拟机的建立 3.1.2 设置虚拟机 对虚拟机的网络适配器进行设置。虚拟机1、2、3、4、6的设置相同,都是把默认的网络适配器nat适配器,改为vmnet1,如图4-3。 图 43 虚拟机1适配器设置 对虚拟机5的网络适配器进行设置。首先打开虚拟机5的设置对话框,可以看到默认连接的网络适配器为nat适配器,再添加一个适配器vmnet1,其他虚拟机都接入vmnet1适配器。如图4-4。 图 44 虚拟机5适配器设置 打开虚拟机1、2、3、4、5、6的电源,在虚拟机5中打开IE浏览器发现能够上网,因为它接了nat适配器。只要主机能够上网,虚拟机5就能够上网。但虚拟机1、2、3、4、6就不能上网,虚拟机1、2、3、4、6是连在虚拟机5上的,因此只有虚拟机5开机并且虚拟机5的网络连接设为共享并且合理配置虚拟机1、2、3、4、6的ip时才能够上网,如图4-5。 图45 连接共享设置 设置虚拟机5的网络共享后,本地连接出现了共享图标,如图4-6,此时虚拟机的本地连接2的默认ip为192.168.0.1,子网掩码为255.255.255.0,如图4-7。 图 46 设置后的共享图标 图 47 本地连接3的ip 为虚拟机1、2、3、4、6设置网络,让其连到Internet上,由于虚拟机1、2、3、4、6连到了vmnet1上,vmnet1 的属性如图4-8。 图48 vmnet 的属性 这时的虚拟机1、2、3、4、6还不能上网,因为vmnet1是host-only适配器,连接到上面的虚拟机需要设置参数,其参数如图4-7。将虚拟机1、2、3、4、6的ip设置与vmnet1同网段,gateway设置成vmnet1的ip,其余设置与vmnet1相同,dns设置与主机相同。虚拟机1的IP配置如图4-9。 图 49 vmnet1的参数 1.1 在虚拟网络中进行远程控制实验 1.1.1 实验准备 在每台虚拟机上都装上冰冻精灵和飞鸽传书软件。装冰冻精灵能让系统每次试验后重启就能回到初始状态,保证每次实验不受到上次试验的干扰。飞鸽传书用于在组建的虚拟局域网中传输数据,能将控制端生成的东西传到被控端。如图4-10、4-11。 图 410 飞鸽传书主界面 图 411 装上冰冻精灵的桌面 实验环境信息 控制端IP:192.168.0.2 被控制端IP: 192.168.0.1  操作系统:windows XP professional 192.168.0.2  操作系统:windows XP professional 192.168.0.3  操作系统:windows server 2003 192.168.0.4  操作系统:windows 2000 professional 192.168.0.5  操作系统:windows 7 192.168.0.6  操作系统:windows XP professional 在控制端安装Wireshark软件,用于对远控过程进行流量监测,发现远控过程的异常,作为监测僵尸网络异常流量的依据。如图4-12。 图 412 Wireshark抓包主界面 1.1.2 远控Netbot Attacher功能分析 Netbot Attacher的界面 图 413 Netbot  Attacker主界面 单击“生成器.exe”,弹出服务端配置对话框。如图4-14。 图414 生成器 图 415、服务端配置 将IP/端口一栏写入192.168.0.2:8080,监听端口设置为8080。其他项保持默认,确定无误后单击生成服务端,即可生成被控端程序,如图4-16。 图 416 生成的服务端 将配置好的程序通过飞鸽传书发送到其他虚拟机上,并单击,即可在控制端看到被控端上线的信息。如图4-17。 图 417 有上线被控端的界面 可以看出,能显示被控端主机的IP地址/端口、计算机名、所在地域、操作系统类型、内存等被控端主机信息,还可以在控制端对被控端进行DDOS攻击、文件传输、程序设置等命令。 选择一个主机右击即可完成对远程主机的操作命令。如图4-18。 图 418 右键管理功能 可以对远程主机的文件、进程、注册表等进行管理。单击盘符,可以打开远程主机的磁盘,对其文件进行查看、管理。如图4-19。 图419 文件查看 选择某个文件点鼠标右键,可以对远程主机的文件进行远程运行、下载等操作。如图4-20。 图 420 文件管理 以上的一些远控过程可以通过Wireshark软件进行抓包检测,对远控过程的我数据包进行分析,找出共性并分析异常情况。如图4-21。 图 421 对远控过程的抓包 1.1.3 大白鲨远控功能分析 大白鲨的界面 图 422 大白鲨主界面 单击“配置程序”,弹出服务端配置警告对话框。如图4-23。 图 423 生成器 单击“是”即可进入服务端配置对话框。将IP/DNS一栏写入192.168.0.2,其他保持默认。还可以对服务端程序进行高级设置和图标更改。经检查无误后后单击“生成服务端”,即可生成被控端程序,默认监听端口为1。如图4-24。 图 424 服务端配置 图 425 生成的服务端 将配置好的程序通过飞鸽传书发送到其他虚拟机上,并单击,即可在控制端看到被控端上线的信息。如图4-26。 图 426 有上线被控端的界面 可以看出,能显示被控端主机的ip地址、物理地址、CPU、操作系统类型、内存等被控端主机信息,还可以在控制端对被控端进行屏幕监控、视频监控、CMD等命令。 选择一个主机右击即可完成对远程主机的操作命令。如图4-27。 图 4 27 右键管理功能 可以对远程主机的文件、进程、注册表等进行管理。单击盘符,可以打开远程主机的磁盘,对其文件进行查看、管理。选择某个文件点鼠标右键,可以对远程主机的文件进行远程运行、下载等操作。 以上的一些远控过程可以通过wireshark软件进行抓包检测,对远控过程的我数据包进行分析,找出远控的共同特征。 IM僵尸、恶羊远控、上兴僵尸、黑客基地、远方远控等其他僵尸远控的功能与用法与Netbot  Attacker和大白鲨类似,因而不再赘述。 2 僵尸网络异常流量分析 2.1 IM僵尸异常流量分析 IM主界面如图5-1。 图 51 IM远控主界面 恶件功能描述:文件管理、远程屏幕、视频语音、键盘记录、远程重启、远程关机、打开光驱。 2.1.1 连接建立过程分析 (1)建立连接过程 首先,控制端向被控制端发送PSH+ACK报文,观察连接过程,发现对应的此报文Data字段全部相同,皆为:48 42 35 35 48 42 35 45 33 34 37 33 35 30 33 34 37 33 2d 38 32 31 35 36 33 2d 38 35 39 32  35 33 2d 38 32 37 35 35 33 2d 38 34 45 30 39 33  34 37 33 37 39 33 35 30 33 37 30 33 32 36 33 37  31 33 37 35 33 37 35 33 35 45 33 35 45 33 37 34  33 32 34 33 35 45 33 35 34 33 38 36 32 33 38 36  32 33 34 37 33 32 34 33 35 37 33 35 30 33 34 37  33 35 32 33 35 32 33 32 36 33 35 35 33 34 37 33  32 36 33 34 37 33 48 42 49 4d 57 47 。                                       图 52 控制端发送连接报文的Data字段内容 (2)连接保持过程 经过长时间的观察,没有发现控制端对被控制端发送keep-alive报文 2.1.2 连接无法建立情况分析 无法连接时,被控制端向控制端发送SYN报文请求连接,时间间隔在10s内,且不固定。 观察10min,未发现发送SYN报文间隔时间变长,判断在无法建立连接过程的情况下,被控制端持续向控制端发送SYN报文。 2.1.3 恶件部分功能特征分析 (1)屏幕获取 使用屏幕获取功能时,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:48 42  36 31 48 42 35 36 48 42 34 31 33 34 35 33 32 30  33 32 39 33 36 34 33 34 36 33 32 39 33 48 42 49  4d 57 47  。 图53 控制端发送屏幕获取报文的Data字段内容 (2)文件浏览 使用文件浏览功能,点击刷新主机磁盘信息,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:48 42  35 37 48 42 36 30 48 42 31 37 32 33 31 37 30 33  31 37 37 33 31 37 36 33 39 38 33 31 37 36 33 31 37 45 33 48 42 49 4d 57 47。                                                   图 54 控制端发送文件浏览报文的Data字段内容 (3)键盘记录 使用查看键盘记录功能,点击发回键盘记录,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:48 42  36 32 48 42 36 31 48 42 31 45 45 33 31 45 31 33  31 36 39 33 31 36 32 33 34 35 33 31 36 34 33 31 36 34 33 48 42 49 4d 57 47 。                                                 图55 控制端发送键盘记录报文的Data字段内容 (4)文件下载 使用文件下载功能,在文件管理中选中一个远程主机,点击鼠标右键选择文件下载,控制端向被控制端发送PSK+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:48 42 36 30 48 42 35 38 48 42 31 45 34 33 31 31 38 33 31 37 45 33 38 32 33 31 36 38 33 48 42 49 4d 57 47 。                           图 56 控制端发送文件下载报文的Data字段内容 接着,被控制端向控制端回发一个PSH+ACK报文,经过观察,Data部分报文含有被控制端的文件数据。如图5-7。 图 57 被控端数据显示 2.2 大白鲨异常流量分析   大白鲨主界面如图5-8。 图 58 大白鲨主界面 恶件功能描述:、屏幕监控、视频监控、文件管理、进程管理、服务管理、注册表管理、域名更新、CMD命令。 2.2.1 连接建立过程分析 (1)建立连接过程 首先,被控端向控制端发送PSH+ACK报文,发现对应的此报文Data字段全部相同,皆为:7f 00  00 71 00 00 00 。 图 59 控制端发送连接报文的Data字段内容 控制端向被控制端回ACK报文。接着,被控端向控制端发送PSH+ACK报文,经过观察,没有发现Data部分有相同的特征字段。之后控制端向被控制端发送PSH+ACK报文,经过观察,发现对应的此报文Dada字段全部相同,皆为:78 9c  0b cf cc 8b 08 a8 31 34 31 af f1 cc 2b 49 cd d1 08 d2 54 70 ce 2f 4a d5 08 f1 d5 34 52 70 29 cd  57 70 0e 08 55 00 01 57 73 23 03 03 05 05 07 05  23 3d 53 63 77 8f aa 68 23 53 13 43 5f 8f 2a 2d  a3 d8 9a 23 b7 ce fe a8 b9 72 f7 dc bd 1a 23 03  43 83 ab 7f 4f ed dd f0 0c c4 34 d2 35 d5 35 36  54 30 32 b0 32 b2 b0 32 b1 ac d9 f2 79 c3 f5 6f  2f 00 5a 09 29 a4。 图 510 控制端第二次发送连接报文的Data字段内容 (2)连接保持过程 经过反复观察,控制端与被控制端之间以很短的时间(2秒内)发送keep-alive报文,其中控制端向6个被控制端发送的周期内PSH+ACK报文中Data字段的内容全部一致,皆为:00。 图511 控制端发送连接保持报文的Data字段内容 1.1.1 连接无法建立情况分析 在未连接状态下, 被控制端向控制端发送SYN报文,控制端回发RST+ACK报文;0.5s后被控制端继续向控制端发送SYN报文,控制端回发RST+ACK报文;0.5s后被控制端继续向控制端发送SYN报文,控制端回发RST+ACK报文 连续三次都收到RST+ACK报文,被控制端在间隔15s之后重复以前操作 1.1.2 恶件部分功能特征分析 (1)文件浏览 使用文件浏览功能,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:06 00。 图512 控制端发送文件浏览报文的Data字段内容 打开被控制端主机的D盘,可以观看被控制端主机的磁盘信息。这时,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:30 31 7c 30 7c 44 3a 5c。 图 513 控制端发送打开D盘报文的Data字段内容 (2)屏幕获取 使用屏幕获取功能,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:0c 00。 图 514 控制端发送屏幕获取报文的Data字段内容 (3)注册表管理 使用注册表管理功能,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:08 00。 图 515 控制端发送注册表管理报文的Data字段内容 猜测控制端对被控制端进行操作时,都会发送上面的PSH+ACK报文。 1.2 恶羊远控异常流量分析 恶羊主界面如图5-16。 图 516 恶羊远控主界面 恶件功能描述:文件管理、捕获屏幕、视频语音、注册表编辑器。 1.2.1 连接建立过程分析 (1)建立连接过程 被控制端向控制端发送PSH+ACK报文,观察连接过程,发现对应的此报文Data字段全部相同,皆为:18 00 00 00 00 00 00 00 8a 9d b8 42 aa aa aa aa。 图 517 控制端发送连接报文的Data字段内容 接着被控制端向控制端发送PSH+ACK报文,经过观察,相同操作系统的被控制端发送的Data部分字节数相差不多。如图5-18。 图 518 被控端返回的主机信息 (2)连接保持过程 经过观察,控制端和被控制端之间以180s为间隔发送keep-alive报文。 1.2.2 连接无法建立情况分析 在未连接状态下, 被控制端向控制端发送SYN报文,控制端回发RST+ACK报文;0.5s后被控制端继续向控制端发送SYN报文,控制端回发RST+ACK报文;0.5s后被控制端继续向控制端发送SYN报文,控制端回发RST+ACK报文。 连续三次都收到RST+ACK报文,被控制端在间隔一段时间之后重复以前操作,10min内观察间隔时间,最短的4s,最长的40s,没有观察出间隔时间的规律。 1.2.3 恶件部分功能特征分析 (1)屏幕获取 使用屏幕获取功能,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:00 00 00 01 39。 图519 控制端发送屏幕获取报文的Data字段内容 (2)文件浏览 使用文件浏览功能,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:00 00 00 00 38 62 34 63 61 35 38 31 37 32 38 38 30 62 62 62。 图 520 控制端发送文件浏览报文的Data字段内容 打开远程主机C盘,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:00 00 00 01 。 图 521 控制端发送打开C盘报文的Data字段内容 (3)视频语音 使用视频语音功能,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:25 00 00 00 38 62 34 63 61 35 38 31 37 32 38 38 30 62 62 62。 图 522 控制端发送视频语音报文的Data字段内容 1.3 黑客学习基地异常流量分析 黑客学习基地主界面如图5-23。 图523 黑客学习基地主界面 恶件功能描述:文件管理、屏幕监控、键盘记录、视频监控、语音监听、系统管理。 1.3.1 连接建立过程分析 (1)建立连接过程 首先,被控制端向控制端发送PSH+ACK报文,经观察,发现对应的此报文Data部分中某些代码全部相同, 皆为:47 68 30 73 74。 图 524 控制端发送连接报文的Data字段内容 之后控制端向被控制端发送PSH+ACK报文,经过观察,没有找到相同特征代码。 (2)连接保持过程 控制端与被控制端直接以10s为间隔发送keep-alive报文,其周期内的过程如下: 首先,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:47 68 30 73 74 16 00 00 00 01 00 00 00 78 9c 53 04 00 00 22 00 22。 图 525 控制端发送连接保持报文的Data字段内容 接着,被控制端向控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:47 68 30 73 74 17 00 00 00 02 00 00 00 78 9c ab 66 04 00 00 f9 00 7d。 图 526 被控端发送连接保持报文的Data字段内容 1.3.2 连接无法建立情况分析 在未连接状态下, 被控制端向控制端发送SYN报文,控制端回发RST+ACK报文;0.5s后被控制端继续向控制端发送SYN报文,控制端回发RST+ACK报文;0.5s后被控制端继续向控制端发送SYN报文,控制端回发RST+ACK报文。 连续三次都收到RST+ACK报文,被控制端在间隔10s之后重复以前操作。 1.3.3 恶件部分功能特征分析 (1)屏幕获取 使用屏幕获取功能时,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码其中一部分完全相同,皆为:47 68 30 73 74 16 00 00 00 01 00 00 00 78 9c 13 02 00 00 13 00 13。 图 527 控制端发送屏幕获取报文的Data字段内容 (2)文件管理 使用文件管理功能时,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码其中一部分完全相同,皆为:47 68 30 73 74 16 00 00 00 01 00 00 00 78 9c 63 04 00 00 02 00 02。 图528 控制端发送文件管理报文的Data字段内容 (3)键盘记录 点击键盘记录,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码其中一部分完全相同,皆为:47 68 30 73 74 16 00 00 00 01 00 00 00 78 9c 53 00 00 00 21 00 21。 图 529 控制端发送键盘记录报文的Data字段内容 (4)系统管理 使用系统管理功能,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码其中一部分完全相同,皆为:47 68 30 73 74 16 00 00 00 01 00 00 00 78 9c 53 05 00 00 26 00 26。 图 530 控制端发送系统管理报文的Data字段内容 1.4 上兴异常流量分析 上兴主界面如图5-31。 图 531 上兴主界面 恶件功能描述:文件管理、远程屏幕查看、视频监控、键盘捕获、注册表管理。 1.4.1 连接建立过程分析 (1)建立连接过程 被控制端向控制端发送两个不同的PSH+ACK报文,经过观察,发现Data部分的代码分别为:3a 38 39 0d 0a和33 32 32 0d 0a。 图 532 被控制端发送报文1 图 533 被控制端发送报文2 之后,控制端向被控制端发送一个PSH+ACK报文,经过观察,发现Data部分的代码全部相同,皆为:30 30 30 0d 0a。 图 534 控制端发送连接报文的Data字段内容 (2)连接保持过程 经过长时间的观察,没有发现控制端对被控制端发送keep-alive报文。 1.4.2 连接无法建立情况分析 在未连接状态下, 被控制端向控制端发送SYN报文,控制端回发RST+ACK报文;0.5s后被控制端继续向控制端发送SYN报文,控制端回发RST+ACK报文;0.5s后被控制端继续向控制端发送SYN报文,控制端回发RST+ACK报文。 连续三次都收到RST+ACK报文,被控制端在间隔15s之后重复以前操作。 1.4.3 恶件部分功能特征分析 (1)屏幕获取 使用屏幕获取功能时,首先,控制端发送操作共同报文,经过以上介绍的过程之后,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:32 30 0d 0a。 图 535 控制端发送屏幕获取报文的Data字段内容 (2)文件浏览 使用屏幕获取功能时,首先,控制端发送操作共同报文,经过以上介绍的过程之后,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:31 37 0d 0a。 图 536 控制端发送文件浏览报文的Data字段内容1 每个被控制端回发一个PSH+ACK报文,经过观察,没有发现Data部分有相同的特征代码。 接着,控制端向被控制端发送PSH+ACK报文,经过观察,没有发现Data部分有相同的特征代码。 每个被控制端回发一个PSH+ACK报文,经过观察,没有发现Data部分有相同的特征代码。 之后控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:30 30 30 30 0f 0a030 32 31 34 0c 0a03a038 39 0d 08。 图 537 控制端发送文件浏览报文的Data字段内容2 接着,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:30 30 30 0d 0a。 图 538 控制端发送文件浏览报文的Data字段内容3 (3)键盘记录 使用键盘监控功能时,首先,控制端发送操作共同报文,经过以上介绍的过程之后,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:31 39 0d 0a。 图 539 控制端发送键盘记录报文的Data字段内容 (4)注册表管理 使用注册表管理功能时,首先,控制端发送操作共同报文,经过以上介绍的过程之后,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:31 3d 0a。 图 540 控制端发送注册表管理报文的Data字段内容 1.1 远方远控异常流量分析 远方远控主界面如图5-41。 图 541 远方远控主界面 恶件功能描述:屏幕监控、视频查看、键盘记录、文件管理、注册表、语音监听。 1.1.1 连接建立过程分析 (1)建立连接过程 被控制端第一次运行“远方远控.exe”文件时,与控制端建立连接过程,被控制端向控制端发送PSH+ACK报文,经过观察,发现此报文Data部分的其中一部分代码全部相同,皆为:47 68  30 73 74 e2 00 00 00 94 01 00 00 78 9c 4b 63 60  60 98 03 c4 ac 40 cc 08 1a 5c 0c 0c 4c 40 3a  38 b5 a8 2c 33 39 55 21 20 31 39 5b c1 98 e1 bf 12 d3 e4 9a d9 8c 93 6b 6e 03 b1 c1 7b 06 81 0e  06 08 00 e9 61 03 62 01 28 46 01 0a 50 0c 55 f7 92 99 81 21 0d 68 3a 07 ba 3a 2c 80 19 ac 89 91 e1 09 27 03 83 21 03 37 50 17 cb 44 90 90 4f 4c 21 58 7e 32 10 7f 9b cf c0 70 60 05 03 73 61 a1 ae 81 79 a2 81 41 5a 5a b2 69 aa 61 12 11 a6 33 14 ee 05 7a 78 c7 b7 13 a7 37 3c 83 08 ec 01 9a eb ae 00 74 25 90 fe 81 a4 10 e4 ee 1d cf 4f 1d 3f f4 78 e3 9e ad 47 20 62 9d 52 0b 0a 41 6a 36 4c e0 62 c8 00 d2 57 80 7a 40 ee 65 22 32 3c 8e ac 39 71 7e fb b5 eb 2f 71 39 0e 00 39 22 38 82 。         图 542 控制端发送连接报文的Data字段内容1 此报文的Data部分含有被控制端主机的操作系统信息。重启控制端程序,被控制端与控制端建立连接过程,经过三次握手后,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的data部分代码全部相同,皆为:47 68 30 73 74 16 00 00 00 01 00 00 00 78 9c 63 00 00 00 01 00 01。 图 543、控制端发送连接报文的Data字段内容2 (2)连接保持过程 经过观察,控制端和被控制端之间以30s为间隔发送keep-alive报文。 1.1.2 连接无法建立情况分析 在未连接状态下, 被控制端向控制端发送SYN报文,控制端回发RST+ACK报文;0.5s左右后被控制端继续向控制端发送SYN报文,控制端回发RST+ACK报文;0.5s左右后被控制端继续向控制端发送SYN报文,控制端回发RST+ACK报文。 连续三次都收到RST+ACK报文,重复以上操作。周期时间为10s左右。 1.1.3 恶件部分功能特征分析 (1)屏幕获取 使用屏幕获取功能,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码全部相同,皆为:47 68 30 73 74 16 00 00 00 01 000 00 00 78 9c 13 00 00 00 11 00 11。 图 544 控制端发送屏幕获取报文的Data字段内容 (2)文件浏览 使用文件浏览功能,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的data部分代码全天相同,皆为:47 68 30 73 74 16 00 00 00 01 00 00 00 78 9c 63 04 00 00 02 00 02。 图 545 控制端发送文件浏览报文的Data字段内容 (3)键盘记录 使用键盘记录功能,控制端向被控制端发送PSH+ACK报文,经过观察,发现此报文的Data部分代码完全相同,皆为:47 68 30 73 74 16 00 00 00 01 00 00 00 78 9c 93 07 00 00 20 00 20。 图 546 控制端发送键盘记录报文的Data字段内容 在被控端建一个txt文件,输入信息,则被控制端向控制端回发一个PSH+ACK报文,经过观察,。Data部分皆为:47 68 30 73 74 50 00 00 00 38 00 00 00 78 9c 01 38 00 c7 ff 7c 0d 0a 5b 30 35 2f 32 33 2f 32 30 31 32 20 31 37 3a 32 37 3a 30 31 5d 20 28 d0 c2 bd a8 20 ce c4 b1 be ce c4 b5 b5 2e 74 78 74 20 2d 20 bc c7 ca c2 b1 be 29 0d 0a 61 ff 89 15 75。 图 547 被控制端返回键盘记录报文的Data字段内容 2 总结 通过用VMware虚拟机组建虚拟局域网,设计一种基于VMware的木马分析检测平台,实现了僵尸网络异常流量的分析实验。通过该平台,用Wireshark软件对僵尸木马运行过程中产生的异常流量进行监测分析,详细地获取了僵尸木马在连接、执行等各种控制命令时产生的流量数据进行分析研究,对攻击者的相关远控命令进行分析总结,找出共性,为僵尸网络异常流量的进一步分析研究提供了宝贵的分析依据。 主要研究成果: 1、分析研究和整理僵尸网络异常流量检测的相关技术。对僵尸网络的概念、基本特征、现阶段国内外研究现状等进行了分析研究和整理。对Wireshark抓包软件进行学习使用。方便了僵尸网络异常流量的检测。 2、设计并实现了一个基于VMware的虚拟局域网。用虚拟机分析平台可以节省大量的硬件设备开销,分析模块集成度高。能快速、安全、方便获取获取僵尸木马的系统行为和网络行为,因而具有很强的可行性。在该虚拟局域网上模拟了僵尸网络远程控制的实验。在虚拟的网络中,用Wireshark软件对对几款僵尸木马程序连接、保持连接、执行远程控制命令时所产生的数据进行了抓包并分析。分析结果显示,不同的僵尸服务端程序在实现相同连接过程时,被控端会向控制端先发送psh+sck报文,随后控制端会回复一个psh+sck报文。不同远控软件发送相同命令时,其报文中的data数据是不相同的;相同的僵尸远控软件在执行相同远控命令时,控制端向被控制端会发送相同的数据包,其data字段数据是相同的,但相同软件发送不同指令,其data字段数据不同。这些数据就是实施远程控制的特定不变的数据指令数据,不会因为操作系统等其他因素改变。 3、通过抓包软件对异常流量进行抓包分析,可以找到数据包的源地址与目的地址,并且可以捕获数据包data字段数据。我们掌握了这些异常的数据,就可以采取相应的措施,对网络犯罪行为进行调查取证。通过获取僵尸木马的网络行为,可以进一步查到僵尸木马的城名或者IP,最后通过到相关的互联网运营部门查询该城名或IP的使用人情况,找出实施木马攻击的幕后黑手。为网络安全的运行提供了帮助。 致 谢 在艰苦了几个月,终于将论文整理完成了。 本文是在王新良老师的悉心指导下完成的。在学习和作论文期间,王老师给予非常及时的鼓励和启发,从论文选题、设计到论文的写作、修改等都倾注了老师大量心血和时间。设计期间,王老师始终关注着论文的进展情况,在论文设计的各个阶段都给予了关键性的指导,倾注了大量心血。文中的字里行间无不浸透着老师的心血和汗水。老师渊博的知识、严谨的治学态度,勤奋的工作精神给作者以莫大的鼓舞和鞭策,并将成为本人终生受益的知识、精神财富。在此谨向老师致以衷心的感谢和崇高的敬意。 参考文献 [1] 王春海.虚拟机技术与动手实验. 北京: 机械工业出版社,2008 [2] (美) Craig A. Schiller.僵尸网络. 北京: 科学出版社,2009 [3] (美) Niels provos, Thorsten Holz.虚拟蜜罐. 北京: 中国水利水电出版社,2011 [4] 袁博.Windows Server 2003局域网组建与配置手册. 北京: 中国青年出版社,2004 [5] 张杰. 实战多操作系统与虚拟机. 北京: 清华大学出版社, 2008 [6] 冯宝坤. 虚拟机排困解难DIY. 北京: 兵器工业出版社, 2004 [7] 苗凤君. 局域网技术与组网工程. 北京: 清华大学出版社, 2010 [8] 陈昌涛, 刘飞, 刘小伟. 自己动手架设小型局域网. 北京: 电子工业出版社, 2009 [9] 李海龙, 沈贤方, 周婕. 局域网工程从入门到精通. 北京: 电子工业出版社, 2008 [10] 郝永清. 黑客远程控制服务攻击技术与安全搭建实战. 北京: 科学出版社, 2010 [11] 武新华, 李伟. 黑客社会工程学攻防演练. 北京: 电子工业出版社, 2011 [12] 王礼龙. 电脑黑客攻防技巧总动员. 北京: 清华大学出版社, 2011 [13] 武新华, 李秋菊, 陈艳艳. 狙击黑客. 北京: 清华大学出版社, 2008 [14] 夏添, 李绍文. 黑客攻防实战技术完全手册. 北京: 人民邮电出版社, 2009 文档已经阅读完毕,请返回上一页!
/
本文档为【僵尸网络异常流量分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索