当前位置:首页 > 技术与方案 > 安全防范相关

小心共享蠕虫入侵局域网 (图)

(2012-09-20 07:17:56)

日前我像往常一样打开计算机,却发现老是有人连接我的计算机,防火墙总是闪个不停。打开防火墙的日志文件一看,发现如下的连接请求:
[11:15:47] 从10.X.X.X:3342接收TCP数据包, 对应的本机地址为61.148.163.X:139,拦截
[11:16:16] 从10.X.X.X:4774接收TCP数据包, 对应的本机地址为61.148.163.X:139,拦截
仔细观察,发现对方IP的TCP请求端口随机产生,请求连接的端口为我的139端口,根据TCP/IP协议的分配,139端口对应的是文件与打印机共享服务。很显然对方想连接我的共享文件,可我并没有共享文件呀。从对方频繁的连接以及我的电脑并无共享文件,可初步判断对方不一定是在恶意攻击。那么到底是怎么回事呢?
首先用Ping 10.X.X.X命令Ping了一下对方,发现有数据包回传,证明网络通畅,然后运行NBTSTAT -NA 10.X.X.X命令,发现域名为工作组,网卡号为XX-XX-XX-XX,这一步是为了证实对方身份。然后用右键点击“网络”在查找计算机里输入对方IP,一下子找到对方(因为局域网中一台主机有路由列表,所以一下子找到了)。点击“开始”菜单中的“运行”,在“打开”栏中输入10.X.X.Xc$,发现对方C盘文件都列了出来。初步分析结果表明对方中了共享蠕虫病毒,病毒改写了注册表,造成硬盘被共享出来。
那么,共享蠕虫是怎么做到令对方浑然不知硬盘已被共享出来呢?大家知道,把一个目录设置为共享的时候,如果在共享名后面加上$符号,那么这个目录将变成一个隐含的共享目录,即对方的机器上看不见这个共享目录。但是如果对方知道共享目录名,仍然是可以访问的,只要在这个目录后面加上$符号就可以了。
虽然对方看不见这个共享目录,但是自己是可以看见的。而共享蠕虫的狡猾之处就在于:不光是对方看不见这个共享目录,而且连本机也是看不见这个共享目录,这样就可以做到神不知,鬼不觉了。当共享蠕虫被执行后,机器就会全部被共享,而机器的主人却不知道!
要做到对方看不见很容易,只要在共享目录名后面加上$符就可以了;而共享蠕虫程序是怎么做到连自己也看不出来的呢?其实道理也是很简单的。
运行Regedit,打开注册表,找到下面的子键:HKEY_LOCAL_MACHINESoftwareMicrosoftWindows CurrentVersionNetworkLanManC$,在屏幕的右边,您可以看见下面的内容:
“Flags”=dword:00000302//共享标志
“Parm1enc”=hex:00000000//共享目录的完全共享密码
“Parm2enc”=hex:00000000//共享目录的只读访问密码
“Path”=“C:”//共享驱动器的路径,就是C:,D:等等
“Remark”=“Remark By Fwnl”//用户共享说明,可以写入一些注释信息,比如“您的硬盘被共享了”
“Type”=dword:00000000     //类型属性
关键就是Flags这个参数,他的键值决定了共享目录的类型。共享有如下几种类型:
1.只读共享,无密码,Flags=0x191(0x表示16进制数);
2.只读共享,需要密码,Flags=0x101;
3.完全共享,无密码,Flags=0x102;
4.完全共享,需密码,Flags=0x102;
5.根据密码访问共享(只读),需密码,与2一样;Flags=0x103
6.根据密码访问共享(完全),需密码,与4一样;Flags=0x103
请大家注意5和6在注册表中设置的标志分别与2、4不一样。
7.根据密码访问共享(只读和完全),需设置不同密码。Flags=0x103;
8.完全共享,无密码,不显示共享,Flags=0x302。
用户访问共享资源时,根据不同的情况拥有不同的访问权限。以上前7种共享,在设置之后,目录图标会发生变化,变成一个具有一只托手的图标。而第8种则不会有任何显示!
由以上分析可知,共享分类完全是由Flags标志决定的,他的键值决定了共享目录的类型,当Flags=0x302时,重新启动系统,目录共享标志消失。共享蠕虫,就是利用了此特性。
Parmlenc、Parm2enc属性项是加密的密码,系统在加密时采用了8位密码分别与“35 9a 4b a6 53 a9 d4 6a”进行异或运算,要想求出密码再进行一次异或运算,然后查ASCII表可得出目录密码。由此,大家不难看出,共享密码是非常脆弱的,只要有人有机会接触您的电脑,您的共享密码就不保了。

如何避免此类蠕虫呢?建议如下:
1.配置Windows设置,使它显示扩展名。在Windows 2000中这可以通过浏览器工具菜单Tools/FolderOptions/View来实现。通过检查那些隐藏为已知文件类型的文件扩展名,一个有害文件(比如EXE或者VBS文件)装扮成无害文件就会困难得多。
2.一定不要打开扩展名为VBS、SHS和PIF的邮件附件。这些扩展名从未在正常附件中使用,但它们经常被病毒和蠕虫使用。
3.一定不要打开有两个扩展名的附件,比如*.BMP.EXE或者*.TXT.VBS文件。
4.除非确实必要,否则不要将您的文件夹共享给他人。如果您共享了,确保不要共享所有的驱动器和Windows目录。
5.对于用VBS编写的共享蠕虫,很好防范。因为在以VBS为后缀名的文件里,都用到了一个重要的对象:WSH。WSH全称Windows Scripting Host,是微软提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,WSH是微软在Windows 98中加进的功能,是一种批次语言/自动执行工具,它使得脚本能够直接在Windows桌面或命令提示符下运行。它所对应的程序“C:Windowswscript.exe”是一个脚本语言解释器,正是它使得脚本可以被执行,就像执行批处理一样。利用WSH,用户能够操纵WSH对象、ActiveX对象、注册表和文件系统。在Windows 2000下,还可用WSH来访问Windows NT活动目录服务。在带给人们便利的同时,WSH也为病毒的传播留下可乘之机。
由于VBS脚本是通过Windows Script Host来解释执行的,因此将Windows Script Host删除,就再也不用担心这些用VBS和JS编写的病毒了!从另一个角度来说,Windows Script Host本来是被系统管理员用来配置桌面环境和系统服务,实现最小化管理的一个手段,但对于大部分一般用户而言,WSH并没有多大用处,所以我们可以禁止Windows Script Host。另外,禁止VBScript(JScript)文件执行也是可行的办法之一。
首先说说卸载Windows Script Host。在Windows 98中(NT4.0以上同理),打开“控制面板”,打开“添加/删除程序”,点选“Windows安装程序”,再用鼠标双击其中的“附件”一项,然后再在打开的窗口中将“Windows Scripting Host”一项的“√”去掉,如图1所示,然后点“确定”,再点“确定”,这样就可以将Windows Scripting Host卸载。

再谈谈怎样删除VBS、VBE、JS、JSE等与应用程序的映射。点击“我的电脑”→“查看”→“文件夹选项”,在弹出的对话框中,点击“文件类型”,然后删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射(见图2)。
或者在Windows目录中找到WScript.exe和JScript.exe,更改其名称或者干脆删除。
6.对Windows 2000用户,还可以通过在Windows 2000下把服务里面的远程注册表操作服务“Remote Registry Service”禁用,来对付网页中的共享蠕虫。具体方法是:点击“管理工具→服务→Remote Registry Service(允许远程注册表操作)”,将这一项禁用即可(见图3)。

7.经常检查注册表,查看HKEY_LOCAL_MACHINE SoftwareMicrosoftWindows CurrentVersionNetworkLanMan是否有可疑的键值。
8.给系统打上最新的补丁或用最新版本,同时打开病毒防火墙和网络防火墙。这一点没有什么好多说的,已经成为大家的共识了

1作者:吴建蓉


 

更多
关闭窗口 打印 
网站首页    -    联系我们    -   收藏本站    -    网站地图                                                               客户服务热线:0571-85023000
本网站所有网页信息已申请知识产权和著作权保护,版权归四海光纤公司所有,未经授权禁止任何人复制或镜像,违者必究。
公司主营:杭州光纤光缆视频会议系统,是专业的通信网络工程、视频会议系统建设专家

中华人民共和国备案号:浙ICP备10018243号