网络通信 频道

常见网页攻击五招

作为网管员,常常接到同事关于机器遭到攻击的报告。其中,网页攻击的现象有日益增加的趋势。一些恶意网页利用浏览器或操作系统方面的安全缺陷,通过执行嵌入在网页内的Java Applet小应用程序、JavaScript脚本语言程序、VBScript脚本或ActiveX控件等自动执行的代码程序,强行修改用户操作系统的注册表或运行用户本地程序,从而达到破坏数据,非法控制系统资源、感染木马程序甚至格式化硬盘等目的。

常见网页攻击透析

目前,恶意网页的攻击一般分为两种:一种是通过脚本程序修改IE浏览器,另外一种是直接攻击Windows系统。前者一般会修改IE浏览器的标题栏、默认主页等,后者可以对操作系统进行破坏。

招数一:修改IE相关信息
主要有以下几种情况。
修改IE标题栏:这是最常见的篡改手段,现象是将IE标题栏改成“欢迎访问XX网站”的形式。
修改IE默认首页:将IE的默认以启动打开页面设置为该恶意网站的地址,并且不能更改。
修改IE中的鼠标右键菜单:当“中标”的用户在浏览器中右击鼠标的时候,在弹出的快捷菜单中会多出一项“欢迎访问XX网站”的选项。
修改系统启动项:当启动Windows系统时,会自动弹出“欢迎访问XX网站”的窗口,然后自动打开IE浏览器并进入默认恶意主页,同时无法更改。
应对措施:由于以上现象都是通过恶意修改注册表文件实现的,所以用注册表编辑器搜索所有含有“XX网站”和“XX网址”的键值,并将这些键值全部删除就能恢复正常。但有些恶意代码为了防止用户修改复原,甚至在发作时就把注册表编辑器也屏蔽了,使用户不能打开。遇到这样的现象,可以找一个第三方的注册表编辑器,将注册表中的HEKY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion PoliciesSystem下的DWORD值“DisableRegistryTools”键值恢复为“0”,即可恢复注册表。

招数二:格式化硬盘
这是一种非常危险的网页黑手,它会通过IE执行ActiveX控制并调用Format.com或Deltree.exe将硬盘格式化或者删除文件夹。而这一切都是在后台运行的,不易被察觉。
防范措施:将本机的Format.com或Deltree.exe重新命名或转移其默认目录位置,或者及时升级微软的安全补丁也可堵住这个漏洞。

招数三:网页炸弹
这种网页代码的实现非常简单,只需要一段Java Script代码就可以产生一个死循环,以至不断消耗本机系统资源,最后导致系统死机。它们会出现在一些恶意网站的页面或者邮件的附件中,不小心打开后,屏幕上就会不停地弹出IE窗口,最后只有重新启动计算机。
防范措施:不要轻易进入不了解的网站,对于陌生人发来的E-mail中的附件,如果扩展名是VBS、HTML、HTM、DOC、EXE等文件,那就千万要小心,在IE设置中禁用JAVA脚本。

招数四:非法读取文件
此类恶意代码通过对ActiveX、JavaScript和WebBrowser Control的调用来达到对本地文件进行读取。它还可以利用浏览器漏洞实现对本地文件的读取。
防范措施:通过禁用浏览器的JavaScript和提高安全级别等来避免遭受这类攻击。

招数五:获取控制权限
此类代码会利用IE执行ActiveX实现,虽然说IE提供对于“下载已签名的ActiveX控件”进行提示的功能,但是恶意攻击代码会绕过IE,在无需提示的情况下下载和执行ActiveX控件程序,而这时恶意攻击者就会取得对系统的控制权限。
应对措施:打开注册表编辑器,然后展开如下分支:在“HEKY_CURRENT_USERSoftwareMicrosoftInternetExplorer ActiveX Compatibility”中为Active Setup controls创建一个基于CLSID的新键值{6E449683_C509_11CF _AAFA_00AA00 B6015C},然后在新建键值下创建一个REG_DWORD类型的键Compatibility,并设定键值为0x00000400。

网站恶意攻击的常用防范措施

设定IE安全级别
合理设置IE浏览器的安全级别可以阻挡大部分脚本攻击。在IE中打开“工具”→“Internet选项”,然后选择“安全”选项卡,选择“Internet”后单击“自定义级别”按钮,在“安全设置”对话框中将“ActiveX控件和插件”、“脚本”中的相关选项全部禁用,另外设定安全级别为“高”(如图1)。需要注意的是,如果禁用相关选项,一些需要使用ActiveX和脚本的网站可能无法正常显示。
过滤恶意网页

→图1


对于一些包含有恶意代码的网页,可以将其屏蔽,打开IE浏览器的“工具/Internet选项”,选择“内容”选项卡,在“分级审查”中单击“启用”按钮,打开分级审查对话框,选择“许可站点”选项卡,输入需要屏蔽的网址,然后单击“从不”按钮,最后确定即可。
卸载或升级WSH
有些利用VBScript编制的病毒,包含了一个以VBS为后缀名的附件,打开附件,用户就会被感染。这些病毒会利用Windows内嵌的Windows Scripting Host即WSH进行启动和运行。WSH是微软提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。WSH所对应的程序“WScript.exe”是一个脚本语言解释器,位于C:Windows下,正是它使得脚本可以被执行,就象执行批处理一样。在Windows Scripting Host脚本环境里,预定义了一些对象,通过它自带的几个内置对象,可以实现获取环境变量、创建快捷方式、加载程序、读写注册表等功能。如果将WSH禁用,隐藏在VB脚本中的病毒就无法被激活了。
在Windows 98中禁用WSH方法为:打开“控制面板”,再打开“添加/删除程序”,点选“Windows安装程序”,用鼠标双击其中的“附件”一项,然后在打开的窗口中将“Windows Scripting Host”一项的“√”去掉,连点两次“确定”,就可以将Windows Scripting Host卸载了。
在Windows 2000中禁用WSH的方法是,双击“我的电脑”图标,然后选择“工具”菜单下的“文件夹选项”,选择“文件类型”选项卡,找到“VBS VBScript Script File”选项,并单击“删除”按钮,最后确定即可。
另外,还可以升级WSH到5.6版,IE5.5以前版本中的WSH允许攻击者利用JavaScript中的Getobject函数以及htmlfile ActiveX对象读取浏览者的注册表,最新版本的WSH升级补丁下载地址:http://www.city9990.com/citytxt/downsafe/WSH5.6.zip
停用远程注册表服务
在Windows 2000/xp中,点击控制面板下的“管理工具→服务”中的停止“Remote Registry”服务(图2),也可以拦载部分恶意脚本代码。
安装防火墙和杀毒软件
安装防火墙和杀毒软件可以拦载部分恶意代码程序,比如运行杀毒软件的即时监控软件,并及时升级病毒代码,也可以在上网时防范一些恶意脚本程序。
善于利用各种工具
例如著名的超级兔子魔法工具就提供了IE浏览器保护和恢复功能,另外还有3721提供的“魔法石”网页,可以帮助我们在线清除恶意代码,优化网络,方便地进行个性设置等。
一劳永逸删除WSHShell对象和FileSystem对象
打开记事本输入如下内容:
text1 = "此脚本将删除注册表中的WSHShell对象和FileSystem对象。"
text2 = "这些对象对普通用户并没有用处,而删除他们可以增强系统的安全性,"
text3 = "阻止大多数通过浏览器以及电子邮件带来的安全问题,"
text4 = "包括恶意网页对IE标题栏的修改等。建议在删除之前先备份注册表。"

Alarm_ =" "& text1 & text2 & text3 & text4

Title_ = "code by dgq"
Call Start()

Dim WSHShell
Set WSHShell=WScript.CreateObject("WScript.Shell")

WSHShell.Popup "删除WSHShell对象"
WSHShell.RegDelete "HKLMSOFTWAREClassesCLSID{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}"

WSHShell.Popup "删除FileSystem对象"
WSHShell.RegDelete "HKLMSOFTWAREClassesCLSID{0D43FE01-F093-11CF-8940-00A0C9054228}"

Sub Start()
Dim intDoIt
intDoIt=MsgBox(Alarm_, _
vbOKCancel + vbInformation, _
Title_ )
If intDoIt=vbCancel Then
WScript.Quit
End If
End Sub
将上述代码保存为delobj.vbs,运行后可自动删除WSHShell和FileSystem对象,这样再浏览网页就安全多了。
浅谈物理路径的泄露
■ 北京 Tread
路径泄露是属于低风险等级一类的缺陷,它的危害一般被描述为“攻击者可以利用此漏洞得到的信息对系统进行进一步的攻击”,提供Web、FTP、SMTP等公共服务的服务器都有可能出现物理路径泄露的问题。
我们比较常见的是与Web服务器有关的路径泄露公告。导致Web服务器路径泄露的原因有很多,可能是Web平台本身、脚本语言解释器、引擎插件、组件、辅助程序等一些原因造成的,但最有可能的是脚本编写错误导致的。很多时候,攻击者精心构造一个畸形的、超长的或不存在的文件请求,而这个请求是Web服务器没有预料且不能正确处理的,这时往往会返回出错信息,最直观的就是暴露物理路径。譬如,对于很多CGI论坛来说,提交一个不存在的CGI文件请求,或者提交一个没有输出的CGI文件的请求,它们会将网站本身所在的物理路径给暴露出来。笔者做过很多试验,的确非常轻松就可以拿到对方网站的物理路径。
得到物理路径到底有什么用?这是很多攻击者关心的问题。如果把“路径泄露”这个缺陷分化出去单独讨论,那肯定没有什么意义。但把它放到完整的入侵过程中来看,有些时候的确能给攻击者带来一些有用的信息,比如说:可以大致了解系统的文件目录结构;可以看出系统所使用的第三方软件,也说不定您因此得到了一个合法的用户名(因为很多人把自己的名字作为网站的目录名)。另外,就是很多时候您的攻击程序需要对方完整的物理路径。当然,当您发现路径是系统的默认路径时,您可能会说:哦,管理员的安全水平很低啊……也许您认为这些不值什么,但很多入侵行为持续绕了几个大圈子无功而返后,最后却还是利用了一个自己忽略的小缺陷成功了!漏洞无处不在,发现它是门艺术,利用它同样是门艺术。
那如何在Web服务中避免路径泄露?漏洞虽小,但“千里之堤,溃于蚁穴”。方法是有的,我这里还是现实点,拿大多数朋友选用的Web平台IIS来举例:首先您得保证使用最新版本并打了最新补丁,包括IIS、脚本语言解释器(如Activeperl)、引擎插件、组件、辅助程序;其次是配置方面的问题,首当其冲的是“检查文件是否存在”,具体是:IIS/站点/属性/主目录/配置/应用程序映射/编辑/检查文件是否存在,这样做不仅可避免“请求不存在文件”泄露路径,还可阻挡一些其他攻击,如拒绝服务或溢出攻击。还记得NSFOCUS发现ActivePerl所带的一个动态链接库(perllS.dll)在处理超长文件名时存在的一个缓冲区溢出漏洞吗?最简单的解决方法就是检查文件是否存在,再者便是要求程序员编写规范脚本,这是最重要的。错误处理是各种语言编程中一个很重要的必不可少的部分,虽然每种语言都提供了完善的出错处理函数,但您也得正确使用它,如Perl中的“die”函数,如果没有在错误信息后面加上“n”的话,就很可能导致物理路径泄露。然而,脚本程序员却一直忽略了这些问题,任何时候程序员都应该做好充分的考虑,给出完整的出错处理方案。
路径泄露是个广泛存在的缺陷,要彻底完整地分析它需要很多方面的知识,可惜的是一直没人来专门讨论这个话题。笔者希望此文起个抛砖引玉的作用,希望与在这方面有比较深入研究的朋友继续讨论。

Windows Server 2003
安全技巧七则
■ 辽宁 独孤凉风
一、“封杀”安全提示页面

Windows Server 2003操作系统相对其他系统来说,比较突出的一个地方,就是安全性能方面得到了进一步加强。这不,每次使用该系统默认的IE浏览器来进行“网上冲浪”时,系统总是“不厌其烦”地弹出一个安全提示框,来对你浏览的每个网页进行“阻截”提示,并要你配置确认当前网页到底是否安全等。要是你对该功能感到厌烦的话,可以按照下面的方法,将安全提示页面“封杀”掉,具体步骤为:
1.一旦系统打开安全提示页面时,你可以用鼠标将其中的“当网站的内容被堵塞时继续提示”复选项选中;
2.在浏览界面中,用鼠标单击“工具”菜单项,从打开的下拉菜单中执行“Internet选项”命令;
3.在弹出的选项设置界面中,你可以将系统默认状态下的最高安全级别设置为中等级别;
4.设置时,只要在“安全”标签页面中,拖动其中的安全滑块到“中”位置处就可以了;
5.完成设置后,单击“确定”按钮,就可以将浏览器的安全自动提示页面“封杀”了。

→图2

二、添加站点到“信任区域”

Windows Server 2003操作系统使用了一个安全插件,为用户提供了增强的安全服务功能,利用该功能你可以自定义网站访问的安全性。在缺省状态下,Windows Server 2003操作系统会自动启用增强的安全服务功能,并将所有被访问的Internet站点的安全级别设置为“高”。对于频繁访问的网站,你可以将其添加到受信任的站点区域中,日后再次访问它时,系统就不会弹出安全提示框了。
添加站点到“信任区域”的具体做法为:
1.在浏览器的地址框中,输入需要访问的站点地址,单击回车键,就会自动打开一个安全提示警告窗口;
2.要是不想浏览该站点时,直接可以单击“关闭”按钮;要是想浏览的话,可以单击“添加”按钮;
3.在随后打开的“可信任站点”设置窗口中,你会发现当前被访问的站点地址已经出现在信任区域文本框中;
4.继续单击“添加”按钮,就能将该站点添加到网站受信任区域中了;下次重新访问该站点时,浏览器就会跳过安全检查,直接打开该站点的网页页面了。

三、重新支持ASP脚本

为了将系统安全隐患降到最低限度,Windows Server 2003操作系统在默认状态下,是不支持ASP脚本运行的;不过现在许多网页的服务功能多是通过ASP脚本来实现的,为此,我们很有必要在安全有保障的前提下,让系统重新支持ASP脚本。具体实现的方法为:
1.在系统的开始菜单中,依次单击“管理工具”/“Internet信息服务管理器”命令;
2.在随后出现的Internet信息服务属性设置窗口中,用鼠标选中左侧区域中的“Web服务器扩展”选项;
3.接着在对应该选项右侧的区域中,用鼠标双击“Actives server pages”选项,然后将“任务栏”设置项处的“允许”按钮单击一下,系统中的II6就可以重新支持ASP脚本了。

四、删除默认共享

删除Windows Server 2003默认共享
首先编写如下内容的批处理文件:
@echo off
net share C$ /del
net share D$ /del
net share E$ /del
net share F$ /del
net share admin$ /del
以上批处理内容大家可以根据自己需要修改。保存为delshare.bat,存放到系统所在文件夹下的system32GroupPolicyUserScriptsLogon目录下。然后在开始菜单→运行中输入gpedit.msc,回车即可打开组策略编辑器。点击用户配置→Windows设置→脚本(登录/注销)→登录,在出现的“登录 属性”窗口中单击“添加”,会出现“添加脚本”对话框,在该窗口的“脚本名”栏中输入delshare.bat(如图1),然后单击“确定”按钮即可。这样就可以通过组策略编辑器使系统开机即执行脚本删除系统默认的共享。
禁用IPC连接
IPC是Internet Process Connection的缩写,也就是远程网络连接。它是Windows NT/2000/XP/2003特有的功能,其实就是在两个计算机进程之间建立通信连接,一些网络通信程序的通信建立在IPC上面。举个例子来说,IPC就象是事先铺好的路,我们可以用程序通过这条“路”访问远程主机。默认情况下,IPC是共享的,也就是说微软已经为我们铺好了路,因此,这种基于IPC的入侵也常常被简称为IPC入侵。建立IPC连接不需要任何黑客工具,在命令行里键入相应的命令就可以了,不过有个前提条件,那就是你需要知道远程主机的用户名和密码。打开CMD后输入如下命令即可进行连接:net useipipc$ "password" /user:"usernqme"。我们可以通过修改注册表来禁用IPC连接。打开注册表编辑器。找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa中的restrictanonymous子键,将其值改为1即可禁用IPC连接。

五、设置远程可访问的注册表路径

设置远程可访问的注册表路径为空,这样可以有效地防止黑客利用扫描器通过远程注册表读取计算机的系统信息及其它信息。打开组策略编辑器,然后选择“计算机配置”→“Windows设置”→“安全选项”→“网络访问:可远程访问的注册表路径”及“网络访问:可远程访问的注册表”,将设置远程可访问的注册表路径和子路径内容设置为空即可。

六、关闭不必要的端口

大家都知道,139端口是Netbios使用的端口,在以前的Windows版本中,只要不安装Microsoft网络的文件和打印共享协议,就可关闭139端口。在Windows Server 2003中,只这样做是不行的。如果想彻底关闭139端口,方法如下:
鼠标右键单击“网络邻居”,选择“属性”,进入“网络和拨号连接”,再用鼠标右键单击“本地连接”,选择“属性”,打开“本地连接 属性”页,然后去掉“Microsoft网络的文件和打印共享”前面的“√”(如图2),接下来选中“Internet协议(TCP/IP)”,单击“属性”→“高级”→“WINS”,把“禁用TCP/IP上的NetBIOS”选中(如图2),即大功告成!这样做还可有效防止SMBCrack之类工具破解和利用网页得到我们的NT散列。
如果你的机子还装了IIS,你最好设置一下端口过滤。方法如下:选择网卡属性,然后双击“Internet协议(TCP/IP)”,在出现的窗口中单击“高级”按钮,会进入“高级TCP/IP设置”窗口,接下来选择“选项”标签下的“TCP/IP 筛选”项,点“属性”按钮,会来到“TCP/IP 筛选”的窗口,在该窗口的“启用TCP/IP筛选(所有适配器)”前面打上“√”(如图3),然后根据需要配置就可以了。比方说如果你只打算浏览网页,则只开放TCP端口80即可,所以可以在“TCP端口”上方选择“只允许”,然后单击“添加”按钮,输入80再单击“确定”即可。如果有其他需要可如法炮制。

七、根据需要对系统服务进行控制

服务是一种在系统后台运行的应用程序类型,它与UNIX后台程序类似。服务提供了核心操作系统功能,如Web 服务、事件日志记录、文件服务、帮助和支持、打印、加密和错误报告。通过服务管理单元,可管理本地或远程计算机上的服务。所以并不是所有默认服务都是我们需要的。我们不需要的可以停用、禁用,来释放系统资源。如果你想更加了解系统的服务,可以到“我的电脑”→“控制面板”→“服务”中查看,每个服务都有完整的描述,或使用Windows 2003的帮助与支持,查阅相关资料。
最后提醒大家,经常到各大网络安全站点看其最新公告,并急时为系统打上补丁,这样你的系统会安全许多。

文章转载地址:http://www.365master.com/kt_article_show.php?article_id=329&categ_code=10041003

0
相关文章