《信息安全技术》实验四 木马及远程控制技术
实验目的
- 剖析网页木马的工作原理
- 理解木马的植入过程
- 学会编写简单的网页木马脚本
- 通过分析监控信息实现手动删除木马
实验内容
- 木马生成与植入
- 利用木马实现远程控制
- 木马的删除
实验人数
- 每组2人,本组为20155314 20155304
实验环境
- 系统环境
- Windows Server 2003虚拟机
- 网络环境
- 交换网络结构
实验工具
- 网络协议分析器
- 灰鸽子
- 监控器
实验类型
- 设计性实验
实验原理
一、网页木马原理及相关定义
浏览器是用来解释和显示万维网文档的程序,已经成为用户上网时必不可少的工具之一。“网页木马”由其植入方式而得名,是通过浏览网页的方式植入到被控主机上,并对被控主机进行控制的木马。与其它网页不同,木马网页是黑客精心制作的,用户一旦访问了该网页就会中木马。为什么说是黑客精心制作的呢?因为嵌入在这个网页中的脚本恰如其分地利用了IE浏览器的漏洞,让IE在后台自动下载黑客放置在网络上的木马并运行(安装)这个木马,也就是说,这个网页能下载木马到本地并运行(安装)下载到本地电脑上的木马,整个过程都在后台运行,用户一旦打开这个网页,下载过程和运行(安装)过程就自动开始。
如果打开一个网页,IE浏览器真的能自动下载程序和运行程序吗?如果IE真的能肆无忌惮地任意下载和运行程序,那么用户将会面临巨大的威胁。实际上,为了安全,IE浏览器是禁止自动下载程序特别是运行程序的,但是,IE浏览器存在着一些已知和未知的漏洞,网页木马就是利用这些漏洞获得权限来下载程序和运行程序的。本练习中,我们利用微软的MS06014漏洞,完成网页木马的植入。?
二、名词解释
- MS06014漏洞?
MS06014漏洞存在于Microsoft Data Access Components,利用微软的HTML Object标签的一个漏洞,Object标签主要是用来把ActiveX控件插入到HTML页面里。由于加载程序没有根据描述远程Object数据位置的参数检查加载文件的性质,因此Web页面里面的程序就会不经过用户的确认而自动执行。 - iframe标签
iframe也叫浮动帧标签,它可以把一个HTML网页嵌入到另一个网页里实现“画中画”的效果。例如:
被嵌入的网页可以控制宽、高以及边框大小和是否出现滚动条等。如果把宽(width)、高(height)、边框(frameborder)都设置为0,代码插入到首页后,首页不会发生变化,但是嵌入的网页实际上已经打开。 - 反弹端口型木马?
分析防火墙的特性后可以发现,防火墙对于连入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。于是,与一般的木马相反,反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口。木马定时监测控制端的存在,发现控制端上线后立即弹出端口主动连接控制端打开的被动端口。服务端通常会把打开的端口伪装成应用软件的端口,从而进一步降低被防火墙发现的概率。 - 网页木马生成脚本?
通常网页木马是通过“网马生成器”将木马安装程序的下载地址附加在网页上的,进而达到用户浏览含有木马的网页即自动下载安装程序的目的。下面给出一个“网马生成器”脚本,其中“//”后面的文字是对代码的注释。实验中需改动此脚本,自己动手生成网页木马。
三、木马的工作过程
木马的工作过程可分为四部分:木马的植入、木马的安装、木马的运行和木马的自启动。
- 木马的植入?
网页木马就是一个由黑客精心制作的含有木马的HTML网页,因为MS06014漏洞存在,当用户浏览这个网页时就被在后台自动安装了木马的安装程序。所以黑客会千方百计的诱惑或者欺骗人们去打开他所制作的网页,进而达到植入木马的目的。不过随着人们网络安全意识的提高,这种方法已经很难欺骗大家了。还有一种方法就是通过
<iframe>
标签,在一个正常网站的主页上链接网页木马。浏览者在浏览正常的网站主页时,iframe语句就会链接到含有木马的网页,网页木马就被悄悄植入了。这种方法就是大家经常说的“挂马”,而中了木马的主机通常被幽默的称作“肉鸡”。“挂马”因为需要获取网站管理员的权限,所以难度很大。不过他的危害也是十分巨大的,如果黑客获得了一个每天流量上万的知名网站的管理员权限并成功“挂马”,那试想他会有多少“肉鸡”。 - 木马的安装?
木马的安装在木马植入后就被立即执行。(本练习以灰鸽子木马程序为例)当网页木马植入后,木马会按照通过网页木马脚本中指向的路径下载木马服务端安装程序,并根据脚本中的设定对安装程序进行重命名。通常会重新命名一个与系统进程相近的名字(本实验中为winlogin.exe)来迷惑管理员,使安装过程及其留下的痕迹不通过细心查看不易被发觉。安装程序下载完成后,自动进行安装。生成可执行文件C:\Windows\hack.com.cn.ini
,并修改注册表生成名为windows XP Vista的系统服务。其中hack.com.cn.ini就是木马服务器程序隐藏在背后的主谋。 - 木马的运行?
灰鸽子木马服务器安装完成后就会立刻连接网络寻找其客户端,并与其建立连接。这时木马程序会将自己的进程命名为IEXPLORE.EXE,此进程与Windows的IE浏览器进程同名,同样是为了迷惑管理员来伪装自己。当木马服务端与客户端建立连接后,客户端就如同拥有了管理员权限一样,可随意对“肉鸡”进行任何操作。 - 木马的自启动?
木马安装时生成系统服务Windows XP Vista。Windows XP Vista的可执行文件路径:C:\WINDOWS\Hacker.com.cn.ini
。描述:“灰鸽子服务端程序,远程监控管理。”启动类型:“自动。”很明显可以看出灰鸽子是通过此系统服务执行hack.com.cn.ini文件来自启动木马服务器。存在于系统目录下的Hack.com.cn.ini文件被设置成一个隐藏的受保护的操作系统文件,很难被人发现。
四、灰鸽子木马的功能
- 灰鸽子历程
时间 事件 2000年 第一个版本的灰鸽子诞生,并被各大安全厂商“关注” 2002年 灰鸽子被安全厂商列入病毒库 2003年 灰鸽子“牵手版”受到安全爱好者的追捧,使用人数超过冰河 2003年 灰鸽子工作室开始进行商业运作,对用户实行会员制 2004年 灰鸽子变种病毒泛滥,广大网友谈“灰”色变 2005年 灰鸽子发展迅速,灰鸽子工作室网站访问量保持上升状态,论坛注册会员突破90000人 2006年 灰鸽子的发展达到顶峰,占据了木马市场的半壁江山 2007年 灰鸽子引起国内各大杀软厂商的声讨,对灰鸽子的“全民围剿”正式开始。灰鸽子工作室最终关闭 比起前辈冰河、黑洞来,灰鸽子可以说是国内后门的集大成者。其丰富而强大的功能、简易便捷的操作、良好的隐藏性使其他木马程序都相形见绌。灰鸽子客户端和服务端都是采用Delphi编写。利用客户端程序配置出服务端程序,可配置的信息主要包括上线类型(如等待连接还是主动连接)、主动连接时使用的公网IP(域名)、连接密码、使用的端口、启动项名称、服务名称,进程隐藏方式,使用的壳,代理,图标等等。
- 灰鸽子木马的基本功能
- 反向连接:由木马的“服务器程序”主动发起连接,这种连接方式也称为“反弹木马”,它的优点是可以突破NAT和防火墙。
- 文件管理:可以操作(查看、新建、删除等)被控主机的文件系统及上传下载文件。
- 注册表管理:可以操作(查看、新建、删除等)被控主机的注册表项。
- 系统信息查看:可以查看被监控主机的系统配置信息等。
- 剪贴板查看:可以查看被监控主机的剪贴板内容。
- 进程管理:可以查看被监控主机的进程表或杀死某个进程。
- 服务管理:可以启动、停止被监控主机的服务程序。
- 共享管理:可以新建、删除被监控主机的共享。
- Telnet:可以远程控制被监控主机的命令行。
- 配置代理服务器:可以利用被控制主机为跳板,对第三方进行攻击。
- 插件功能:可以捆绑第三方软件。
- 命令广播:控制端可以把控制命令一次性广播到若干台计算机。
- 捕获屏幕:可以查看被监控主机的屏幕图像。
- 视频语音:可以进行视频监控和语音监听。
五.木马的删除
木马的“客户端程序”可以控制木马的“服务器程序”的删除工作。另一种方法是通过手动删除,具体步骤将在“实验步骤”中详细说明。
实验步骤
本练习主机A、B为一组,C、D为一组,E、F为一组。实验角色说明如下:
实验主机 | 实验角色 | |
---|---|---|
主机A、C、E | 木马控制端(木马客户端) | |
主机B、D、F | 木马被控端(木马服务器) |
下面以主机A、B为例,说明实验步骤。
首先在Windows Server 2003虚拟机中使用ipconfig
命令查看虚拟机IP地址为172.16.0.135
,再在本机上用ping
命令尝试与虚拟机连接:
如图,表明连接成功。
一、木马生成与植入
用户主机通过访问被“挂马”的网站而被植入木马的过程:
- 用户访问被“挂马”的网站主页。(此网站是安全的)
- “挂马”网站主页中的
<iframe>
代码链接一个网址(即一个网页木马),使用户主机自动访问网页木马。(通过把<iframe>
设置成不可见的,使用户无法察觉到这个过程) - 网页木马在得到用户连接后,自动发送安装程序给用户。
- 如果用户主机存在MS06014漏洞,则自动下载木马安装程序并在后台运行。
- 木马安装成功后,木马服务端定时监测控制端是否存在,发现控制端上线后立即弹出端口主动连接控制端打开的被动端口。
- 客户端收到连接请求,建立连接。
(一)生成网页木马
- 主机A首先通过Internet信息服务(IIS)管理器启动“木马网站”。(为什么启动木马网站?)
- 主机A进入实验平台在工具栏中单击“灰鸽子”按钮运行灰鸽子远程监控木马程序。
- 主机A生成木马的“服务器程序”。
主机A单击木马操作界面工具栏“配置服务程序”按钮,弹出“服务器配置”对话框,单击“自动上线设置”属性页,在“IP通知http访问地址、DNS解析域名或固定IP”文本框中输入本机IP地址,在“保存路径”文本框中输入
D:\Work\IIS\Server_Setup.exe
,单击“生成服务器”按钮,生成木马“服务器程序”。(在服务器配置时,有多少同学将配置里的不同属性页进行了查看?除了“自动上线设置”属性页,还有哪些属性页?)(为什么在“保存路径”文本框中输入D:\Work\IIS\Server_Setup.exe
?换为另一个路径可以吗?) - 主机A编写生成网页木马的脚本。
在桌面建立一个
Trojan.txt
文档,打开Trojan.txt
,将实验原理中网马脚本写入,并将脚本第15行“主机IP地址”替换成主机A的IP地址172.16.0.135
。把Trojan.txt
文件扩展名改为.htm
,生成Trojan.htm
。(对网页木马源码进行阅读分析。)「注」
C:\ExpNIS\NetAD-Lab\Projects\Trojan\Trojan.htm
文件提供了VB脚本源码。将生成的
Trojan.htm
文件保存到D:\Work\IIS\
目录下(D:\Work\IIS\
为“木马网站”的网站空间目录),Trojan.htm
文件就是网页木马程序。(为什么要将Trojan.htm
文件保存到D:\Work\IIS\
目录下?)
(二)完成对默认网站的“挂马”过程
- 主机A进入目录
C:\Inetpub\wwwroot
,使用记事本打开index.html
文件。「注」“默认网站”的网站空间目录为
C:\Inetpub\wwwroot\
,主页为index.html
- 对
index.html
进行编辑。在代码的底部加上<iframe>
语句,具体见实验原理-->名词解释-->iframe标签(需将http://www.jlcss.com/index.html
修改为http://本机IP:9090/Trojan.htm
),实现从此网页对网页木马的链接。(iframe标签有什么作用?)(为什么使用9090端口?) - 木马的植入
- 主机B设置监控。
主机B进入实验平台,单击工具栏“监控器”按钮,打开监控器。
在向导栏中依次启动“进程监控”、“端口监控”,选择“文件监控”,在菜单栏中选择“选项”-->“设置”,在设置界面中设置监视目录
C:\Windows\
(默认已被添加完成),操作类型全部选中,启动文件监控。启动协议分析器,单击菜单“设置”-->“定义过滤器”,在弹出的“定义过滤器”对话框中选择“网络地址”选项卡,设置捕获主机A与主机B之间的数据。
新建捕获窗口,点击“选择过滤器”按钮,确定过滤信息。在捕获窗口工具栏中点击“开始捕获数据包”按钮,开始捕获数据包。
主机B启动IE浏览器,访问
http://主机A的IP地址
。 - 主机A等待“灰鸽子远程控制”程序主界面的“文件管理器”属性页中“文件目录浏览”树中出现“自动上线主机”时通知主机B。
- 主机B查看“进程监控”、“服务监控”、“文件监控”和“端口监控”所捕获到的信息。(观察木马服务器端安装程序的运行结果与配置服务器时的设置是否一致。)
在“进程监控”|“变化视图”中查看是否存在“进程映像名称”为
Hacker.com.cn.ini
的新增条目。观察进程监控信息,结合实验原理回答下面的问题。(Hacker.com.cn.ini
在前面的过程中哪里设置的?)Hacker.com.cn.ini
文件是由哪个进程创建的: ;在“服务监控”中单击工具栏中的“刷新”按钮,查看是否存在“服务名称”为“Windows XP Vista” 的新增条目,观察服务监控信息,回答下面的问题。(Windows XP Vista服务在前面的过程中哪里设置的?)
Windows XP vista服务的执行体文件是: ;
在“文件监控”中查看“文件名”为
C:\WINDOWS\Hacker.com.cn.ini
的新增条目。在“端口监控”中查看“远程端口”为“8000”的新增条目,观察端口监控信息,回答下面问题:(端口8000在前面的过程中哪里设置的?)
8000服务远程地址(控制端)地址: ;
经过对上述监控信息的观察,你认为在“进程监控”中出现的
winlogoin.exe
进程(若存在)在整个的木马植入过程中起到的作用是: ;(winlogoin.exe
在前面的过程中哪里设置的?) - 主机B查看协议分析器所捕获的信息。
注意图26-1-1中划线部分的数据,结合实际结果找到对应的信息。(四幅图分别是哪些阶段的通信?)
- 主机B设置监控。
图26-1-1 协议分析器捕获信息
二、木马的功能
(一)文件管理
- 主机B在目录
D:\Work\Trojan\
下建立一个文本文件,并命名为Test.txt
。 - 主机A操作“灰鸽子远程控制”程序来对主机B进行文件管理。
单击“文件管理器”属性页,效仿资源管理器的方法在左侧的树形列表的“自动上线主机”下找到主机B新建的文件
D:\Work\Trojan\Test.txt
。在右侧的详细列表中对该文件进行重命名操作。 - 在主机B上观察文件操作的结果。
(二)系统信息查看
主机A操作“灰鸽子远程控制”程序查看主机B的操作系统信息。单击“远程控制命令”属性页,选中“系统操作”属性页,单击界面右侧的“系统信息”按钮,查看主机B操作系统信息。
(三)进程查看
- 主机A操作“灰鸽子远程控制”程序对主机B启动的进程进行查看
单击“远程控制命令”属性页,选中“进程管理”属性页,单击界面右侧的“查看进程”按钮,查看主机B进程信息。
- 主机B查看“进程监控”-->“进程视图”枚举出的当前系统运行的进程,并和主机A的查看结果相比较。
(四)注册表管理
主机A单击“注册表编辑器”属性页,在左侧树状控件中“远程主机”(主机B)注册表的HKEY_LOCAL_MACHINE\Software\
键下,创建新的注册表项;对新创建的注册表项进行重命名等修改操作;删除新创建的注册表项,主机B查看相应注册表项。
(五)Telnet
主机A操作“灰鸽子远程控制”程序对主机B进行远程控制操作,单击菜单项中的“Telnet”按钮,打开Telnet窗口,使用cd c:\
命令进行目录切换,使用dir
命令显示当前目录内容,使用其它命令进行远程控制。
(六)其它命令及控制
主机A通过使用“灰鸽子远程控制”程序的其它功能(例如“捕获屏幕”),对主机B进行控制。
三、木马的删除
(一)自动删除
主机A通过使用“灰鸽子远程控制”程序卸载木马的“服务器”程序。具体做法:选择上线主机,单击“远程控制命令”属性页,选中“系统操作”属性页,单击界面右侧的“卸载服务端”按钮,卸载木马的“服务器”程序。
(二)手动删除
- 主机B启动IE浏览器,单击菜单栏“工具”-->“Internet 选项”,弹出“Internet 选项”配置对话框,单击“删除文件”按钮,在弹出的“删除文件”对话框中,选中“删除所有脱机内容”复选框,单击“确定”按钮直到完成。
- 双击“我的电脑”,在浏览器中单击“工具”-->“文件夹选项”菜单项,单击“查看”属性页,选中“显示所有文件和文件夹”,并将“隐藏受保护的操作系统文件”复选框置为不选中状态,单击“确定”按钮。
- 关闭已打开的Web页,启动“Windows 任务管理器”。单击“进程”属性页,在“映像名称”中选中所有“IEXPLORE.EXE”进程,单击“结束进程”按钮。
- 删除
C:\Widnows\Hacker.com.cn.ini
文件。 - 启动“服务”管理器。选中右侧详细列表中的“Windows XP Vista”条目,单击右键,在弹出菜单中选中“属性”菜单项,在弹出的对话框中,将“启动类型”改为“禁用”,单击“确定”按钮。
- 启动注册表编辑器,删除
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Windows XP Vista
节点。 - 重新启动计算机。
- 主机A如果还没卸载灰鸽子程序,可打开查看自动上线主机,已经不存在了。
课后测试
- 在实验中,担任CA角色的主机,需要安装哪些服务组件?
A. 证书服务组件
B. IIS
C. 证书服务组件和IIS
D. 证书服务组件和目录服务组件
【答案】C
- 安装证书服务组件过程中,CA的类型选择的是什么类型?
A. 从属根CA
B. 独立根CA
C. 企业根CA
D. 二级根CA
【答案】B
- 在安装组件之后,在哪里启动证书颁发机构服务,主机便拥有了CA角色?
A. 开始-程序-附件
B. 开始-程序-控制面板
C. 开始-程序-管理工具
D. 开始-程序-启动
【答案】C
- 在与HTTPS://***连接后,在浏览器的状态栏会看到一个小锁,点击小锁可以直接查看到谁的证书?
A. 客户端
B. WEB服务器
C. CA机构
D. Windows
【答案】B
- 本次实验中,单向认证是认证哪一方?
A. 客户端
B. WEB服务器
C. CA服务器
【答案】B
- 本次实验中,双向认证是认证哪两方?
A. 客户端和WEB服务器
B. WEB服务器
C. 客户端和CA服务器
【答案】A
- 在实验中,建立通信需要进行单向认证还是双向认证是在哪里进行设置的?
A. 客户端的浏览器
B. WEB服务器端的浏览器
C. WEB服务器端的IIS
D. CA服务器的IIS
【错选】D
【答案】C
- 本实验中,服务器下载的certnew.cer文件中包含几个证书?分别是谁的证书?
A. 1个,服务器证书
B. 1个,客户端证书
C. 2个,服务器证书和CA根证书
D. 3个,服务器证书、客户端证书以及CA根证书
【错选】C
【答案】A
- 本实验中,服务器下载的certnew.p7b文件中包含几个证书?分别是谁的证书?
A. 1个,服务器证书
B. 1个,客户端证书
C. 2个,服务器证书和CA根证书
D. 3个,服务器证书、客户端证书以及CA根证书
【答案】C
- 在服务器端设置“要求安全通道SSL”,默认指定的通信端口是哪个?
A. 80
B. 21
C. 139
D. 443
【错选】A
【答案】D
- 从实验中可以判断,在HTTPS通信中,实现了哪些安全服务?
A. 只实现了认证服务
B. 只实现了保密性服务
C. 只实现了认证与保密性服务
D. 实现了认证、保密性以及完整性服务
【答案】D
- 在实验过程中,第一次查看服务器证书时出现了下图所示信息,为什么会出现这种情况?怎么解决这个问题?
【我的回答】证书非Microsoft信任机构颁发,需手动添加信任。
【答案】没有安装CA根证书。将CA根证书安装到受信任的证书颁发机构目录下。
思考题
- 列举出几种不同的木马植入方法。
- 利用E-MAIL
- 软件下载
- 利用共享和Autorun文件
- 把木马文件转换为图片格式
- 伪装成应用程序扩展组件
- 利用WinRar制作成自释放文件
- 在Word文档中加入木马文件
- 把木马和其他文件捆绑在一起
- 列举出几种不同的木马防范方法。
- 为计算机安装杀毒软件,定期扫描系统、查杀病毒;及时更新病毒库、更新系统补丁
- 下载软件时尽量到官方网站或大型软件下载网站,在安装或打开来历不明的软件或文件前先杀毒
- 不随意打开不明网页链接,尤其是不良网站的链接,陌生人通过QQ给自己传链接时,尽量不要打开
- 使用网络通信工具时不随便接收陌生人的文件,若接收,可在工具菜单栏中“文件夹选项”中取消“隐藏已知文件类型扩展名”的功能来查看文件类型
- 对公共磁盘空间加强权限管理,定期查杀病毒
- 打开移动存储器前先用杀毒软件进行检查,可在移动存储器中建立名为“autorun.inf”的文件夹(可防U盘病毒启动)
- 需要从互联网等公共网络上下载资料转入内网计算机时,用刻录光盘的方式实现转存
- 对计算机系统的各个账号要设置口令,及时删除或禁用过期账号
- 定期备份,以便遭到病毒严重破坏后能迅速修复