这个实验是网络攻防课程实验中的一个,以冰河木马为例,操作系统是XP,对于现在的安全意义不大了,但是可以看一下多年前流行的冰河木马的功能和操作。
一、实验目的和要求
(1)通过对木马的练习,使读者理解和掌握木马传播和运行的机制;
(2)通过手动删除木马,掌握检查木马和删除木马的技巧,学会防御木马的相关知识,加深对木马的安全防范意识。
二、实验原理和实验环境
实验原理:
木马是隐藏在正常程序中的具有特殊功能恶意代码,是具备破坏,删除和修改文件,发送密码,记录键盘,实施Dos攻击甚至完全可能告知计算机等特殊功能的后门程序。它隐藏在目标计算机里,可以随计算机自动启动并在某一端口监听来自控制端的控制信息。
木马工作原理
(1)木马的传统连接技术:一般木马都采用C/S(client/server,即服务器/客户端)运行模式,因此它分为两部分,即客户端和服务前端木马程序。其原理是,当服务器端程序在目标计算机上被执行后,一般会打开一个默认的端口进行监听,当客户端向服务器端主动提出连接请求,服务器端的木马程序就会自动运行,来应答客户端的请求,从而建立连接。第一代和第二代木马就采用这种方式。
(2)木马的反弹端口技术:随着防火墙技术的发展,它可有效拦截从外部主动发起的连接的木马程序。但防火墙对内部发起的连接请求则认为是正常连接,第三代第四代木马就是利用这个缺点,其服务器端程序主动发起对外连接请求,再通过某些方式连接到木马的客户端,就是说“反弹式”木马是服务器端主动发起连接请求,而客户端是被动的连接。
(3)线程插入技术:我们知道,一个应用程序在运行之后,都会在系统之中产生一个进程,同时,每个进程分别对应了一个不同的进程标识符。系统会分配一个虚拟的内存空间地址段给这个进程,一切相关的程序操作,都会在这个虚拟的空间中进行。一般情况下,线程之间是相互独立的,当一个线程发生错误的时候,并不一定会导致整个进程的崩溃。“线程插入”技术就是利用线程之间运行的相对独立性,使木马完全地融进了系统那个内核。系统运行时会有很多的进程,而每个进程又有许多的线程,这就导致了查杀利用“线程插入”技术木马程序的难度。
实验环境:
VPC1(虚拟PC) 操作系统类型:windows xp,网络接口:eth0
VPC1 连接要求 与VPC2相连
VPC2(虚拟PC) 操作系统类型:windows xp,网络接口:eth0
VPC2连接要求 与VPC1相连
软件描述 冰河V8.4
实验环境描述 VPC1与VPC2直接相连,组成一个小局域网
三、实验内容及步骤
1、学生单击“试验环境试验”按钮,出现如图所示网络拓扑
2、点击“打开控制台”分别进入VPC1:xp01与VPC2:xp02实验系统。在VPC1中D:\tools文件夹下。
3、双击G_SERVER,G_Server是木马的服务器端,即用来植入目标主机的程序。
4、此时,如果弹出“windows安全警报”窗口,点击“解除阻止”,木马的服务器端便开始启动。
5、同样,在VPC2中D:\tools目录,双击G_CLIENT(G_Client是木马的客户端,即木马的控制端)
6、此时如果弹出“windows安全警报窗口”,点击“解除阻止”,则可打开控制端。
7、打开控制端G_CLIENT后,弹出“冰河”的主界面。
8、单击快捷工具栏中的“添加主机”按钮。
则弹出如下窗口。
9、在打开中输入cmd,点击确定,即可出现命令行界面,在窗口中输入“ipconfig”即可获取VPC1的IP地址,如教材图11窗口,此处VPC1的IP地址为172.16.1.192(此IP地址不固定)。
10、在如图所示窗口中填写VPC1的IP地址,并点击确定,即可以看到主机界面上添加了192.168.1.176的主机。
11、单击192.168.1.176主机,如果连接成功,则会显示服务器端主机上的盘符。这时我们就可以像操作自己的电脑一样操作远程目标电脑,比如打开C:\WINNT\system32\config目录可以找到对方主机上保存用户口令的SAM文件。
命令控制台命令的使用方法
13.口令类命令:
点击“命令控制台”,点击“口令类命令”前面的“+”即可得到图示界面
“系统信息及口令”:可以查看远程主机的系统信息,开机口令,缓存口令等。可看到非常详细的远程主机信息,这就无异于远程主机彻底暴露在攻击者面前
“历史口令”:可以查看远程主机以往使用的口令
“击键记录”:启动键盘记录后,可以记录远程主机用户击键记录,一次可以分析出远程主机的各种账号和口令或各种秘密信息
14.控制类命令
点击“命令控制台”,点击“控制类命令”前面的“+”即可得到图所示界面
“捕获屏幕”:这个功能可以使控制端使用者查看远程主机的屏幕,好像远程主机就在自己面前一样,这样更有利于窃取各种信息,单击“查看屏幕”按钮,然后就染成了远程主机的屏幕。可以看到,远程主机屏幕上的内容就显示在本机上了,显示内容不是动态的,而是每隔一段时间传来一幅。
“发送信息”:这个功能可以使你向远程计算机发生Windows标准的各种信息,在“信息正文”中可以填入要发给对方的信息,在图表类型中,可以选择“普通”,“警告”,“询问”,“错误”等类型。按钮类型可以选择“确定”“是”“否”等类型。
“进程管理”:这个功能可以使控制着查看远程主机上所有的进程
“窗口管理”:这个功能可以使远程主机上的窗口进行刷新,最大化,最小化,激活,隐藏等操作。
“系统管理”:这个功能可以使远程主机进行关机,重启,重新加载“冰河”自动卸载“冰河”的操作
“鼠标控制”:这个功能可以使远程主机上的鼠标锁定在某个范围内
“其他控制”:这个功能可以使远程主机进行自动拨号禁止,桌面隐藏,注册表锁定等操作
15.网络类命令
点击“命令控制台”,点击“网络类命令”前面的“+”即可展开网络类命令,如图所示
“创建共享”:在远程主机上创建自己的共享
“删除共享”:在远程主机上删除某个特定的共享
“网络信息”:查看远程主机上的共享信息
16.文件类命令
点击“命令控制台”,点击“文件类命令”前面的“+”即可展开“文件类命令”
文件浏览”,“文件查找”,“文件压缩”,“文件删除”,“文件打开”等菜单可以查看,查找,压缩,删除,打开远程主机上某个文件。
“目录增删”,“目录复制”,可以增加,删除,复制远程主机上的某个目录。
17.注册表读写
点击“命令控制台”,点击“注册表读写”前面的“+”即可展开“注册表读写”
注册表读写提供了“键值读取”,“键值写入”,“键值重命名”,“主键浏览”,“主键增删”“主键复制”的功能
18.设置类命令
点击“命令控制台”,点击“设置类命令”前面的“+”即可展开“设置类命令”,设置类命令提供了“更换墙纸”,“更改计算机名”,“服务器端配置”等操作
19.删除冰河木马
删除冰河木马主要有以下几种方法:
①客户端的自动卸载功能
点击“控制类命令”前面的“+”,点击“系统控制”可看到“自动卸载冰河”按钮并点击,在弹出的窗口里面点击“是”,则可以卸载远程主机上的木马。
②手动卸载
在实际情况中木马客户端不可能为木马服务器端自动卸载木马,我们在发现计算机有异常情况时,(如经常自动重启,密码信息泄露时)就应该怀疑是否已经中了木马,这时我们应该查看注册表,此处操作在VPC1中的进行,在“开始”的“运行”里面输入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中存放的键值是系统启动时自动起订的程序,一般病毒程序,木马程序,后门程序等都放在这些子键目录下,所以要经常检查这些子键目录下的程序,如果有不明程序,要着重进行分析。
然后我们再进入C:\WINNT\System32目录,找到“冰河”木马的两个可执行文件Kernel32.exe和Sysexplr.exe文件,将它们删除。
修改文件关联也是木马常用的手段,“冰河”木马将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即可
重新启动计算机,冰河木马就彻底删除了。