09 木马
信息安全实验
北京邮电大学 信息安全中心
武 斌
2
本次课程学习目标
了解Windows体系结构
理解和掌握木马运行的机制
熟悉木马的关键技术
掌握检查木马和删除木马的技巧
学会防御木马的基本知识
学习完本次课程,您应该能够:
3
本次课程内容(木马攻击与防范)
Windows体系架构
木马简介
木马技术
木马防范
灰鸽子木马实验
4
Windows体系架构
Windows体系架构
木马简介
木马技术
木马防范
灰鸽子木马实验
5
Windows操作系统体...
信息安全实验
北京邮电大学 信息安全中心
武 斌
2
本次课程学习目标
了解Windows体系结构
理解和掌握木马运行的机制
熟悉木马的关键技术
掌握检查木马和删除木马的技巧
学会防御木马的基本知识
学习完本次课程,您应该能够:
3
本次课程内容(木马攻击与防范)
Windows体系架构
木马简介
木马技术
木马防范
灰鸽子木马实验
4
Windows体系架构
Windows体系架构
木马简介
木马技术
木马防范
灰鸽子木马实验
5
Windows操作系统体系结构
I/O设备管理器
设备、文
件系统驱
动程序
Win32
USER,GDI
图形
驱动程序
服务管理器
本地安全验证服务
Windows登录
会话管理器
Svchost.exe
任务管理器
Explorer
用户级
应用程序
子系统动态链接库
系统支持进程 服务进程 用户程序 环境子系统
OS/2
POSIX
Win32
Ntdll.dll
用户态
核心态
系统级服务调度进程
核心态可调用接口
系统核心
硬件抽象层(HAL)
文
件
系
统
缓
存
管
理
器
对
象
管
理
器
即
插
即
用
设
备
管
理
器
电
源
管
理
器
虚
拟
存
储
器
进
程
和
线
程
注
册
表
配
置
管
理
器
局
部
过
程
调
用
安
全
指
向
监
视
器
系统级线
程
硬件接口(总线、I/O设备驱动、中断、时钟间隔、直接内存存取(DMA)、存储器缓存控制器等)
WinMgmt.exe
Spooler
Services.exe
7
Windows操作系统体系结构
8
木马简介
Windows体系架构
木马简介
木马技术
木马防范
灰鸽子木马实验
9
什么是木马
木马即“特洛伊木马”的简称;英文名称为“ Trojan
horse”,其名称取自希腊神话的特洛伊木马记。
木马是隐藏在正常程序中的具有特殊功能的恶意代码,是具
备破坏、删除和修改文件、发送密码、记录键盘、实施DoS
攻击甚至完全控制计算机等特殊功能的后门程序。它隐藏在
目标计算机里,可以随计算机自动启动并在某一端口监听来
自控制端的控制信息。
木马程序不能算是一种病毒,但由于越来越多的新版杀毒软
件可以查杀木马,所以有人也称木马程序为黑客病毒。
10
木马与病毒的区别
《中华人民共和国计算机信息系统安全保护条例》中第二十
八条的规定: “计算机病毒,是指编制或者在计算机程序中
插入的破坏计算机功能或者毁坏数据,影响计算机使用,并
能自我复制的一组计算机指令或者程序代码”。计算 机病
毒一般具有以下几个特点:传染性,隐蔽性,潜伏性,破坏
性,衍生性,寄生性等。
从计算机病毒的定义及其特征可以看出,木马程序与病毒的
区别是十分明显的。最基本的区别就在于病毒有很强的传染
性及寄生性,而木马程序则不同。
11
木马的工作原理
木马——其实质是一个网络客户/服务程序。
完整的木马程序一般由两个部分组成:一是服务器程序,一是
控制器程序。“中了木马”就是指安装了木马的服务器程序,
中了木马的电脑也就成为所谓的“肉鸡”。
网络客户/服务模式原理
是一台主机提供服务(服务器),另一台主机接受服务(客
户机)。
作为服务器的主机一般会打开一个默认的端口并进行监听
(Listen), 如果有客户机向服务器的这一端口提出连接请
求(Connect Request), 服务器上的相应程序就会自动运
行,来应答客户机的请求,这个程序我们称为守护进程。
12
控制端:对服务端进行远程控制的一方 。
服务端:被控制端远程控制的一方 。
控制端程序:控制端用以远程控制服务端的程序 。
木马程序:潜入服务端内部,获取其操作权限的程序 。
木马端口:即控制端和服务端之间的数据入口,通过
这个入口,数据可直达控制端程序或木马程序 。
名词解释
13
图解
14
木马的特性
伪装性:程序将自己的服务器端伪装成合法程序,并且诱惑被攻击
者执行,使木马代码会在未经授权的情况下装载到系统中并开始运
行。
隐藏性:木马程序同病毒程序一样,不会暴露在系统进程管理器内,
也不会让使用者察觉到木马的存在,它的所有动作都是伴随其他程
序而进行,因此在一般情况下使用者很难发现系统中木马的存在。
破坏性:通过远程控制,攻击者可以通过木马程序对系统中的文件
进行删除、编辑操作,还可以进行诸如格式化硬盘、改变系统启动
参数等恶性破坏操作。
窃密性:木马程序最大的特点就是可以窥视被入侵计算机上的所有
资料,这不仅包括硬盘上的文件,还包括显示器画面、使用者在操
作电脑过程中在硬盘上输入的所有命令等。
15
木马的种类
按照木马的发展历程,可以分为四个阶段:
第一代木马是伪装型病毒,将木马伪装成一个合法的程序让用户运
行,例如1986年的PC-Write木马。
第二代木马是网络传播型木马,它具备伪装和传播两种功能,可以
进行密码窃取、远程控制,例如BO2000和冰河木马。
第三代木马在连接方式上有了改进,利用了端口反弹技术,例如灰
鸽子木马。
第四代木马在进程隐藏方面做了较大改动,将木马服务器端运行时
没有进程,网络操作插入到系统进程或者应用进程中完成,比如广
外男生木马。
16
木马的种类
按照功能分类,木马又可以分为:
破坏型木马:主要功能是破坏并删除文件;
密码发送型木马:可以找到密码并发送到指定的邮箱中;
服务型木马:通过启动FTP服务或者建立共享目录,使黑客可以连
接并下载文件;
DoS攻击型木马:作为被黑客控制的肉鸡实施DoS攻击;
代理型木马:使被入侵的机器做为黑客发起攻击的跳板;
远程控制型木马:使攻击者利用客户端软件进行完全控制。
17
木马技术
Windows体系架构
木马简介
木马技术
木马防范
灰鸽子木马实验
18
木马的关键技术
木马的入侵植入技术
木马的自启动技术
木马的通信技术
木马的隐藏技术
木马的破坏技术
19
木马的入侵途径
木马入侵的主要途径是通过一定的欺骗方法
如更改图标,把木马文件与普通文件合并,欺骗被攻击者下载并
执行做了手脚的木马程序,就会把木马安装到被攻击者的计算机中。
利用漏洞入侵
木马也可以通过Script、ActiveX及ASP、CGI交互脚本的方式入
侵,由于微软的浏览器在执行Script脚本上存在一些漏洞,攻击者
可以利用这些漏洞诱导上网者点击网页,这样IE浏览器就会自动执
行脚本实现木马的下载和安装。
木马还可以利用系统的一些漏洞入侵,如微软的IIS服务器存在多
种溢出漏洞,通过缓冲区溢出攻击程序造成IIS服务器溢出,获得
控制权限,然后在被攻击的服务器上安装并运行木马。
20
木马的自启动技术
在Win.ini中启动:在Win.ini的[Windows]字段中有启动命令"load="和"run=",
一般情况下"="后面是空白的,下面的情况可能是木马
Run=c:\windows\file.exe
Load=c:\windows\file.exe
在System.ini中启动:System.ini位于Windows的安装目录下,木马通常的做
法是将[boot]字段的shell=Explorer.exe改为shell=Explorer.exe file.exe。
利用注册表加载运行:注册表对应的启动项。
在Autoexec.bat和config.sys中加载运行:C盘根目录下的这两个文件也可以
启动木马,但加载方式需要控制端用户与服务端建立连接后,将已添加木马启
动命令的同名文件上传到服务端覆盖这两个文件。
通过自动运行功能启动:在Windows下,AutoRun.inf文件中存放着让硬盘或光
盘在运行时自动运行的程序信息,下面的文件则可以达到自启动的目的:
[AutoRun]
Open=xxx.exe
21
启动组:启动组对应的文件夹在注册表[HKEY_CURRENT_USER\Software
\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders]中Startup项所指的
位置,如:Startup=“c:\windows\startmenu\programs\startup”。
*.INI:即应用程序的启动配置文件,控制端利用这些文件能启动程序的特点,
将制作好的带有木马启动命令的同名文件上传到服务端覆盖这同名文件。
修改文件关联 :例如,正常情况下TXT文件的打开方式为Notepad.EXE文件,
一旦中了文件关联木马,则txt文件打开方式可能就会被修改为用木马程序打
开,如著名的国产木马 “冰河”就是通过修改
HKEY_CLASSES_ROOT\txtfile\shell\open\command下的键值,将
“C:\WINDOWS\NOTEPAD.EXE本应用Notepad打开,将
“%SystemRoot%\system32\NOTEPAD.EXE %1”改为
“%SystemRoot%\system32\SYSEXPLR.EXE %1”
木马的自启动技术
22
木马通信技术
C/S木马原理
反弹端口
反弹端
口有什
么优点?
1、不用一直打开侦听端口
2、可以通过访问常用的端
口来躲避防火墙(如80端口)
23
木马通信技术
反弹端口连接方式二
24
木马的隐藏方式
任务栏隐藏:使程序不出现在任务栏;
进程隐藏:躲避任务管理器等进程管理工具;
端口隐藏:躲避嗅探工具,使用户无法发现隐蔽的网络通
信;
通信隐藏:进行通信时,将目标端口设定为常用的80、21
等端口,可以躲过防火墙的过滤;
隐藏加载方式:通过各类脚本允许木马;修改设备驱动程
序或修改动态链接库 (DLL)来加载木马。
25
木马隐藏技术—API HOOK
伪隐藏
可用在对文件隐藏、进程隐藏、注册表隐藏中
API Hook技术主要是通过控制检测工具的遍历实现
对隐藏信息的过滤
Windows Hook:通过“Hook”,可以给Windows一个
处理或过滤事件的回调函数,该函数也叫做“钩子函数”,
当每次发生感兴趣的事件时, Windows都将调用该函数。
26
木马隐藏技术—文件隐藏
取与系统文件类似的名字,迷惑;
合并文件,有个别木马程序能把它自身的.exe文件和服务器端
的图片文件绑定;
采用NTFS文件系统一个文件中包含多个数据流;
API Hook 技 术 : 文 件 的 枚 举 最 终 调 用 的 是
NtQueryDirectoryFile函数;
系统服务描述符表(System Service Descriptor Tables):通
过修改SSDT,截获系统服务调用;
通过文件系统过滤驱动来实现:主要是通过拦截系统的文件操
作,其实就是拦截I/O管理器发向文件系统驱动程序的IRP。
27
注册表隐藏
通过函数NtEnumerateKey在注册表某个部分通过查
询指定键的索引以获得它的信息
在自定义的NtEnumerateKey函数中,先调用正常
的NtEnumerateKey函数;
在返回的信息中和要隐藏的注册表键的名字比较,
若为要隐藏的值就把索引号加1。
通过新的索引号来调用正常的NtEnumerateKey函
数,再返回结果。
28
进程隐藏
远程线程注入技术:将木马插入到其它进程
利用Windows挂钩来插入DLL:使用Hook插入DLL
基于svchost服务的进程隐藏:使用svchost启动木马
基于Hook SSDT的进程隐藏:修改SSDT,截获系统服务调用
基于修改活动进程链表的进程隐藏技术:修改全局内核变量
PsActiveProcessHead 链 表 中 EPROCESS ( 进 程 执 行 块 ) 的
ActiveProcessLinks
基于DKOM的进程隐藏技术:通过内核模块直接修改(Direct
Kernel Object Modify)达到隐藏
基于SPI的进程隐藏技术:通过服务提供者接口(Service Provider
Interface)加载
29
通信隐藏
隐秘通道,利用IP,ICMP
头中optional域和传输数据时很
少利用的域)
在用户态下进行网络数据包拦截
Winsock Layered Service Provider
Windows 2000 包过滤接口
替换系统自带的WINSOCK动态连接库
内核态拦截网络数据包
TDI过滤驱动程序(TDI Filter Driver)
NDIS中间层驱动程序(NDIS Intermediate Driver)
Win2k Filter-Hook Driver
NDIS Hook Driver
30
木马防范
Windows体系架构
木马简介
木马技术
木马防范
灰鸽子木马实验
31
浏览器自己打开,并且进入某个网站;
Windows系统配置自动莫名其妙地被更改;比如CD-ROM的自动运
行配置;
硬盘经常无缘由的进行读写操作;
系统越来越慢,系统资源占用很多;
经常死机;
启动项增加;
莫名的进程;
网络端口的增加;
中木马后出现的状况
注意:1、中木马以后并不一定必然出现以上现象
2、进程的查看、端口的增加需要用专门的工具查看才比较真实
32
手工查杀
检查注册表
检查注册表中
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
和
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runs
erveice,查看键值中有没有自己不熟悉的自动启动文件;
检查注册表HKEY_LOCAL_MACHINE和
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main中的
几项(如Local Page) ;
检查HKEY_CLASSES_ROOT\inifile\shell\open\command和
HKEY_CLASSES_ROOT\txtfile\shell\open\command等等几个常用文件类型的
默认打开程序是否被更改。
检查进程
使用IceSword或Process Explorer等工具查看是否有可疑进程
手工查杀
检查系统配置文件
运行msconfig.exe,在里面你可以配置Config.sys、
Autoexec.bat、system.ini和win.ini,并且可以选择启动系统的
时间。
检查win.ini文件,“run=”和“load=”是可能加载“木马”程序
的途径;
检查system.ini文件,在BOOT下面有个“shell=文件名”。正
确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,
而是“shell= explorer.exe 程序名”,那么后面跟着的那个程
序就是“木马”程序。比如“尼姆达”病毒就会把该项修改为
“shell=explorer.exe load.exe -dontrunold”。
推荐使用Autoruns软件
检查端口
使用IceSword查看
使用工具
使用杀毒软件和防火墙
使用IceSword查看隐藏的进程、文件、注册表项等
使用Sysinternals的ProcessMonitor、Autoruns、
FileMon、RegMon、ProcessMonitor
注意:手工查杀需要发现木马后,了解其启动方式、
使用的相关技术等信息,然后再进行相应的操作
35
木马技术研究
Windows体系架构
木马简介
木马技术
木马防范
灰鸽子木马实验
实验内容
一、学习使用灰鸽子木马控制端软件,完成远程控
制、信息窃取等功能(实验步骤详见《灰鸽子木马实
验指导》)
二、使用工具查看服务器端灰鸽子木马的启动方式、
隐藏状态等信息
三、手动卸载灰鸽子木马
实验验收
配置服务器端时的截图(截图参见《灰鸽子木马实
验指导》 )
图2、图3、图4、图5。
灰鸽子客户端监控操作截图
图8、图9、图10。
手动卸载灰鸽子的操作
当场演示。
本文档为【09 木马】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。