木马攻击实验
实验目的
1、 理解掌握木马运行以及传播的原理。
2、 通过手动删除木马,掌握检查木马和删除木马的技巧。
3、 增强对木马的安全防范意识。
预备知识
木马是隐藏在正常程序中的具有特殊功能恶意代码,是具备破坏,删除和修改文件,发送密码,记录键盘,实施Dos攻击甚至完全可能告知计算机等特殊功能的后门程序。它隐藏在目标计算机里,可以随计算机自动启动并在某一端口监听来自控制端的控制信息。
1、木马的传统连接技术
一般木马都采用C/S(client/server,即服务器/客户端)运行模式,因此它分为两部分,即客户端和服务器端木马程序。其原理是,当服务器端程序在目标计算机上被执行后,一般会打开一个默认的端口进行监听,当客户端向服务器端主动提出连接请求,服务器端的木马程序就会自动运行,来应答客户端的请求,从而建立连接。第一代和第二代木马就采用这种方式。
2、木马的反弹端口技术
随着防火墙技术的发展,它可有效拦截从外部主动发起的连接的木马程序。但防火墙对内部发起的连接请求则认为是正常连接,第三代第四代木马就是利用这个缺点,其服务器端程序主动发起对外连接请求,再通过某些方式连接到木马的客户端,就是说“反弹式”木马是服务器端主动发起连接请求,而客户端是被动的连接。
3、线程插入技术
我们知道,一个应用程序在运行之后,都会在系统之中产生一个进程,同时,每个进程分别对应了一个不同的进程标识符。系统会分配一个虚拟的内存空间地址段给这个进程,一切相关的程序操作,都会在这个虚拟的空间中进行。一般情况下,线程之间是相互独立的,当一个线程发生错误的时候,并不一定会导致整个进程的崩溃。“线程插入”技术就是利用线程之间运行的相对独立性,使木马完全地融进了系统那个内核。系统运行时会有很多的进程,而每个进程又有许多的线程,这就导致了查杀利用“线程插入”技术木马程序的难度。
实验步骤一
本实验通过对木马的练习与实践。使学习者理解和掌握木马的运行与传播的机制,共分为三个实验任务,详情如下:
冰河木马植入与控制
分别进入虚拟机中PC1与PC2系统。在PC1中安装服务器端,在PC2中安装客户端。
(1)服务器端。打开C:\tool\“木马攻击实验”文件夹,在“冰河”文件存储目录下,双击G_SERVER。G_Server是木马的服务器端,即用来植入目标主机的程序。此时,会弹出“Windows安全警报”窗口如图1,点击“解除阻止”,木马的服务器端便开始启动。(如果防火墙已关闭会直接运行不会弹窗)
(2)客户端。打开C:\tool\“木马攻击实验”文件夹,在“冰河”文件存储目录下,双击G_CLIENT。G_Client是木马的客户端,即木马的控制端。此时,会弹出“Windows安全警报窗口”如图2,点击“解除阻止”,则可打开控制端。
打开控制端G_CLIENT后,弹出“冰河”的主界面
在PC1(服务器端),查询ip地址:如图4“cmd”界面
“开始”---“运行”---输入“cmd”
单击添加的主机(PC1)出现如图6添加主机界面,如果连接成功,则会显示服务器端主机上的盘符如图7服务器端主机盘符。这时我们就可以像操作自己的电脑一样操作远程目标电脑.
显示名称,填入显示在主界面的名称(PC1),即PC1的ip地址
主机地址:填入服务器端主机的IP地址(192.168.59.136)
访问口令:填入每次访问主机的密码,“空”即可
监听端口:冰河默认的监听端口是7626
实验步骤二
命令控制台命令的使用方法
(1)口令类命令:
点击“命令控制台”,然后点击“口令类命令”前面的“+”即可图界面出现如图口令类命令。
各分支含义如下:
“系统信息及口令”:可以查看远程主机的系统信息,开机口令,缓存口令等。可看到非常详细的远程主机信息,这就无异于远程主机彻底暴露在攻击者面前
“历史口令”:可以查看远程主机以往使用的口令
“击键记录”:启动键盘记录后,可以记录远程主机用户击键记录,一次可以分析出远程主机的各种账号和口令或各种秘密信息
(2)控制类命令
点击“命令控制台”,点击“控制类命令”前面的“+”即可显示图所示界面如图控制类命令。
各分支含义如下:
“捕获屏幕”:这个功能可以使控制端使用者查看远程主机的屏幕,好像远程主机就在自己面前一样,这样更有利于窃取各种信息,单击“查看屏幕”按钮,然后就染成了远程主机的屏幕。可以看到,远程主机屏幕上的内容就显示在本机上了,显示内容不是动态的,而是每隔一段时间传来一幅。
“发送信息”:这个功能可以使你向远程计算机发生Windows标准的各种信息,在“信息正文”中可以填入要发给对方的信息,在图表类型中,可以选择“普通”,“警告”,“询问”,“错误”等类型。按钮类型可以选择“确定”“是”“否”等类型。
“进程管理”:这个功能可以使控制着查看远程主机上所有的进程
“窗口管理”:这个功能可以使远程主机上的窗口进行刷新,最大化,最小化,激活,隐藏等操作。
“系统管理”:这个功能可以使远程主机进行关机,重启,重新加载“冰河”自动卸载”冰河”的操作
“鼠标控制”:这个功能可以使远程主机上的鼠标锁定在某个范围内
“其他控制”:这个功能可以使远程主机进行自动拨号禁止,桌面隐藏,注册表锁定等操作
(3)网络类命令
点击“命令控制台”,点击“网络类命令”前面的“+”即可展开网络类命令
各分支的含义是:
“创建共享”:在远程主机上创建自己的共享
“删除共享”:在远程主机上删除某个特定的共享
“网络信息”:查看远程主机上的共享信息
(4)文件类命令
点击“命令控制台”,点击“文件类命令”前面的“+”即可展开“文件类命令”
该类命令中,“文件浏览”、“文件查找”、“文件压缩”、“文件删除”、“文件打开”等菜单可以查看、查找、压缩、删除、打开远程主机上某个文件。“目录增删”、“目录复制”、可以增加、删除、复制远程主机上的某个目录。
(5)注册表读写
点击“命令控制台”,点击“注册表读写”前面的“+”即可展开“注册表读写”命令
注册表读写提供了“键值读取”、“键值写入”、“键值重命名”、“主键浏览”、“主键增删”、“主键复制”的功能。
(6)设置类命令
点击“命令控制台”,点击“设置类命令”前面的“+”即可展开“设置类命令”
设置类命令提供了“更换墙纸”、“更改计算机名”、“服务器端配置”的功能,
实验步骤三
删除冰河木马
删除冰河木马主要有以下几种方法:
(1)客户端的自动卸载功能
点击“控制类命令”前面的“+”,点击“系统控制”可看到“自动卸载冰河”按钮并点击,在弹出的窗口里面点击“是”,则可以卸载远程主机上的木马自动卸载冰河木马。
(2)手动卸载
在实际情况中木马客户端不可能为木马服务器端自动卸载木马,我们在发现计算机有异常情况时(如经常自动重启,密码信息泄露时),就应该怀疑是否已经中了木马,这时我们应该查看注册表,此处操作在PC1中进行,在“开始”→“运行”里面输入“regedit”,打开Windows注册表编辑器
依次打开一下目录
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
在目录中发现了一个默认的键值C:\WINNT\System32\kernel32.exe,这就是“冰河”密码在注册表中加入的键值,选中它,右键,点击删除,即可把它删除冰河木马的。
然后依次打开目录
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices
在目录中也发现了一个默认的键值C:\WINNT\System32\kernel32.exe,这也是“冰河”木马在注册表中加入的键值,将它删除
上面两个注册表的子键目录Run和Runservices中存放的键值是系统启动时自动启动的程序,一般病毒程序,木马程序,后门程序等都放在这些子键目录下,所以要经常检查这些子键目录下的程序,如果有不明程序,要着重进行分析。
修改文件关联也是木马常用的手段,“冰河”木马将txt文件的缺省打开方式由notepad.exe改为木马的启动程序,除此之外,html、exe、zip、com等文件也都是木马的目标,所以,在最后需要回复注册表中的txt文件关联功能。
方法是找到注册表的HKEY_CLASSES_ROOT\txtfile\Shell\open\command下的默认值,选中“(默认)”,单击鼠标右键,选择修改编辑字符串。
然后即可出现如下窗口,将数值数据C:\Windows\System32\Sysexplr.exe%1改为正常情况下的C:\Windows\notepad.exe%1即可,修改编辑字符串,最后重新启动计算机,冰河木马就彻底删除了。
1、 如何发现木马威胁?
在命令提示符中输入命令"netatst -an" 查看哪些端口和IP是可疑的 ,因为木马都是会开放指定端口的 。
2、 画出木马工作流程图,加深对木马原理理解。
1配置木马
一般来说,一个设计成熟的木马都有木马配置程序,从具体的配置内容看,主要是为了实现以下两个功能。
**(1)木马伪装:**木马配置程序为了在服务器端尽可能隐藏好,会采用多种伪装手段,如修改图标、捆绑文件、定制端口、自我销毁等。
**(2)信息反馈:**木马配置程序会根据信息反馈的方式或地址进行设置,如设置信息反馈的邮件地址、IRC号、ICQ号等。
2 传播木马
配置好木马后,就要传播出去。木马的传播方式主要有:控制端通过E-mail将木马程序以附件的形式夹在邮件中发送出去,收信人只要打开附件就会感染木马;软件下载,一些非正规的网站以提供软件下载为名义,将木马捆绑在软件安装程序上,下载后,只要运行这些程序,木马就会自动安装;通过QQ等通信软件进行传播;通过病毒的夹带把木传播出去。
3 启动木马
木马程序传播给对方后,接下来是启动木马。一种方式是被动地等待木马或捆绑木马的程序被主动运行,这是最简单的木马。大多数首先将自身复制到Windows的系统文件夹中(C:Windows或C:\Windows\system32目录下),然后写人注册表启动组,非启动组中设置好木马的触发条件,这样木马的安装就完成了。一般系统重新启动时木马就可以启动,然后木马打开端口,等待连接。
4 建立连接
一个木马连接的建立必须满足两个条件:一是服务器端已安装了木马程序;二是控制 端、服务器端都要在线。在此基础上控制端可以通讨木马端口与服务器端建立连接。控制端可以根据提前配置的服务器地址、定制端口来建立连接;或者是用扫描器,根据扫描结果中检测哪些计算机的某个端口开放,从而知道该计算机里某类木马的服务器端在运行,然后建立连接;或者根据服务器端主动发回来的信息知道服务器端的地址、端口,然后建立连接。
5 远程控制
前面的步骤完成之后,就是最后的目的阶段,对服务器端进行远程控制,实现窃取密码、文件操作、修改注册表、锁住服务器端及系统操作等。