时间:2005-5-14 作者:张云帆
在DOS/Win3.x/Win9x时代,令人谈之色变的病毒数不胜数。有很多病毒具有能够破坏硬盘分区,篡改引导程序,毁坏CMOS数据的能力。它们轻则使磁盘的数据化为乌有,重则使系统无法识别分区,无法进入DOS或者Win9x,甚至还能让微机无法正常启动。不知道当年有多少用户,被臭名昭著的硬盘逻辑锁,CIH折腾得焦头烂额。
然而,幸运的是,进入Win2000/XP/2003时代以后,由于系统是工作在保护模式之下的,对于一切调用BIOS中断功能以修改硬盘或者是直接对硬件端口进行操作的程序,系统都拒绝执行。比如说这样一个16位程序(名为test1.com,初始指令指针为0x100):
mov ax,301
mov bx,300
mov cx,9
mov dx,80
int 13
ret
(上面代码中的数据均为16进制数)
它试图利用BIOS的磁盘控制中断功能直接对硬盘进行写操作,一旦在Win2000/XP/2003下运行,系统会弹出这一个错误信息。(有兴趣的自己可以把文件保存成test.com,运行一下试试)
此时,无论是点击“关闭”,还是点击“忽略”,这个程序对BIOS功能调用的尝试都会被系统强行终止。而在DOS/Win3.x/Win9x时代,那些破坏硬盘分区、篡改引导程序之类的病毒,往往会调用前文中test1.com所调用的磁盘控制BIOS功能。因此这些病毒如果直接运行在Win2000/XP/2003系统之上,它们将会无功而返。
再比如,这样一个32位程序(名叫port.c用VC++编译后生成port.exe):
#include<stdio.h>
main()
{
printf("It is only for test!/n");
__asm
{
push eax
mov al,4
out 0x70,al
mov al,1
out 0x71,al
mov al,2
out 0x70,al
mov al,2
out 0x71,al        
mov al,0
out 0x70,al
mov al,3
out 0x71,al
pop eax
}
return 0;
}
它试图通过直接进行端口操作来修改CMOS的时间(如果运行成功,时间将被改为01:02:03)。一旦在Win2000/XP/2003下运行,系统会弹出这样一个报错提示。(有兴趣的自己可以把文件保存成test.com,运行一下试试)
可以看出它试图修改CMOS的举动也同样被拒绝了。因此,那些在老系统中通过端口操作来毁坏CMOS数据的病毒在新系统下只能望“窗”兴叹了。
看来这类直接破坏硬盘、CMOS的病毒在Win2000/XP/2003下真是过时了。而现在主流的操作系统正是Win2000/XP/2003,大家似乎不用再害怕这些DOS/Win3.x/Win9x病毒了。
看到这儿一定会有人情不自禁地说:这些病毒老矣,没用了!不过别高兴的太早了!在特定的情况下,这些能够破坏硬盘、CMOS数据的病毒的功能可以再现于在Win2000/XP/2003系统,完成其害人的勾当。所以本文提醒大家:警惕这些病毒死灰复燃!
那么读者一定会问,刚才不是说Win2000/XP/2003是工作在保护模式下的吗?怎么会怕这种能够破坏硬盘、CMOS数据的病毒呢?没错,在Win2000/XP/2003启动完成之后,的确工作在保护模式下,但在刚开始启动时有一个短暂的“危险期”。此时,Win2000/XP/2003会首先加载C:/Ntldr,加载完成后会出现供用户选择系统的画面(如果不是多系统,该画面会很快跳过)。
当用户在自己选定的Win2000/XP/2003系统上按下回车后,系统会加载C:/NTDETECT.COM文件(如果不是多系统,则Windows不等用户按回车自动加载C:/NTDETECT.COM文件)。问题恰恰出在这里。在刚启动到如图3所示的时候,系统还没有进入保护模式,如果恶意破坏硬盘、CMOS数据的程序在这个时候运行,那用户就遭殃了。这绝非杞人忧天之虑,虽然这个时候无论是远程还是本地都无法随意运行程序,但是,如果用户新近上网时不慎被病毒用一个同样叫NTDETECT.COM的恶意程序覆盖了C盘下正常的NTDETECT.COM文件,那么当下次启动Windows,进入供用户选择系统的画面,选择了进入某个Win2000/XP/2003系统时,只要他一按回车,那个恶意的NTDETECT.COM就会运行。
下面举个例子:
比如说这样一个代码(设定初始指令指针为0x100):
lea bx,[300]
mov dl,2
mov cl,ff
mov dh,0
mov [bx],dh
inc bx
dec cl
cmp cl,0
jnz 108
dec dl
cmp dl,0
jnz 106
mov ax,301
mov bx,300
mov cx,1
mov dx,80
int 13
jmp ffff:0
ret
(上面程序中的数据均为16进制数)
它试图用一些垃圾数据来覆盖硬盘最重要的扇区。如果用它生成了bin格式的可执行程序并且命名为NTDETECT.COM,并通过某种途径用此程序将正常的C:/NTDETECT.COM覆盖;那么启动时便会被加载,接下来系统会自动重启,之后用户就无法从硬盘启动,用其他介质启动也无法访问硬盘。
如果含有直接破坏硬盘,修改CMOS数据之类的恶意代码的病毒用这样一种方法攻击系统,那么它们这些过了时的恶意代码便可以在Win2000/XP/2003系统下重出江湖了这个安全隐患虽然不明显,但绝对有可能带来毁灭性的后果。不过,常言道:魔高一尺、道高一丈,这种病毒再厉害也能对付它!
下面就介绍一种方法:
首先,将正常的NTDETECT.COM备份在一个安全的目录下(这里将它备份在d:/tmp里)。
然后用快捷键“Win”(“ctrl”与“alt”中间那个键)+“R”打开运行(或者开始-运行),并在其中输入gpedit.msc。回车确认后,“组策略”将被打开。 
选中“计算机配置”—> “Windows设置”—> “脚本(启动/关闭)”这一项,在右边双击“关机”,之后会出现图1:

图 1 
选择添加,然后输入脚本名(此处是shut.bat)。

图 2 
在出现图7时点“浏览”,再在出现的对话框中将文件类型选为所有类型,再右击对话框的空白处,新建一个文本文档(如图3)

图 3
再将新建文件命名为shut.bat,接下来右击shut.bat,选择编辑。之后按图4编辑shut.bat:

图 4
最后保存退出。另外顺便说一下,在命名新建的文档文本(图3后面的操作)之前,一定要在“文件夹选项”—>“查看”中把
“隐藏已知文件类型扩展名”这一项前面的勾去掉(如图5)。

图 5 
这样一来,每次关机时系统都会用一个正常的NTDETECT.COM来覆盖C盘下的原文件。因此,即使用户在线时,正常的NTDETECT.COM被恶意代码所覆盖,关机时正常的程序会被还原,下次启动时就不存在恶意代码问题了。
Win2000/XP/2003虽然工作在保护模式下,但依然会受到那些在DOS/Win3.x/Win9x时代病毒的威胁,死灰复燃的病毒仍旧具有很大的杀伤力,大家应该随时保持警惕。
后记:
前一段时间,网上流行过一种名为:NTDETECT.EXE的病毒。这种病毒会进入C盘根目录并形成一个NTDETECT.EXE文件;而在默认情况下,Windows系统是不显示扩展名的(就是把NTDETECT.EXE以及NTDETECT.COM都显示为NTDETECT),如此一来,这个病毒就伪装成了系统文件(用户在C盘下会看到两个NTDETECT文件,NTDETECT.EXE就伪装成了NTDETECT.COM),那么在用户不知情的情况下,它被删除的概率就大大降低了。
见到这个病毒,笔者不禁猜想:假如病毒不是用NTDETECT.EXE来伪装成NTDETECT.COM,而是用名为NTDETECT.COM的恶意代码直接覆盖了原有的NTDETECT.COM那会怎样呢?那后果真是不堪设想,所以笔者想通过本文来提醒大家。(作者单位  北京邮电大学电信工程学院)

今天发现自己的c:/目录下也有NTDETECT.EXE文件,就找到了这篇文章,留给大家参考。

老病毒再现新系统--警惕恶意代码死灰复燃,(NTDETECT.EXE,NTDETECT.COM)相关推荐

  1. 老系统升级到新系统-灰度发布

    老系统升级到新系统-灰度发布 背景 灰度发布期间产生的问题 灰度发布期间问题的解决方案 总结 背景 作者所在的公司随着业务发展,老系统越发显得无力支撑业务发展,同时伴随着各种问题不断的浮现,所以新系统 ...

  2. 网络安全知识之防范恶意代码

    首先防范恶意代码在我们的网络安全等级保护工作中是有明确要求的.在单位落实等级保护建设过程中,不得不考虑的一项安全防范措施,是保护自身系统安全,也是在落实<网络安全法>第二十一条之规定. 落 ...

  3. 恶意代码检测技术——签名、启发式、行为式

    随着恶意代码成为信息安全的重要威胁,恶意代码检测技术成为信息安全领域的重要研究方向.目前已经有基于签名.启发式.行为式等几种检测恶意代码的方法,应用最广泛也是最成熟的当属基于签名的检测技术,当前研究的 ...

  4. 网安--第七章 恶意代码分析与防治

    第7章 恶意代码分析与防治 内容提要 ◎ 恶意代码的发展史和恶意代码长期存在的原因 ◎ 恶意代码实现机理.定义以及攻击方法 ◎ 恶意代码生存技术.隐藏技术,介绍网络蠕虫的定义以及结构 ◎ 恶意代码防范 ...

  5. linux服务器上网页变形,Linux服务器上用iScanner删除网页恶意代码的方法

    第一步:安装 首先要确保服务器上已经安装了Ruby 复制代码代码如下: #ruby -v //查看ruby的版本信息 如果服务器上没有安装,可以通过yum或者apt-get安装ruby(根据自己服务器 ...

  6. 学习笔记-第十四章 恶意代码分析实战

    第十四章 恶意代码的网络特征 1.网络应对措施. 网络行为的基本属性包括IP地址,TCP端口,以及流量内容等,网络和安全 设备可以利用它们,来提供网络应对措施.根据IP地址和端口,防火墙和路由器可以限 ...

  7. 从入门到入土:恶意代码Lab03-03.exe|分析实验|运行截图|问题回答|

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  8. 恶意代码检测c语言,恶意代码检测分析软件

    恶意代码辅助分析工具最新版,这款就是刚被优化的代码检测软件,最大的用处的就是帮助你们检测自己电脑中的恶意代码,从而让你们一直拥有安全稳定的环境. 软件简介: 可以分析出系统里恶意代码的软件,免受电脑受 ...

  9. 华为新系统鸿蒙开机图标,华为鸿蒙2.0正在揭开神秘面纱,开机界面大变

    最近一段时间关于华为鸿蒙手机端操作系统的消息非常多,但是由于目前仅是测试阶段,我们无法全面的了解这个全新的操作系统长什么样.在操作上有何不同等等,在这样的前提之下很多参与内测有朋友时不时的就会放出一些 ...

  10. 恶意代码分析实战 9 隐蔽的恶意代码启动

    9.1 Lab12-1 分析 查看程序的导入函数. 通过这几个函数,可以推断出是远程线程注入. 使用ProMon检测,并没有看到什么有用的信息. 使用Proexproer检查. 也没有什么有用的信息. ...

最新文章

  1. android actviity模糊,Framework启动过程浅析
  2. 如何访问SAP Spartacus里的config数据
  3. 新的JEP草案将简化Java中的撰写
  4. 软考解析:2017年上半年下午试卷
  5. 高级计算机网络 ppt模板,高级计算机网络幻灯片课件.ppt
  6. c语言验证5阶魔方矩阵,穷举法打印n阶魔方矩阵
  7. python图像识别教程pdf_如何使用Python进行PDF图片识别OCR
  8. 力扣438题找到字符串中所有字母异位词
  9. 塔塔露也能学会的算法(2) | 我有背包你有手么
  10. 使用Arduino开发ESP32:关于esp32 wifi连接不上的解决办法
  11. 【python 题练】
  12. 武汉python招聘与数据_(武汉有岗)星融元数据技术有限公司招聘公告
  13. 虚拟时钟(Virtual clock)
  14. iOS Autorelease Runloop
  15. 安卓入坑第一篇——搞个录音的软件
  16. 生信的一些基本知识-p-value和富集分析与BP,CC,MF联系
  17. ORACLE和MYSQL的九大区别
  18. IDEA For Mac 快捷键
  19. 996算什么,955能做出996的活,那才叫牛!
  20. 开源 php微商城,iWshop: 微信开源商城,基于高性能框架Phalcon,自主开发微信Sdk, 基于腾讯Weui开发店铺页面。...

热门文章

  1. Express高效查询纯真IP库插件lib-qqwry
  2. 一加和华为买哪个好 一加9用新特性赢得消费者口碑
  3. 生活娱乐 360安全卫士和QQ大战
  4. 计算机术语死机,计算机“死机”故障原因及处理办法大全
  5. 3D NAND“大连造”
  6. docker安装ng+tomcat+es+kiba+sql
  7. 厉害了!28岁程序员期权过亿,彪悍从字节退休!
  8. unbuntu 安装docker
  9. Python制作微信小助手
  10. 淘宝首页幻灯片(二) 居中按钮源代码