木马病毒原理及特征分析ppt课件

上传人:鲁** 文档编号:569454991 上传时间:2024-07-29 格式:PPT 页数:45 大小:648KB
返回 下载 相关 举报
木马病毒原理及特征分析ppt课件_第1页
第1页 / 共45页
木马病毒原理及特征分析ppt课件_第2页
第2页 / 共45页
木马病毒原理及特征分析ppt课件_第3页
第3页 / 共45页
木马病毒原理及特征分析ppt课件_第4页
第4页 / 共45页
木马病毒原理及特征分析ppt课件_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《木马病毒原理及特征分析ppt课件》由会员分享,可在线阅读,更多相关《木马病毒原理及特征分析ppt课件(45页珍藏版)》请在金锄头文库上搜索。

1、特洛伊木马的定义特洛伊木马(Trojan Horse),简称木马,是一种恶意程序,是一种基于远程控制的黑客工具,一旦侵入用户的计算机,就悄悄地在宿主计算机上运行,在用户毫无察觉的情况下,让攻击者获得远程访问和控制系统的权限,进而在用户的计算机中修改文件、修改注册表、控制鼠标、监视/控制键盘,或窃取用户信息古希腊特洛伊之战中利用木马攻陷特洛伊城;现代网络攻击者利用木马,采用伪装、欺骗(哄骗,Spoofing)等手段进入被攻击的计算机系统中,窃取信息,实施远程监控 特洛伊木马是一种秘密潜伏的能够通过远程网络进行控制的恶意程序。 控制者可以控制被秘密植入木马的计算机的一切动作和资源,是恶意攻击者进行

2、窃取信息等的工具。他由黑客通过种种途径植入并驻留在目标计算机里。 木马可以随计算机自动启动并在某一端口进行侦听,在对目标计算机的的数据、资料、动作进行识别后,就对其执行特定的操作,并接受“黑客”指令将有关数据发送到“黑客大本营”。 这只是木马的搜集信息阶段,黑客同时可以利用木马对计算 机进行进一步的攻击!这时的目标计算机就是大家常听到的“肉鸡”了!2特洛伊木马病毒的危害性 特洛伊木马和病毒、蠕虫之类的恶意程序一样,也会删除或修改文件、格式化硬盘、上传和下载文件、骚扰用户、驱逐其他恶意程序。 除此以外,木马还有其自身的特点: 窃取内容; 远程控制。 常见的特洛伊木马,例如Back Orifice

3、和SubSeven等,都是多用途的攻击工具包,功能非常全面,包括捕获屏幕、声音、视频内容的功能。这些特洛伊木马可以当作键记录器、远程控制器、FTP服务器、HTTP服务器、Telnet服务器,还能够寻找和窃取密码。 由于功能全面,所以这些特洛伊木马的体积也往往较大,通常达到100 KB至300 KB,相对而言,要把它们安装到用户机器上而不引起任何人注意的难度也较大。 常见的特洛伊木马 对于功能比较单一的特洛伊木马,攻击者会力图使它保持较小的体积,通常是10 KB到30 KB,以便快速激活而不引起注意。这些木马通常作为键记录器使用,它们把受害用户的每一个键击事件记录下来,保存到某个隐藏的文件,这样

4、攻击者就可以下载文件分析用户的操作了。 常见的特洛伊木马 Back Orifice是一个远程访问特洛伊木马的病毒,该程序使黑客可以经TCP/IP网络进入并控制windows系统并任意访问系统任何资源,通过调用cmd.exe系统命令实现自身的功能,其破坏力极大。 SubSeven可以作为键记录器、包嗅探器使用,还具有端口重定向、注册表修改、麦克风和摄像头记录的功能。 SubSeven还具有其他功能:攻击者可以远程交换鼠标按键,关闭/打开Caps Lock、Num Lock和Scroll Lock,禁用Ctrl+Alt+Del组合键,注销用户,打开和关闭CD-ROM驱动器,关闭和打开监视器,翻转屏

5、幕显示,关闭和重新启动计算机 常见的特洛伊木马在2006年之前,冰河在国内一直是不可动摇的领军木马,在国内没用过冰河的人等于没用过木马,由此可见冰河木马在国内的影响力之巨大。 该软件主要用于远程监控,自动跟踪目标机屏幕变化等。冰河原作者:黄鑫,冰河的开放端口7626据传为其生日号。 1自动跟踪目标机屏幕变化,同时可以完全模拟键盘及鼠标输入,即在同步被控端屏幕变化的同时,监控端的一切键盘及鼠标操作将反映在被控端屏幕(局域网适用);2记录各种口令信息:包括开机口令、屏保口令、各种共享资源口令及绝大多数在对话框中出现过的口令信息;3获取系统信息:包括计算机名、注册公司、当前用户、系统路径、操作系统版

6、本、当前显示分辨率、物理及逻辑磁盘信息等多项系统数据;4限制系统功能:包括远程关机、远程重启计算机、锁定鼠标、锁定系统热键及锁定注册表等多项功能限制;5远程文件操作:包括创建、上传、下载、复制、删除文件或目录、文件压缩、快速浏览文本文件、远程打开文件(提供了四中不同的打开方式正常方式、最大化、最小化和隐藏方式)等多项文件操作功能;6注册表操作:包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注册表操作功能;常见的特洛伊木马常见的特洛伊木马灰鸽子(Hack. Huigezi)是一个集多种控制方法于一体的木马病毒,一旦用户电脑不幸感染,可以说用户的一举一动都在黑客的监控之下,要窃取账号、密

7、码、照片、重要文件都轻而易举。自2001年,灰鸽子诞生之日起,就被反病毒专业人士判定为最具危险性的后门程序,并引发了安全领域的高度关注。2004年、2005年、2006年,灰鸽子木马连续三年被国内各大杀毒厂商评选为年度十大病毒,灰鸽子也因此声名大噪,逐步成为媒体以及网民关注的焦点。特洛伊木马的定义木马与病毒一般情况下,病毒是依据其能够进行自我复制即传染性的特点而定义的特洛伊木马主要是根据它的有效载体,或者是其功能来定义的,更多情况下是根据其意图来定义的木马一般不进行自我复制,但具有寄生性,如捆绑在合法程序中得到安装、启动木马的权限,DLL木马甚至采用动态嵌入技术寄生在合法程序的进程中木马一般不

8、具有普通病毒所具有的自我繁殖、主动感染传播等特性,但我们习惯上将其纳入广义病毒,也就是说,木马也是广义病毒的一个子类木马的最终意图是窃取信息、实施远程监控木马与合法远程控制软件(如pcAnyWhere)的主要区别在于是否具有隐蔽性、是否具有非授权性特洛伊木马的结构木马系统软件一般由木马配置程序、控制程序和木马程序(服务器程序)三部分组成特洛伊木马的基本原理运用木马实施网络入侵的基本过程特洛伊木马的基本原理木马控制端与服务端连接的建立控制端要与服务端建立连接必须知道服务端的木马端口和IP地址由于木马端口是事先设定的,为已知项,所以最重要的是如何获得服务端的IP地址获得服务端的IP地址的方法主要有

9、两种:信息反馈和IP扫描特洛伊木马的基本原理木马控制端与服务端连接的建立木马控制端与服务端连接的建立特洛伊木马的基本原理木马通道与远程控制木马连接建立后,控制端端口和服务端木马端口之间将会出现一条通道控制端上的控制端程序可藉这条通道与服务端上的木马程序取得联系,并通过木马程序对服务端进行远程控制,实现的远程控制就如同本地操作特洛伊木马的传播方式木马常用的传播方式,有以下几种:以邮件附件的形式传播控制端将木马伪装之后添加到附件中,发送给收件人通过OICQ、QQ等聊天工具软件传播在进行聊天时,利用文件传送功能发送伪装过的木马程序给对方通过提供软件下载的网站(Web/FTP/BBS)传播木马程序一般

10、非常小,只有是几K到几十K,如果把木马捆绑到其它正常文件上,用户是很难发现的,所以,有一些网站被人利用,提供的下载软件往往捆绑了木马文件,在用户执行这些下载的文件的同时,也运行了木马通过一般的病毒和蠕虫传播通过带木马的磁盘和光盘进行传播特洛伊木马技术的发展木马的发展及成熟,大致也经历了两个阶段Unix阶段Windows阶段木马技术发展至今,已经经历了4代第一代木马只是进行简单的密码窃取、发送等,没有什么特别之处第二代木马在密码窃取、发送等技术上有了很大的进步,冰河可以说是国内木马的典型代表之一第三代木马在数据传输技术上,又做了不小的改进,出现了ICMP等类型的木马,利用畸形报文传递数据,增加了

11、查杀的难度第四代木马在进程隐藏方面,做了很大的改动,采用了内核插入式的嵌入方式,利用远程插入线程技术,嵌入DLL线程;或者挂接PSAPI(Process Status API),实现木马程序的隐藏木马的高级技术驻留在内存为了生存,病毒要尽可能长时间地驻留在内存中,而不是host程序一结束就完蛋了。有三种种方法,一是象Funlove那样在系统目录里释放一个文件,并修改注册表或者建立一个系统服务。这种方式很普通,也很普遍,大多数病毒包括蠕虫都这么干。另一种方式则是感染所有的已运行进程。在Win2K下很容易实现,CreateRemoteThread,但要想在所有Win32平台下实现,则要比较高的技巧

12、。工作在ring 0病毒,内核模式病毒。内核模式病毒WindowsNT/2K环境下第一个以内核模式驱动程序运行,并驻留内存的寄生型病毒是Infis.Infis作为内核模式驱动程序驻留内存,并且挂钩文件操作,它能够在文件打开时立即感染该文件。安装程序把病毒拷贝到系统内存中,并在系统注册表中添加该病毒的注册项。该病毒把自己的可执行代码连同自己的PE文件头一起追加到目标文件的末尾,然后从自己代码中提取出一个名为INF.SYS的独立驱动程序,把这个程序保存在%SystemRoot% system32 drivers目录下,修改注册表,保证下一次系统启动时病毒也能够进入运行状态。检测方法检查系统驱动程序

13、列表中已经装入的驱动程序的名称,如果在驱动程序列表中发现了病毒驱动程序,说明基本上感染了病毒病毒可能使用隐藏技术避免在驱动程序列表中出现,需要通过计算机管理器中的驱动程序列表。病毒的隐藏技术隐藏是病毒的天性,在业界对病毒的定义里,“隐蔽性”就是病毒的一个最基本特征,任何病毒都希望在被感染的计算机中隐藏起来不被发现,因为病毒都只有在不被发现的情况下,才能实施其破坏行为。为了达到这个目的,许多病毒使用了各种不同的技术来躲避反病毒软件的检验,这样就产生了各种各样令普通用户头痛的病毒隐藏形式。 隐藏窗口 & 隐藏进程 & 隐藏文件 桌面看不到任务管理器中不可见 文件中看不到进程隐藏Windows 9x

14、中的任务管理器是不会显示服务类进程,结果就被病毒钻了空子,病毒将自身注册为“服务进程”,可以躲避用户的监视。Windows2000/xp/2003等操作系统上已经无效了,直接使用系统自带的任务管理器便能发现和迅速终止进程运行 。通过DLL实现进程隐藏Windows系统的另一种“可执行文件”-DLL,DLL文件没有程序逻辑,是由多个功能函数构成,它并不能独立运行,一般都是由进程加载并调用的。 运行DLL文件最简单的方法是利用Rundll32.exe,Rundll/Rundll32是Windows自带的动态链接库工具,可以用来在命令行下执行动态链接库中的某个函数,Rundll32的使用方法如下:R

15、undll32 DllFileName FuncName例如我们编写了一个MyDll.dll,这个动态链接库中定义了一个MyFunc的函数,那么,我们通过Rundll32.exe MyDll.dll MyFunc就可以执行MyFunc函数的功能。假设我们在MyFunc函数中实现了病毒的功能,那么我们不就可以通过Rundll32来运行这个病毒了么?在系统管理员看来,进程列表中增加的是Rundll32.exe而并不是病毒文件,这样也算是病毒的一种简易欺骗和自我保护方法 特洛伊DLL 特洛伊DLL的工作原理是使用木马DLL替换常用的DLL文件,通过函数转发器将正常的调用转发给原DLL,截获并处理特定

16、的消息。例如,我们知道WINDOWS的Socket1.x的函数都是存放在wsock32.dll中的,那么我们自己写一个wsock32.dll文件,替换掉原先的wsock32.dll(将原先的DLL文件重命名为wsockold.dll)我们的wsock32.dll只做两件事,一是如果遇到不认识的调用,就直接转发给wsockold.dll(使用函数转发器forward);二是遇到特殊的请求(事先约定的)就解码并处理。这样理论上只要木马编写者通过SOCKET远程输入一定的暗号,就可以控制wsock32.dll(木马DLL)做任何操作 动态嵌入技术 DLL木马的最高境界是动态嵌入技术,动态嵌入技术指的

17、是将自己的代码嵌入正在运行的进程中的技术。理论上来说,在Windows中的每个进程都有自己的私有内存空间,别的进程是不允许对这个私有空间进行操作的,但是实际上,我们仍然可以利用种种方法进入并操作进程的私有内存存在多种动态嵌入技术中:窗口Hook、挂接API、远程线程 远程线程技术远程线程技术指的是通过在另一个进程中创建远程线程的方法进入那个进程的内存地址空间。在进程中,可以通过CreateThread函数创建线程,被创建的新线程与主线程(就是进程启动时被同时自动建立的那个线程)共享地址空间以及其他的资源通过CreateRemoteThread也同样可以在另一个进程内创建新线程,被创建的远程线程

18、同样可以共享远程进程的地址空间,所以,实际上,我们通过一个远程线程,进入了远程进程的内存地址空间,也就拥有了那个远程进程相当的权限。这种病毒难以处理。 动态嵌入的实现动态嵌入的实现步骤通过OpenProcess 函数打开试图嵌入的进程因为需要写入远程进程的内存地址空间,所以必须申请足够的权限,包括远程创建线程、远程VM操作、远程VM写权限为LoadLibraryW函数线程启动DLL木马准备参数LoadLibraryW函数是在kernel32.dll中定义的一个功能函数,用于加载DLL文件,它只有一个参数,就是DLL文件的绝对路径名(也就是木马DLL文件的全路径文件名)。由于木马DLL是在远程进

19、程内调用的,所以还需要将这个文件名复制到远程地址空间计算LoadLibraryW的入口地址,启动远程线程LoadLibraryW,通过远程线程调用木马DLL可以用远程线程技术启动木马DLL,也可以事先将一段代码复制到远程进程的内存空间,然后通过远程线程起动这段代码文件隐藏早期,把病毒文件属性设为隐藏,修改文件不显示隐藏文件。高级阶段通过HOOK文件读取函数,自动隐藏病毒文件。公开的主流检测隐藏文件主要有两种方法:第一种是文件系统层的检测,属于这一类的有Ice sword,darkspy,gmer等。第二种便是磁盘级别的低级检测(Disk Low-Level Scanning),属于这一类的ar

20、k也很多,典型代表为rootkit unhooker,filereg(is的插件),rootkit revealer,blacklight等。加壳木马再狡猾,可是一旦被杀毒软件定义了特征码,在运行前就被拦截了。要躲过杀毒软件的追杀,很多木马就被加了壳,相当于给木马穿了件衣服,这样杀毒软件就认不出来了,但有部分杀毒软件会尝试对常用壳进行脱壳,然后再查杀。除了被动的隐藏外,最近还发现了能够主动和杀毒软件对着干的壳,木马在加了这种壳之后,一旦运行,则外壳先得到程序控制权,由其通过各种手段对系统中安装的杀毒软件进行破坏,最后在确认安全(杀毒软件的保护已被瓦解)后由壳释放包裹在自己体内的木马体并执行之。

21、通信隐藏通信隐藏是指利用授权的通信手段和载体进行在系统安全策略允许之外的非授权的通信活动。通信隐藏主要包括通信内容、流量、信道和端口的隐藏。木马常用的通信隐藏方法是对传输内容加密, 这可以采用常见/自定义的加密、解密算法实现,但这只能隐藏通信内容, 无法隐藏通信信道。采用网络隐蔽通道技术不仅可以成功地隐藏通信信道,还可以隐藏通信内容。网络隐蔽通道TCP/IP 协议族中,有许多信息冗余可用于建立网络隐蔽通道。木马可以利用这些网络隐蔽通道突破网络安全机制,比较常见的有: ICMP畸形报文传递、HTTP隧道技术,自定义TCP/UDP 报文等。采用网络隐蔽通道技术,如果选用一般安全策略都允许的端口通信

22、,如80端口,则可轻易穿透防火墙和避过入侵检测系统等安全机制的检测,从而具有很强的隐蔽性。使用TCP协议隐蔽通信-反向连接技术为了克服服务端在某一端口上侦听易被发现这一缺点,现在服务端不再侦听端口,而是去连接客户端在侦听的某一端口。这样用一般的port scanner或者fport就发现不了服务端了。而为了更好的麻痹宿主机,客户端侦听的端口一般是21,80,23这种任何人都要访问的端口。虽然在安装了防火墙的机器上,服务端去连接客户端还是要引起防火墙报警,但是一个粗心的用户很可能会忽略“应用程序xxxxx试图访问xxx.xxx.xxx.xxx通过端口80”这样的警告。 客户端侦听,服务端连接。这

23、就是所谓的反向连接技术了。使用TCP协议隐蔽通信-反向连接技术这种反向连接技术要解决的一个问题是,服务端如何找到客户端。由于一般客户端都是拨号上网的,没有一个固定的IP,所以客户端IP不可能硬编码在服务端程序中。http访问获取地址方式。控制端将本机的ip地址更新到存放于ftp空间的文件中,被控端采用http方式访问该文件,从而获取控制端的ip地址。通过域名获取地址方式。攻击者需要申请一个动态域名,并通过域名解析服务客户端软件如PeanutHull等把域名与控制端主机绑定,再将此域名预先设置在控制端中,则被控端就可以通过访问此域名上线了。所以还有一种方法是使用RAW socket来收听ECHO

24、 REPLY类型的ICMP包,在ICMP数据包的数据去就包含了客户端IP。对于普通用户来说,由于要上网浏览,这样的ICMP包是很少过滤掉的。使用UDP协议通信服务端侦听,客户端连接;客户端侦听,服务端连接。方法和安全性与使用TCP协议差不多。需要注意的是UDP不是一个可靠的协议,所以,必须在UDP协议的基础上设计一个自己的可靠的报文传递协议。用ICMP来通信既然客户端可以通过发一个ICMP(ECHO REPLY)来告诉服务端它的IP,那为什么不把所有服务端和客户端的通讯都建立在ICMP基础上呢?服务端向客户端发ICMP(ECHOREQUEST),客户端向服务端发ICMP(ECHO REPLY)

25、,然后可以在ICMP基础上建立一个自己的可靠数据报通讯协议。如果不怕麻烦的话,还可以建立一个TCP over ICMP。由于一般的用户这两类ICMP包都是设为无警告放行的,这种方法的隐秘性还是很强的。利用ICMP协议建立秘密通道ICMP回显请求(type=0)和回显应答(type=8)报文规范约定ICMP报文中的标识符和序列号字段由发送端任意选择,因此在ICMP包中标识符、序列号和选项数据等部分都可用来秘密携带信息由于防火墙、入侵检测系统等网络设备通常只检查ICMP报文的首部,因此使用ICMP建立秘密通道时往往直接把数据放到选项数据中这类秘密信道可以实现直接的客户端和服务端通信,具有准实时的特

26、点基于嗅探原理的通信服务器端是一个sniffer和发包器,它将捕获指定特征的数据包。客户端是一个发包器和嗅探器,用来发送指定特征的数据包并包括定义的命令以及接收服务器端的数据。当服务器端捕获到该指定特征的数据包时,变成激活状态,通过分析该数据包,获得客户端发送的命令和客户端的IP地址,然后实现相应的命令,并将执行后的结果发送回客户端,客户端的嗅探部分则接收相应的数据。所有的数据发送都是通过原始套接字进行。木马的通信特征当被控端被植入目标主机或开机自动运行后,将每隔一定时间检查一下网络环境是否能够与控制端建立连接,如果符合连接条件,则向控制端发起连接并上线,而控制端则将上线主机显示出来,以供攻击

27、者选择相应主机进行操作。同时对上线主机创建一个线程,负责处理与被控端的交互信息,使攻击者能够对被控端主机进行远程控制,向被控端发出各种命令并接收被控端反馈回来的信息和数据。而被控端程序在目标主机上执行接收到的指令并回传处理信息。通过对数十款主流木马通信数据的分析发现,绝大多数木马为了保证通信质量和效率,通信两端的交互信息都是通过数据包载荷区(data)传输的,因此特征提取的主要研究对象就是数据包的载荷区。木马的通信特征反弹式木马定时向控制端主机发出连接请求,并根据其中的特定信息进行相互认证控制端必须能够认证被控制端,同时通信双方也会采用某个特定的数据包结构进行发送和读取数据,以避免任何第三方数

28、据的干扰和破坏,被控制端也必须认证控制端以避免任何不被允许的服务端利用其通道的资源。图例攻击特征红黑远控v2009 木马交互数据时,为了可以识别对方,载荷区中的数据是具有特定结构的。其载荷区(data)长度为 71 个字节,其中 0x4d 53 47 3030 30 36(MSG0006)表示此数据包为此次通信中的第 6 个数据包,0x3c 4d 73 67 30 30 30 36 3e 31 38 3c 2f 4d 73 67 30 30 30 36 3e(30)表示在这些结构信息后的 30 个字节才是此木马交互的其他数据信息,图 6数据包载荷段中的各部分信息代表的含义与图 5基本相同。数据包载荷区中的这些特定信息经过特征提取处理之后,就很可能成为多段式的木马网络特征了。outbreak 特征控制命令特征通过对木马工作原理和通信机制的分析可知,木马的控制端向被控制端发送的控制命令也是有限的若干种,同时,就一款远程控制类木马而言,通常攻击者感兴趣或者必须的操作也是相对固定的,那么这些对被控制端的操作指令往往会在控制端向被控端发送的数据流中多次出现,这些信息表现在数据包中的形式也常常是连续的字串。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号