Board logo

标题: 反病毒知识普及贴(欢迎大家一起学习)收集ING [打印本页]

作者: lotei     时间: 2007-11-11 23:25    标题: 反病毒知识普及贴(欢迎大家一起学习)收集ING

针对插入式木马的清除方法(2楼)

硬盘与内存检测 四种查毒绝招(3楼)

教你全面清除计算机病毒(4楼)

ARP攻击防御方法之虚虚实实(5楼)

什么是驱动保护(6楼)

隐藏病毒文件现形及清除办法(7楼)
--------------------------------------------------12.14号更新
木马程序隐身的技术(18楼)

CMD下的网络安全配置(19楼)

关于NTFS分区与FAT分区的10个精彩问答(20楼)





[ Last edited by lotei on 2007-12-14 at 12:05 ]
作者: lotei     时间: 2007-11-11 23:26
针对插入式木马的清除方法

目前网络上最猖獗的病毒估计非木马程序莫数了,现在的木马攻击性越来越强,在进程隐藏方面,很少采用独立的EXE可执行文件形式,而是改为内核嵌入方式、远程线程插入技术

、挂接PSAPI等,这些木马也是目前最难对付的。现在教你查找和清除线程插入式木马。
  一、通过自动运行机制查木马

  一说到查找木马,许多人马上就会想到通过木马的启动项来寻找“蛛丝马迹”,具体的地方一般有以下几处:

  (1)注册表启动项

  在“开始/运行”中输入“regedit.exe”打开注册表编辑器,依次展开[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\]和

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\]查看下面所有以Run开头的项,其下是否有新增的和可疑的键值, 也可以通过键值所指向的文件路径来判断

,是新安装的软件还是木马程序。另外[HKEY_LOCAL_MACHINE\Software\classes\exefile\shell\open\command\]键值也可能用来加载木马,比如把键值修改为

“X:\windows\system\ABC.exe %1%”。

  (2)系统服务

  有些木马是通过添加服务项来实现自启动的,大家可以打开注册表编辑器,在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices]下查找可疑

键值,并在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\]下查看的可疑主键。然后禁用或删除木马添加的服务项:在“运行”中输入“Services.msc”打开服务设

置窗口,里面显示了系统中所有的服务项及其状态、启动类型和登录性质等信息。找到木马所启动的服务,双击打开它,把启动类型改为“已禁用”,确定后退出。也可以通过注

册表进行修改,依次展开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务显示名称”键,在右边窗格中找到二进制值“Start”,修改它的数值数,“2”表示自

动,“3”表示手动,而“4”表示已禁用。当然最好直接删除整个主键,平时可以通过注册表导出功能,备份这些键值以便随时对照。

  (3)开始菜单启动组

  现在的木马大多不再通过启动菜单进行随机启动,但是也不可掉以轻心。如果发现在“开始/程序/启动”中有新增的项,可以右击它选择“查找目标”到文件的目录下查看一

下,如果文件路径为系统目录就要多加小心了。也可以在注册表中直接查看,它的位置为[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell

Folders]键名为Startup。

4)系统INI文件Win.ini和System.ini

  系统INI文件Win.ini和System.ini里也是木马喜欢隐蔽的场所。选择“开始/运行”,输入“msconfig”调出系统配置实用程序,检查Win.ini的[Windows]小节下的load和run

字段后面有没有什么可疑程序,一般情况下“=”后面是空白的;还有在System.ini的[boot]小节中的Shell=Explorer.exe后面也要进行检查。

  (5)批处理文件

  如果你使用的是Win9X系统,C盘根目录下“AUTOEXEC.BAT”和WINDOWS目录下的“WinStart.bat”两个批处理文件也要看一下,里面的命令一般由安装的软件自动生成,在系统

默认会将它们自动加载。在批处理文件语句前加上“echo off”,启动时就只显示命令的执行结果,而不显示命令的本身;如果再在前面加一个“@”字符就不会出现任何提示,以

前的很多木马都通过此方法运行。

  二、通过文件对比查木马

  新出现的木马主程序成功加载后,会将自身作为线程插入到系统进程中,然后删除系统目录中的病毒文件和病毒在注册表中的启动项,以使反病毒软件和用户难以查觉,然后

它会监视用户是否在进行关机和重启等操作,如果有,它就在系统关闭之前重新创建病毒文件和注册表启动项。下面的几招可以让它现出原形(下面均以Win XP系统为例):

  (1)对照备份的常用进程

  大家平时可以先备份一份进程列表,以便随时进行对比查找可疑进程。方法如下:开机后在进行其他操作之前即开始备份,这样可以防止其他程序加载进程。在运行中输入

“cmd”,然后输入“tasklist /svc >X:\processlist.txt”(提示:不包括引号,参数前要留空格,后面为文件保存路径)回车。这个命令可以显示应用程序和本地或远程系统上

运行的相关任务/进程的列表。输入“tasklist /?”可以显示该命令的其它参数。

  (2)对照备份的系统DLL文件列表

  对于没有独立进程的DLL木马怎么办吗?既然木马打的是DLL文件的主意,我们可以从这些文件下手,一般系统DLL文件都保存在system32文件夹下,我们可以对该目录下的DLL文

件名等信息作一个列表,打开命令行窗口,利用CD命令进入system32目录,然后输入“dir *.dll>X:\listdll.txt”敲回车,这样所有的DLL文件名都被记录到listdll.txt文件中

。日后如果怀疑有木马侵入,可以再利用上面的方法备份一份文件列表“listdll2.txt”,然后利用“UltraEdit”等文本编辑工具进行对比;或者在命令行窗口进入文件保存目录

,输入“fc listdll.txt listdll2.txt”,这样就可以轻松发现那些发生更改和新增的DLL文件,进而判断是否为木马文件。

  (3)对照已加载模块

  频繁安装软件会使system32目录中的文件发生较大变化,这时可以利用对照已加载模块的方法来缩小查找范围。在“开始/运行”中输入“msinfo32.exe”打开 “系统信息”

,展开“软件环境/加载的模块”,然后选择“文件/导出”把它备份成文本文件,需要时再备份一个进行对比即可。

  (4)查看可疑端口

  所有的木马只要进行连接,接收/发送数据则必然会打开端口,DLL木马也不例外,这里我们使用netstat命令查看开启的端口。我们在命令行窗口中输入“netstat -an”显示

出显示所有的连接和侦听端口。Proto是指连接使用的协议名称,Local Address是本地计算机的IP地址和连接正在使用的端口号,Foreign Address是连接该端口的远程计算机的IP

地址和端口号,State则是表明TCP连接的状态。Windows XP所带的netstat命令比以前的版本多了一个-O参数,使用这个参数就可以把端口与进程对应起来。输入“netstat /?”可

以显示该命令的其它参数。接着我们可以通过分析所打开的端口,将范围缩小到具体的进程上,然后使用进程分析软件,例如卡卡助手和瑞星个人防火墙。
作者: lotei     时间: 2007-11-11 23:26
硬盘与内存检测 四种查毒绝招

  病毒要进行传染,必然会留下痕迹。生物医学病毒如此,电脑病毒也是一样。检测电脑病毒,就要到病毒寄生场所去检查,发现异常情况,并进而验明“正身”,确认电脑病

毒的存在。电脑病毒静态时存储于硬盘中,被激活时驻留在内存中,因此对电脑病毒的检测可以分为对硬盘的检测和对内存的检测。

  一般对硬盘进行病毒检测时,要求内存中不带病毒,因为某些电脑病毒会向检测者报告假情况。例如“4096”病毒在内存中时,查看被它感染的文件,不会发现该文件的长度

已发生变化,而当在内存中没有病毒时,才会发现文件长度已经增长了4096字节;又例如,“DIR2”病毒在内存中,用Debug程序查看被感染文件时,根本看不到“DIR2”病毒的代

码,很多检测程序因此而漏过了被感染的文件;还有引导区型的“巴基斯坦智囊”病毒,当它活跃在内存中时,检查引导区就看不到病毒程序而只看到正常的引导扇区。因此,只有

在要求确认某种病毒的类型和对其进行分析、研究时,才能在内存中带毒的情况下作检测工作。从原始的、未受病毒感染的DOS系统软盘启动,可以保证内存中不带病毒。启动必须

是上电启动而不是按键盘上的“Alt+Ctrl+Del”三键的那种热启动,因为某些病毒可以通过截取键盘中断,将自己驻留在内存中。检测硬盘中的病毒,启动系统软盘的DOS版本号应

该等于或高于硬盘内DOS系统的版本号。如果硬盘上使用了硬盘管理软件DM、ADM,硬盘压缩存储管理软件Stacker、DoubleSpace等,启动系统软盘时应把这些软件的驱动程序包括

在软盘上,并把它们写入config.sys文件中,否则用系统软盘引导启动后,将不能访问硬盘上的所有分区,使躲藏在其中的病毒逃过检查。

  检测硬盘中的病毒可分成检测引导区型病毒和检测文件型病毒。这两种检测的原理上相同,但由于病毒的存储方式不同,检测方法还是有差别的。主要是基于下列四种方法:比

较被检测对象与原始备份的比较法;利用病毒特征代码串进行查找的搜索法;搜索病毒体内特定位置的特征字识别法;运用反汇编技术分析被检测对象,确证是否为病毒的分析法。

  比较法

  这是用原始备份与被检测的引导扇区或被检测的文件进行比较的方法,可以用打印的代码清单(比如Debug的D命令输出格式)进行比较,也可用程序来进行比较(如DOS的

DISKCOMP、COMP或PCTOOLS等其它软件)。比较法不需要专用的查病毒程序,只要用常规DOS软件和PCTOOLS等工具软件就可以进行,而且还可以发现那些尚不能被现有的杀毒软件发

现的计算机病毒。因为病毒传播得很快,新病毒层出不穷,而目前还没有能查出一切病毒的通用程序,或通过代码分析,可以判定某个程序中是否含有病毒的查毒程序,所以只有

靠比较法和分析法,或这两种方法相结合来发现新病毒。 对硬盘的主引导区或对DOS的引导扇区作检查,用比较法能发现其中的程序源代码是否发生了变化。由于要进行比较,因

此保留好原始备份是非常重要的。制作备份时必须在无电脑病毒的环境里进行,制作好的备份必须妥善保管,写好标签,贴好写保护。比较法的好处是简单、方便,不用专用软件;

缺点是无法确认病毒的种类名称。另外,造成被检测程序与原始备份之间差别的原因尚需进一步验证,以查明是电脑病毒造成的,还是DOS数据被偶然原因,如突然停电、程序失控

、恶意程序等破坏的。这些要用到以后讲的分析法,查看变化部分代码的性质,以此来确认是否存在病毒。

  搜索法

  这种方法主要是对每一种病毒含有的特定字符串进行扫描,如果在被检测对象内部发现了某一种特定字节串,就表明发现了该字节串所代表的病毒。国外称这种按搜索法工作

的病毒扫描软件为“Scanner”。这种病毒扫描软件由两部分组成:一部分是病毒代码库,含有经过特别选定的各种电脑病毒的代码串;另一部分是利用该代码库进行扫描的扫描程序

,病毒扫描程序能识别的电脑病毒的数目完全取决于病毒代码库内所含病毒种类的多少。病毒代码串的选择是非常重要的,短小的病毒代码只有一百多个字节,长的也只有10KB字

节。一定要在仔细分析程序之后选出最具代表特性的,足以将该病毒区别于其它病毒和该病毒的其它变种的代码串。一般情况下,代码串是由连续若干个字节组成的,但是有些扫

描软件采用的是可变长串,即在串中包含有一个到几个“模糊”字节。扫描软件遇到这种串时,只要除“模糊”字节之外的字串都能完好匹配,就也能够判别出病毒。另外,特征

串还必须能将病毒与正常的非病毒程序区,不然就会出现“假报、误报”。

  特征字识别法

  这是基于特征串扫描法发展起来的一种方式,运行速度较快、误报频率较低。特征字识别法只须从病毒体内抽取很少的几个关键特征字,组成特征字库。由于需要处理的字节

很少,又不必进行串匹配,因此大大加快了识别速度,当被处理的程序很大时,用这种办法比较合适。由于特征字识别法更注意电脑病毒的“程序活性”,因此减少了错报的可能

性。使用基于特征串扫描法的查病毒软件方法与使用基于特征字识别法的查病毒软件方法是一样的,只要运行查毒程序,就能将已知的病毒检查出来。这两种方法的使用,都须要

不断地对病毒库进行扩充,一旦捕捉到病毒,经过提取特征并加入到病毒库,就能使查病毒程序多检查出一种新病毒来。

  分析法

  这种方法一方面可以确认被观察的磁盘引导区和程序中是否含有病毒,另一方面可以辨认病毒的类型和种类,判定是否为一种新病毒,另外还可以搞清楚病毒体的大致结构,

提取用于特征识别的字节串或特征字,增添到病毒代码库中供病毒扫描和识别程序使用。同时,详细地分析病毒代码,还有助于制定相应的反病毒方案。与前三种检测病毒的方法

不同,使用分析法检测病毒,除了要具有相关的知识外,还需要使用Debug、Proview等分析工具程序和专用的试验用计算机。因为即使是很精通病毒的技术人员,使用性能完善的

分析软件,也不能完全保证在短时间内将病毒代码分析清楚;而病毒则有可能在被分析阶段继续传染甚至发作,把软盘、硬盘内的数据完全毁坏掉,所以分析工作必须在专门的试验

用PC机上进行,不怕其中的数据被破坏。不具备必要的条件,不要轻易开始分析工作。很多电脑病毒采用了自加密、抗跟踪等技术,使得分析病毒的工作经常是冗长枯燥的。特别

是某些文件型病毒的源代码可达10KB以上,与系统的牵扯层次很深,使详细的剖析工作十分复杂。病毒检测的分析法是反病毒工作中不可或缺的重要技术,任何一个性能优良的反

病毒系统的研制和开发都离不开专门人员对各种病毒详尽、认真的分析。

  分析法分为静态和动态两种。静态分析是指利用Debug等反汇编程序将病毒代码打印成反汇编后的程序清单进行分析,看病毒分成哪些模块,使用了哪些系统调用,采用了哪些

技巧,如何将病毒感染文件的过程翻转为清除病毒、修复文件的过程,哪些代码可被用做特征码以及如何防御这种病毒等等。分析人员的素质越高,分析过程就越快,理解也就越

深;动态分析则是指利用Debug等程序调试工具在内存带毒的情况下,对病毒作动态跟踪,观察病毒的具体工作过程,以进一步在静态分析的基础上理解病毒工作的原理。在病毒编

码比较简单的情况下,动态分析不是必须的。但是,当病毒采用了较多的技术手段时,就必须使用动、静相结合的分析方法才能完成整个分析过程。

  综上所述,利用原始备份和被检测程序相比较的方法适合于不用专用软件,可以发现异常情况的场合,是一种简单、基本的病毒检测方法;扫描特征串和识别特性字的方法更适

用于广大PC机用户使用,方便而又迅速;但对新出现的病毒会出现漏检的情况,须要与分析和比较法结合使用。

  通过采取技术上和管理上的措施,电脑病毒是完全可以防范的。
作者: lotei     时间: 2007-11-11 23:27
教你全面清除计算机病毒
注:Windows2000以上系统适用   网络时代,病毒已经无所不在。在层出不穷、变化多端的病毒袭击下,中招基本上是不可避免的了。那么中招以后我们改如何处理(当然必须

处理,否则计算机没法替你工作)?是格式化系统然后重装Windows,还是请人帮忙……。因为职业关系,我不得不与这些让人讨厌的东西战斗着,逐步地积累了一些行之有效的办

法,供大家参考。
  一、中毒的一些表现
  我们怎样知道电脑中病毒了呢?其实电脑中毒跟人生病一样,总会有一些明显的症状表现出来。例如机器运行十分缓⑸喜涣送杀毒软件生不了级、word文档打不开,电脑不

能正常启动、硬盘分区找不到了、数据丢失等等,就是中毒的一些征兆。
  二、中毒诊断
  1、按Ctrl+Shift+Ese键(同时按此三键),调出windows任务管理器查看系统运行的进程,找出不熟悉进程并记下其名称(这需要经验),如果这些进程是病毒的话,以便于

后面的清除。暂时不要结束这些进程,因为有的病毒或非法的进程可能在此没法结束。点击性能查看CPU和内存的当前状态,如果CPU的利用率接近100%或内存的占用值居高不下,

此时电脑中毒的可能性是95%。
  2、查看windows当前启动的服务项,由“控制面板”的“管理工具”里打开“服务”。看右栏状态为“启动”启动类别为“自动”项的行;一般而言,正常的windows服务,基

本上是有描述内容的(少数被骇客或蠕虫病毒伪造的除外),此时双击打开认为有问题的服务项查看其属性里的可执行文件的路径和名称,假如其名称和路径为

C:\winnt\system32\explored.exe,计算机中招。有一种情况是“控制面板”打不开或者是所有里面的图标跑到左边,中间有一纵向的滚动条,而右边为空白,再双击添加/删除程

序或管理工具,窗体内是空的,这是病毒文件winhlpp32.exe发作的特性。
  3、运行注册表编辑器,命令为regedit或regedt32,查看都有那些程序与windows一起启动。主要看Hkey_Local_Machine\Software\MicroSoft\Windows\CurrentVersion\Run和

后面几个RunOnce等,查看窗体右侧的项值,看是否有非法的启动项。WindowsXp运行msconfig也起相同的作用。随着经验的积累,你可以轻易的判断病毒的启动项。
  4、用浏览器上网判断。前一阵发作的Gaobot病毒,可以上yahoo.com,sony.com等网站,但是不能访问诸如[url=http://www.symantec.com,www.ca.com/]

www.symantec.com,www.ca.com[/url]这样著名的安全厂商的网站,安装了symantecNorton2004的杀毒软件不能上网升级。
  5、取消隐藏属性,查看系统文件夹winnt(windows)\system32,如果打开后文件夹为空,表明电脑已经中毒;打开system32后,可以对图标按类型排序,看有没有流行病毒的执

行文件存在。顺便查一下文件夹Tasks,wins,drivers.目前有的病毒执行文件就藏身于此;drivers\etc下的文件hosts是病毒喜欢篡改的对象,它本来只有700字节左右,被篡改后

就成了1Kb以上,这是造成一般网站能访问而安全厂商网站不能访问、著名杀毒软件不能升级的原因所在。
  6、由杀毒软件判断是否中毒,如果中毒,杀毒软件会被病毒程序自动终止,并且手动升级失败。
  三、灭毒
  1、在注册表里删除随系统启动的非法程序,然后在注册表中搜索所有该键值,删除之。当成系统服务启动的病毒程序,会在Hkey_Local_Machine\System\ControlSet001

\services和controlset002\services里藏身,找到之后一并消灭。
  2、停止有问题的服务,改自动为禁止。
  3、如果文件system32\drivers\etc\hosts被篡改,恢复它,即只剩下一行有效值“127.0.0.1localhost”,其余的行删除。再把host设置成只读。
  4、重启电脑,摁F8进“带网络的安全模式”。目的是不让病毒程序启动,又可以对Windows升级打补丁和对杀毒软件升级。
  5、搜索病毒的执行文件,手动消灭之。
作者: lotei     时间: 2007-11-11 23:27
RP攻击防御方法之虚虚实实

ARP欺骗/攻击反复袭击,是近来网络行业普遍了解的现象,随着ARP攻击的不断升级,不同的解决方案在市场上流传。但是笔者最近发现,有一些方案,从短期看来似乎有效,实际

上对于真正的ARP攻击发挥不了作用,也降低局域网工作效率。
      多用户反应说有些ARP防制方法很容易操作和实施,但经过实际深入了解后,发现长期效果都不大。
        对于ARP攻击防制,最好的方法是先踏踏实实把基本防制工作做好,才是根本解决的方法。由于市场上的解决方式众多,我们无法一一加以说明优劣,因此本文解释了ARP

攻击防制的基本思想。我们认为读者如果能了解这个基本思想,就能自行判断何种防制方式有效,也能了解为何双向绑定是一个较全面又持久的解决方式。
一、不坚定的ARP协议
        一般计算机中的原始的ARP协议,很像一个思想不坚定,容易被其它人影响的人,ARP欺骗/攻击就是利用这个特性,误导计算机作出错误的行为。ARP攻击的原理,互联网

上很容易找到,这里不再覆述。原始的ARP协议运作,会附在局域网接收的广播包或是ARP询问包,无条件覆盖本机缓存中的ARP/MAC对照表。这个特性好比一个意志不坚定的人,听

了每一个人和他说话都信以为真,并立刻以最新听到的信息作决定。
就像一个没有计划的快递员,想要送信给"张三",只在马路上问"张三住那儿?",并投递给最近和他说"我就是!"或"张三住那间!",来决定如何投递一样。在一个人人诚实的地

方,快递员的工作还是能切实地进行;但若是旁人看快递物品值钱,想要欺骗取得的话,快递员这种工作方式就会带来混乱了。
        我们再回来看ARP攻击和这个意志不坚定快递员的关系。常见ARP攻击对象有两种,一是网络网关,也就是路由器,二是局域网上的计算机,也就是一般用户。攻击网络网

关就好比发送错误的地址信息给快递员,让快递员整个工作大乱,所有信件无法正常送达;而攻击一般计算机就是直接和一般人谎称自己就是快递员,让一般用户把需要传送物品

传送给发动攻击的计算机。
        由于一般的计算机及路由器的ARP协议的意志都不坚定,因此只要有恶意计算机在局域网持续发出错误的ARP讯息,就会让计算机及路由器信以为真,作出错误的传送网络

包动作。一般的ARP就是以这样的方式,造成网络运作不正常,达到盗取用户密码或破坏网络运作的目的。针对ARP攻击的防制,常见的方法,
可以分为以下三种作法:
1、利用ARP echo传送正确的ARP讯息:通过频繁地提醒正确的ARP对照表,来达到防制的效果。
2、利用绑定方式,固定ARP对照表不受外来影响:通过固定正确的ARP对照表,来达到防制的效果。
3、舍弃ARP协议,采用其它寻址协议:不采用ARP作为传送的机制,而另行使用其它协议例如PPPoE方式传送。
以上三种方法中,前两种方法较为常见,第三种方法由于变动较大,适用于技术能力较佳的应用。下面针对前两种方法加以说明。
二、PK 赛之"ARP echo"
        ARP echo是最早开发出来的ARP攻击解决方案,但随着ARP攻击的发展,渐渐失去它的效果。现在,这个方法不但面对攻击没有防制效果,还会降低局域网运作的效能,但

是很多用户仍然以这个方法来进行防制。以前面介绍的思想不坚定的快递员的例子来说,ARP echo的作法,等于是时时用电话提醒快递员正确的发送对象及地址,减低他被邻近的

各种信息干扰的情况。
      但是这种作法,明显有几个问题:第一,即使时时提醒,但由于快递员意志不坚定,仍会有部份的信件因为要发出时刚好收到错误的信息,以错误的方式送出去;这种情况

如果是错误的信息频率特高,例如有一个人时时在快递员身边连续提供信息,即使打电话提醒也立刻被覆盖,效果就不好;第二,由于必须时时提醒,而且为了保证提醒的效果好

,还要加大提醒的间隔时间,以防止被覆盖,就好比快递员一直忙于接听总部打来的电话,根本就没有时间可以发送信件,耽误了正事;第三,还要专门指派一位人时时打电话给

快递员提醒,等于要多派一个人手负责,而且持续地提醒,这个人的工作也很繁重。
        以ARP echo方式对应ARP攻击,也会发生相似的情况。第一,面对高频率的新式ARP攻击,ARP echo发挥不了效果,掉线断网的情况仍旧会发生。ARP echo的方式防制的对

早期以盗宝为目的的攻击软件有效果,但碰到最近以攻击为手段的攻击软件则公认是没有效果的。第二,ARP echo手段必须在局域网上持续发出广播网络包,占用局域网带宽,使

得局域网工作的能力降低,整个局域网的计算机及交换机时时都在处理ARP echo广播包,还没受到攻击局域网就开始卡了。第三,必须在局域网有一台负责负责发ARP echo广播包

的设备,不管是路由器、服务器或是计算机,由于发包是以一秒数以百计的方式来发送,对该设备都是很大的负担。
作者: lotei     时间: 2007-11-11 23:28
什么是驱动保护
一、为什么流氓软件总是删不掉?

经常有网友发贴子说文件删除不掉,或者流氓软件清除不了,或者删除了相关的文件,但是马上它又出现了。现在流氓软件为了保护自己,采取的手段是五花八门,无所不用其极

:进程保护,交叉感染,自启动,自我恢复,文件隐藏,进程注入,驱动保护。

到目前为止,所有流氓软件最终极、最有效的保护办法还是底层驱动级的保护,一般就是在drivers目录下增加一个或多个.sys文件(我也见过一个用rundll32来运行一个.dll作为

驱动的),但本质上这个都会在Windows的HKLM\SYSTEM\CurrentControlSet\Services\下建一个相关的值,如CNNIC建立的就是HKLM\SYSTEM\CurrentControlSet\Services\cdnprot,

并且将启动级别做得很高,在安全模式下也会自动启动。这个底层的驱动过滤所有的文件以及注册表操作,如果发现是对流氓软件自己的文件/注册表操作,就会直接返回一个true

,如果发觉文件被删除,就会通过备份或者网络来下载恢复。它们的保护措施已经做到这一级,普通用户根本没有办法删除相关的文件,一般都需要重启到DOS系统下去删除文件。

这也是很多网友提的为什么文件删除不掉,或者删除了,重启之后,一会儿又出现了,阴魂不散的原因。下面我们的要做的,就是找出来这些流氓软件的后台的驱动保护。

二、为什么找出驱动保护很困难?

Windows的驱动文件一般位于system32\drivers目录下,以.sys文件方式存在,通过注册表的HKLM\SYSTEM\CurrentControlSet\Services\的方式来启动,有一部分属于服务的,可

以在Windows的服务的MMC控制窗口里看到。但如果是驱动,则在这里看不到。Windows正式情况下,那个drivers目录下有200个左右的文件,如果偷偷往这个下面塞一个.sys文件,

是很难发现的。象著名的3721这类cnsminkp.sys,CNNIC的cdnprot.sys比较容易认识,但现在的很多软件的名字都是不固定的,或者是随机生成的,这样的辨识的难度就很大。我

曾经用过的方式有:

1、通过保存文件列表,时常自己手工比较这两个文件,看前后差别多出来的文件肯定有问题

2、通过文件生成的日期。(这点流氓软件也想到了,日期也只能作为参考)

3、通过文件的属性里在的公司信息。早年还行,现在越来越多的流氓软件的驱动冒充是M$的,有的连英文单词都写错了。

4、通过文件夹监视工具。

上面这四种都有一定的缺陷,只能作为参考,都不是太好。并且现在有一些软件通过文件系统隐藏,这些驱动文件,通过资源管理器,根本连看都看不到。

三、如何找出可疑驱动来?

难道没有更好的办法吗?有,应该有的,这个就是我们今天要介绍的主角:Autoruns

介绍:Autoruns是著名的sysinternals出品的一款小软件,它的主要功能是列出系统自启动的项目。通过它,你可以轻易查看到所有系统可能启动的地方,非常的全面。跟流氓软

件相关的是“Services(服务)",“LSA Providers(LSA提供者)”、"Winsock Providers(Winsock提供者)",“Drivers(驱动)“。下面重点介绍Drivers这一部分的功能。

运行Autoruns之后,在它的“Options(选项)”菜单中有两项“Verifiy Code Signatures(验证代码签名)“Hide Signed Microsoft Entries(隐藏已签名的微软项)“,把这

两项都选中了。验证代码签名是指验证所有dirvers下的.sys文件的文件签名。Windows下的硬件有一个签名的功能,它是为了保证所有的驱动文件是经过M$测试,符合HAL兼容性。

隐藏已签名的微软项,就是把那些合法的隐藏起来。不然200多个,会看着发晕的。

这样Autoruns就会检查所有已经注册成为驱动的项,并且检查所有的.sys的文件数字签名。所有假冒的或者没有通过代码签名的项,都会在这里列出来。也就可以很容易判断这个

驱动是不是有问题了。如果有问题的话,可能通过冰刃把里面相关的注册表键值删除,重启机器,这样驱动保护就失效了,然后可以通过文件删除工具来删除其它的文件,完成最

后的清理工作。

四、总结

最后再总结一下:

1、流氓软件删除不掉或者死灰复燃,很多时候是因为有驱动或服务保护

2、通过Autoruns找到这些可疑的驱动

3、通过冰刃删除相关驱动健值或者直接用文件粉碎器删除相关的.sys文件,重启驱动就无效

4、清理其它文件,完成善后工作。

以上方法通过各种测试是证明有效的,但不排除将来有更进一步的隐藏手段来躲避Autoruns的检查。但原理是一样的。不过是通过程序来减少工作量。
作者: lotei     时间: 2007-11-11 23:28
隐藏病毒文件现形及清除办法
  选择“显示隐藏文件”这一选项后,发现U盘有个文件闪出来一下就马上又消失了,而再打开文件夹选项时,发现仍就是“不显示隐藏文件”这一选项。而且刚发现点击C、D等盘符图标时会另外打开一个窗口!

  总结

  I、病情描述

  1、无法显示隐藏文件;

  2、点击C、D等盘符图标时会另外打开一个窗口;

  3、用Winrar查看时发现C、D等根目录下有autorun.inf和tel.xls.exe两个恶心的文件;

  4、任务管理器中的应用进程一栏里有个莫明其妙的kill;

  5、开机启动项中有莫明其妙的SocksA.exe。

  II、解决办法

  用了一些专杀工具和DOS下的批处理文件,都不好使,只好DIY。注意在以下整个过程中不要双击硬盘分区,需要打开时用鼠标右键—>打开。

  一、关闭病毒进程

  在任务管理器应用程序里面查找类似kill等你不认识的进程,右键—>转到进程,找到类似SVOHOST.exe(也可能就是某个svchost.exe)的进程,右键—>结束进程树。

  二、显示出被隐藏的系统文件

  开始—>运行—regedit—输入

  HKEY_LOCAL_MACHINE\Software\Microsoft\windows\CurrentVersion\explorer\

  Advanced\Folder\Hidden\SHOWALL

  删除CheckedValue键值,单击右键 新建—>Dword值—>命名为CheckedValue,然后修改它的键值为1,这样就可以选择“显示所有隐藏文件”和“显示系统文件”。

  三、删除病毒

  在分区盘上单击鼠标右键—>打开,看到每个盘跟目录下有autorun.inf 和tel\.xls\.exe 两个文件,将其删除,U盘同样。

  四、删除病毒的自动运行项

  开始—>运行—>msconfig—>启动—>删除类似sacksa.exe、SocksA.exe之类项,或者打开注册表运行regedit

  HKEY_LOCAL_MACHINE>SOFTWARE>Microsoft>Windows>CurrentVersion>Run

  删除类似C:\WINDOWS\system32\SVOHOST.exe 的项。

  五、删除遗留文件

  C:\WINDOWS\ 跟 C:\WINDOWS\system32\ 目录下删除SVOHOST.exe(注意系统有一个类似文件,图标怪异的那个类似excel的图标的是病毒)session.exe、sacaka.exe、SocksA.exe以及所有excel类似图标的文件,每个文件夹两个,不要误删哦,自己注意。重启电脑后,基本可以了。
作者: skychong     时间: 2007-11-12 15:16
我觉得现在....这种病毒时代...      使用 Win PE 最省事....
作者: norman6810     时间: 2007-11-19 22:20
没人顶啊!
普及反病毒知识人人有责!
作者: 微点专家     时间: 2007-11-19 22:34
lotei版主一直都是这么精力旺盛,应该转正了

[ Last edited by 微点专家 on 2007-11-19 at 22:35 ]
作者: 反黑先锋     时间: 2007-11-19 22:37
好贴学习中
作者: 微点专家     时间: 2007-11-19 22:56


  Quote:
Originally posted by 反黑先锋 at 2007-11-19 22:37:
好贴学习中

你的进步太神速啦,自愧不如啊
作者: qq2008444     时间: 2007-11-22 22:15
内核的东西我实在搞不懂,所以这个帖子我就没办法加什么了,呵呵
作者: freedom11     时间: 2007-11-26 22:57
恩,好好学习一下,时刻学习,学习再学习
作者: digua008     时间: 2007-11-27 18:59
同意楼上的,呵呵
作者: 火星上种白菜     时间: 2007-12-12 20:56
hehe 学习一下,顶
作者: newduba     时间: 2007-12-13 20:01
这个帖子不错,很全面的介绍了一些常见病毒木马和流氓软件的知识,我学习了:)
作者: lotei     时间: 2007-12-14 11:53
木马程序隐身的技术
来源:dream2fly
最基本的隐藏:不可见窗体+隐藏文件

木马程序无论如何神秘,但归根究底,仍是Win32平台下的一种程序。Windows下常见的程序有两种:

1.Win32应用程序(Win32 Application),比如QQ、Office等都属于此行列。

2.Win32控制台程序(Win32 Console),比如硬盘引导修复程序FixMBR。

其中,Win32应用程序通常会有应用程序界面,比如系统中自带的“计算器”就有提供各种数字按钮的应用程序界面。木马虽然属于Win32应用程序,但其一般不包含窗体或隐藏了窗体(但也有某些特殊情况,如木马使用者与被害者聊天的窗口),并且将木马文件属性设置为“隐藏”,这就是最基本的隐藏手段,稍有经验的用户只需打开“任务管理器”,并且将“文件夹选项”中的“显示所有文件”勾选即可轻松找出木马,于是便出现了下面要介绍的“进程隐藏”技术。

第一代进程隐藏技术:Windows 98的后门

在Windows 98中,微软提供了一种能将进程注册为服务进程的方法。尽管微软没有公开提供这种方法的技术实现细节(因为Windows的后续版本中没有提供这个机制),但仍有高手发现了这个秘密,这种技术称为RegisterServiceProcess。只要利用此方法,任何程序的进程都能将自己注册为服务进程,而服务进程在Windows 98中的任务管理器中恰巧又是不显示的,所以便被木马程序钻了空子。

要对付这种隐藏的木马还算简单,只需使用其他第三方进程管理工具即可找到其所在,并且采用此技术进行隐藏的木马在Windows 2000/XP(因为不支持这种隐藏方法)中就得现形!中止该进程后将木马文件删除即可。可是接下来的第二代进程隐藏技术,就没有这么简单对付了。

第二代进程隐藏技术:进程插入

在Windows中,每个进程都有自己的私有内存地址空间,当使用指针(一种访问内存的机制)访问内存时,一个进程无法访问另一个进程的内存地址空间,就好比在未经邻居同意的情况下,你无法进入邻居家吃饭一样。比如QQ在内存中存放了一张图片的数据,而MSN则无法通过直接读取内存的方式来获得该图片的数据。这样做同时也保证了程序的稳定性,如果你的进程存在一个错误,改写了一个随机地址上的内存,这个错误不会影响另一个进程使用的内存。

你知道吗——进程(Process)是什么

对应用程序来说,进程就像一个大容器。在应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。

一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰),在程序被运行后中,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程。

1.进程插入是什么

独立的地址空间对于编程人员和用户来说都是非常有利的。对于编程人员来说,系统更容易捕获随意的内存读取和写入操作。对于用户来说,操作系统将变得更加健壮,因为一个应用程序无法破坏另一个进程或操作系统的运行。当然,操作系统的这个健壮特性是要付出代价的,因为要编写能够与其他进程进行通信,或者能够对其他进程进行操作的应用程序将要困难得多。但仍有很多种方法可以打破进程的界限,访问另一个进程的地址空间,那就是“进程插入”(Process Injection)。一旦木马的DLL插入了另一个进程的地址空间后,就可以对另一个进程为所欲为,比如下文要介绍的盗QQ密码。

2.木马是如何盗走QQ密码的

普通情况下,一个应用程序所接收的键盘、鼠标操作,别的应用程序是无权“过问”的。可盗号木马是怎么偷偷记录下我的密码的呢?木马首先将1个DLL 文件插入到QQ的进程中并成为QQ进程中的一个线程,这样该木马DLL就赫然成为了QQ的一部分!然后在用户输入密码时,因为此时木马DLL已经进入QQ 进程内部,所以也就能够接收到用户传递给QQ的密码键入了,真是“家贼难防”啊!

3.如何插入进程

(1)使用注册表插入DLL

早期的进程插入式木马的伎俩,通过修改注册表中的[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs]来达到插入进程的目的。缺点是不实时,修改注册表后需要重新启动才能完成进程插入。

(2)使用挂钩(Hook)插入DLL

比较高级和隐蔽的方式,通过系统的挂钩机制(即“Hook”,类似于DOS时代的“中断”)来插入进程(一些盗QQ木马、键盘记录木马以Hook方式插入到其他进程中“偷鸡摸狗”),需要调用SetWindowsHookEx函数(也是一个Win32 API函数)。缺点是技术门槛较高,程序调试困难,这种木马的制作者必须具有相当的Win32编程水平。

你知道吗——什么是API

Windows中提供各种功能实现的接口称为Win32 API(Application Programming Interface,即“应用程序编程接口”),如一些程序需要对磁盘上的文件进行读写,就要先通过对相应的API(文件读写就要调用文件相关的API) 发出调用请求,然后API根据程序在调用其函数时提供的参数(如读写文件就需要同时给出需要读写的文件的文件名及路径)来完成请求实现的功能,最后将调用结果(如写入文件成功,或读取文件失败等)返回给程序。

(3)使用远程线程函数(CreateRemoteThread)插入DLL

在Windows 2000及以上的系统中提供了这个“远程进程”机制,可以通过一个系统API函数来向另一个进程中创建线程(插入DLL)。缺点很明显,仅支持 Windows 2000及以上系统,在国内仍有相当多用户在使用Windows 98,所以采用这种进程插入方式的木马缺乏平台通用性。

木马将自身作为DLL插入别的进程空间后,用查看进程的方式就无法找出木马的踪迹了,你能看到的仅仅是一些正常程序的进程,但木马却已经偷偷潜入其中了。解决的方法是使用支持“进程模块查看”的进程管理工具(如“Windows优化大师”提供的进程查看),木马的DLL模块就会现形了。

不要相信自己的眼睛:恐怖的进程“蒸发”

严格地来讲,这应该算是第2.5代的进程隐藏技术了,可是它却比前几种技术更为可怕得多。这种技术使得木马不必将自己插入到其他进程中,而可以直接消失!

它通过Hook技术对系统中所有程序的进程检测相关API的调用进行了监控,“任务管理器”之所以能够显示出系统中所有的进程,也是因为其调用了 EnumProcesses等进程相关的API函数,进程信息都包含在该函数的返回结果中,由发出调用请求的程序接收返回结果并进行处理(如“任务管理器”在接收到结果后就在进程列表中显示出来)。

而木马由于事先对该API函数进行了Hook,所以在“任务管理器”(或其他调用了列举进程函数的程序)调用EnumProcesses函数时(此时的API函数充当了“内线”的角色),木马便得到了通知,并且在函数将结果(列出所有进程)返回给程序前,就已将自身的进程信息从返回结果中抹去了。就好比你正在看电视节目,却有人不知不觉中将电视接上了DVD,你在不知不觉中就被欺骗了。

所以无论是“任务管理器”还是杀毒软件,想对这种木马的进程进行检测都是徒劳的。这种木马目前没有非常有效的查杀手段,只有在其运行前由杀毒软件检测到木马文件并阻止其病毒体的运行。当时还有一种技术是由木马程序将其自身的进程信息从Windows系统用以记录进程信息的“进程链表”中删除,这样进程管理工具就无法从“进程链表”中获得木马的进程信息了。但由于缺乏平台通用性而且在程序运行时有一些问题,所以没有被广泛采用。

你知道吗——什么是Hook

Hook是Windows中提供的一种用以替换DOS下“中断”的一种系统机制,中文译名为“挂钩”或“钩子”。在对特定的系统事件(包括上文中的特定API函数的调用事件)进行Hook后,一旦发生已Hook的事件,对该事件进行Hook的程序(如:木马)就会收到系统的通知,这时程序就能在第一时间对该事件做出响应(木马程序便抢在函数返回前对结果进行了修改)。

毫无踪迹:全方位立体隐藏

利用刚才介绍的Hook隐藏进程的手段,木马可以轻而易举地实现文件的隐藏,只需将Hook技术应用在文件相关的API函数上即可,这样无论是“资源管理器”还是杀毒软件都无法找出木马所在了。更令人吃惊的是,现在已经有木马(如:灰鸽子)利用该技术实现了文件和进程的隐藏。要防止这种木马最好的手段仍是利用杀毒软件在其运行前进行拦截。

跟杀毒软件对着干:反杀毒软件外壳

木马再狡猾,可是一旦被杀毒软件定义了特征码,在运行前就被拦截了。要躲过杀毒软件的追杀,很多木马就被加了壳,相当于给木马穿了件衣服,这样杀毒软件就认不出来了,但有部分杀毒软件会尝试对常用壳进行脱壳,然后再查杀(小样,别以为穿上件马夹我就不认识你了)。除了被动的隐藏外,最近还发现了能够主动和杀毒软件对着干的壳,木马在加了这种壳之后,一旦运行,则外壳先得到程序控制权,由其通过各种手段对系统中安装的杀毒软件进行破坏,最后在确认安全 (杀毒软件的保护已被瓦解)后由壳释放包裹在自己“体内”的木马体并执行之。对付这种木马的方法是使用具有脱壳能力的杀毒软件对系统进行保护。

你知道吗——什么是壳

顾名思义,你可以很轻易地猜到,这是一种包在外面的东西。没错,壳能够将文件(比如EXE)包住,然后在文件被运行时,首先由壳获得控制权,然后释放并运行包裹着的文件体。很多壳能对自己包住的文件体进行加密,这样就可以防止杀毒软件的查杀。比如原先杀毒软件定义的该木马的特征是“12345”,如果发现某文件中含有这个特征,就认为该文件是木马,而带有加密功能的壳则会对文件体进行加密(如:原先的特征是“12345”,加密后变成了 “54321”,这样杀毒软件当然不能靠文件特征进行检查了)。脱壳指的就是将文件外边的壳去除,恢复文件没有加壳前的状态。
作者: lotei     时间: 2007-12-14 11:55
CMD下的网络安全配置
信息来源:网络

自带的关于网络的命令行工具很多,比如大家熟悉的ping,tracert,ipconfig,telnet,ftp,tftp,netstat,还有不太熟悉的nbtstat,pathping,nslookup,finger,route,netsh......
这些命令又可分成三类:网络检测(如ping)、网络连接(如telnet)和网络配置(如netsh)。前面两种相对简单,本文只介绍两个网络配置工具。

netsh
在远程shell中使用netsh首先要解决一个交互方式的问题。前面说过,很多shell不能再次重定向输出输出,所以不能在这种环境下交互地使用ftp等命令行工具。解决的办法是,一般交互式的工具都允许使用脚本(或者叫应答文件)。比如ftp -s:filename。netsh也是这样:netsh -f filename。

netsh命令的功能非常多,可以配置IAS、DHCP、RAS、WINS、NAT服务器,TCP/IP协议,IPX协议,路由等。我们不是管理员,一般没必要了解这么多,只需用netsh来了解目标主机的网络配置信息。

1,TCP/IP配置

echo interface ip >s
echo show config >>s
netsh -f s
del s

由此你可以了解该主机有多个网卡和IP,是否是动态分配IP(DHCP),内网IP是多少(如果有的话)。
这个命令和ipconfig /all差不多。

注意,以下命令需要目标主机启动remoteaccess服务。如果它被禁用,请先通过导入注册表解禁,然后
net start remoteaccess

2,ARP

echo interface ip >s
echo show ipnet >>s
netsh -f s
del s

这个比arp -a命令多一点信息。

3,TCP/UDP连接

echo interface ip >s
echo show tcpconn >>s
echo show udpconn >>s
netsh -f s
del s

这组命令和netstat -an一样。

4,网卡信息
如果netsh命令都有其他命令可代替,那它还有什么存在的必要呢?下面这个就找不到代替的了。

echo interface ip >s
echo show interface >>s
netsh -f s
del s

netsh的其他功能,比如修改IP,一般没有必要使用(万一改了IP后连不上,就"叫天不应叫地不灵"了),所以全部略过。

IPSec
首先需要指出的是,IPSec和TCP/IP筛选是不同的东西,大家不要混淆了。TCP/IP筛选的功能十分有限,远不如IPSec灵活和强大。下面就说说如何在命令行下控制IPSec。

XP系统用ipseccmd,2000下用ipsecpol。遗憾的是,它们都不是系统自带的。ipseccmd在xp系统安装盘的SUPPORT\TOOLS\SUPPORT.CAB中,ipsecpol在2000 Resource Kit里。而且,要使用ipsecpol还必须带上另外两个文件:ipsecutil.dll和text2pol.dll。三个文件一共119KB。

IPSec可以通过组策略来控制,但我找遍MSDN,也没有找到相应的安全模板的语法。已经配置好的IPSec策略也不能被导出为模板。所以,组策略这条路走不通。IPSec的设置保存在注册表中(HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\IPSec\Policy\Local),理论上可以通过修改注册表来配置IPSec。但很多信息以二进制形式存放,读取和修改都很困难。相比之下,上传命令行工具更方便。

关于ipsecpol和ipseccmd的资料,网上可以找到很多,因此本文就不细说了,只是列举一些实用的例子。
在设置IPSec策略方面,ipseccmd命令的语法和ipsecpol几乎完全一样,所以只以ipsecpol为例:

1,防御rpc-dcom攻击

ipsecpol -p myfirewall -r rpc-dcom -f *+0:135:tcp *+0:135:udp *+0:137:udp *+0:138:udp *+0:139:tcp *+0:445:tcp *+0:445:udp -n BLOCK -w reg -x

这条命令关闭了本地主机的TCP135,139,445和udp135,137,138,445端口。
具体含义如下:
-p myfirewall 指定策略名为myfirewall
-r rpc-dcom 指定规则名为rpc-dcom
-f ...... 建立7个筛选器。*表示任何地址(源);0表示本机地址(目标);+表示镜像(双向)筛选。详细语法见ipsecpol -?
-n BLOCK 指定筛选操作是"阻塞"。注意,BLOCK必须是大写。
-w reg 将配置写入注册表,重启后仍有效。
-x 立刻激活该策略。

2,防止被ping

ipsecpol -p myfirewall -r antiping -f *+0::icmp -n BLOCK -w reg -x

如果名为myfirewall的策略已存在,则antiping规则将添加至其中。
注意,该规则同时也阻止了该主机ping别人。

3,对后门进行IP限制
假设你在某主机上安装了DameWare Mini Remote Control。为了保护它不被别人暴破密码或溢出,应该限制对其服务端口6129的访问。

ipsecpol -p myfw -r dwmrc_block_all -f *+0:6129:tcp -n BLOCK -w reg
ipsecpol -p myfw -r dwmrc_pass_me -f 123.45.67.89+0:6129:tcp -n PASS -w reg -x

这样就只有123.45.67.89可以访问该主机的6129端口了。
如果你是动态IP,应该根据IP分配的范围设置规则。比如:

ipsecpol -p myfw -r dwmrc_block_all -f *+0:6129:tcp -n BLOCK -w reg
ipsecpol -p myfw -r dwmrc_pass_me -f 123.45.67.*+0:6129:tcp -n PASS -w reg -x

这样就允许123.45.67.1至123.45.67.254的IP访问6129端口。

在写规则的时候,应该特别小心,不要把自己也阻塞了。如果你不确定某个规则的效果是否和预想的一样,可以先用计划任务"留下后路"。例如:

c:\>net start schedule
Task Scheduler 服务正在启动 ..
Task Scheduler 服务已经启动成功。

c:\>time /t
12:34

c:\>at 12:39 ipsecpol -p myfw -y -w reg
新加了一项作业,其作业 ID = 1

然后,你有5分钟时间设置一个myfw策略并测试它。5分钟后计划任务将停止该策略。
如果测试结果不理想,就删除该策略。

c:\>ipsecpol -p myfw -o -w reg

注意,删除策略前必须先确保它已停止。不停止它的话,即使删除也会在一段时间内继续生效。持续时间取决于策略的刷新时间,默认是180分钟。

如果测试通过,那么就启用它。

c:\>ipsecpol -p myfw -x -w reg

最后说一下查看IPSec策略的办法。
对于XP很简单,一条命令搞定--ipseccmd show filters
而ipsecpol没有查询的功能。需要再用一个命令行工具netdiag。它位于2000系统安装盘的SUPPORT\TOOLS\SUPPORT.CAB中。(已经上传了三个文件,也就不在乎多一个了。^_^)

netdiag需要RemoteRegistry服务的支持。所以先启动该服务:

net start remoteregistry

不启动RemoteRegistry就会得到一个错误:

[FATAL] Failed to get system information of this machine.

netdiag这个工具功能十分强大,与网络有关的信息都可以获取!不过,输出的信息有时过于详细,超过命令行控制台cmd.exe的输出缓存,而不是每个远程cmd shell都可以用more命令来分页的。

查看ipsec策略的命令是:
netdiag /debug /test:ipsec

然后是一长串输出信息。IPSec策略位于最后。


软件安装
一个软件/工具的安装过程,一般来说只是做两件事:拷贝文件到特定目录和修改注册表。只要搞清楚具体的内容,那么就可以自己在命令行下实现了。(不考虑安装后需要注册激活等情况)

WinPcap是个很常用的工具,但必须在窗口界面下安装。在网上也可以找到不用GUI的版本(但还是有版权页),其实我们完全可以自己做一个。

以WinPcap 3.0a 为例。通过比较安装前后的文件系统和注册表快照,很容易了解整个安装过程。
除去反安装的部分,关键的文件有三个:wpcap.dll,packet.dll和npf.sys。前面两个文件位于system32目录下,第三个在system32\drivers下。而注册表的变化是增加了一个系统服务NPF。注意,是系统服务(即驱动)不是Win32服务。

作为系统服务,不但要在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下增加主键,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root下也增加主键。而后者默认只有SYSTEM身份才可以修改。幸运的是,并不需要手动添加它,winpcap被调用时会自动搞定。甚至完全不用手动修改注册表,所有的事winpcap都会自己完成,只需要将三个文件复制到合适的位置就行了。

作为范例,还是演示一下如何修改注册表:利用前面说过的inf文件来实现。

[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
AddService=NPF,,winpcap_svr
[winpcap_svr]
DisplayName=Netgroup Packet Filter
ServiceType=0x1
StartType=3
ErrorControl=1
ServiceBinary=%12%\npf.sys

将上面这些内容保存为_wpcap_.inf文件。
再写一个批处理_wpcap_.bat:

rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %CD%\_wpcap_.inf
del _wpcap_.inf
if /i %CD%==%SYSTEMROOT%\system32 goto COPYDRV
copy packet.dll %SYSTEMROOT%\system32\
copy wpcap.dll %SYSTEMROOT%\system32\
del packet.dll
del wpcap.dll
:COPYDRV
if /i %CD%==%SYSTEMROOT%\system32\drivers goto END
copy npf.sys %SYSTEMROOT%\system32\drivers\
del npf.sys
:END
del %0

然后用winrar将所有文件(5个)打包为自解压的exe,并将『高级自解压选项』->『解压后运行』设置为_wpcap_.bat,命令行的winpcap安装包就制作完成了。

注意,批处理最后一行没有回车符。否则会因为正在运行而无法删除自己。

所有的软件安装,基本上可以套用这个思路。但也有例外的,那就是系统补丁的安装。
由于系统补丁有可能要替换正在被执行或访问的文件,所以用copy命令是不行的。
幸好,Windows补丁包支持命令行安装。
比如:

KB824146.exe -n -z -q

-n 不保留备份
-z 不重起
-q 安静模式

如果有一堆补丁要打,那么用RAR打包成自解压文件,外加一个批处理。

for %%f in (KB??????.exe) do %%f -n -z -q
for %%f in (KB??????.exe) do del %%f
del %0


Windows脚本
很多事用脚本来做是很简洁的。下面给出几个常用脚本的echo版。

1,显示系统版本

@echo for each ps in getobject _ >ps.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_operatingsystem").instances_ >>ps.vbs
@echo wscript.echo ps.caption^&" "^&ps.version:next >>ps.vbs
cscript //nologo ps.vbs & del ps.vbs

2,列举进程

@echo for each ps in getobject _ >ps.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs
@echo wscript.echo ps.handle^&vbtab^&ps.name^&vbtab^&ps.executablepath:next >>ps.vbs
cscript //nologo ps.vbs & del ps.vbs

3,终止进程

@echo for each ps in getobject _ >pk.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>pk.vbs
@echo if ps.handle=wscript.arguments(0) then wscript.echo ps.terminate:end if:next >>pk.vbs

要终止PID为123的进程,使用如下语法:
cscript pk.vbs 123

如果显示一个0,表示终止成功。

然后:
del pk.vbs

4,重启系统

@echo for each os in getobject _ >rb.vbs
@echo ("winmgmts:{(shutdown)}!\\.\root\cimv2:win32_operatingsystem").instances_ >>rb.vbs
@echo os.win32shutdown(2):next >>rb.vbs & cscript //nologo rb.vbs & del rb.vbs

5,列举自启动的服务

@echo for each sc in getobject("winmgmts:\\.\root\cimv2:win32_service").instances_ >sc.vbs
@echo if sc.startmode="Auto" then wscript.echo sc.name^&" - "^&sc.pathname >>sc.vbs
@echo next >>sc.vbs & cscript //nologo sc.vbs & del sc.vbs

6,列举正在运行的服务

@echo for each sc in getobject("winmgmts:\\.\root\cimv2:win32_service").instances_ >sc.vbs
@echo if sc.state="Running" then wscript.echo sc.name^&" - "^&sc.pathname >>sc.vbs
@echo next >>sc.vbs & cscript //nologo sc.vbs & del sc.vbs

7,显示系统最后一次启动的时间

@echo for each os in getobject _ >bt.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_operatingsystem").instances_ >>bt.vbs
@echo wscript.echo os.lastbootuptime:next >>bt.vbs & cscript //nologo bt.vbs & del bt.vbs
作者: lotei     时间: 2007-12-14 12:02
关于NTFS分区与FAT分区的10个精彩问答
信息来源:中国暗域网络

1、什么是NTFS-新(N)技术(T)文件(F)系统(S)?

想要了解NTFS,我们首先应该认识一下FAT。FAT(File Allocation Table)是“文件分配表”的意思。对我们来说,它的意义在于对硬盘分区的管理。FAT16、FAT32、NTFS是目前最常见的三种文件系统。
FAT16:我们以前用的DOS、Windows 95都使用FAT16文件系统,现在常用的Windows 98/2000/XP等系统均支持FAT16文件系统。它最大可以管理大到2GB的分区,但每个分区最多只能有65525个簇(簇是磁盘空间的配置单位)。随着硬盘或分区容量的增大,每个簇所占的空间将越来越大,从而导致硬盘空间的浪费。
FAT32:随着大容量硬盘的出现,从Windows 98开始,FAT32开始流行。它是FAT16的增强版本,可以支持大到2TB(2048G的分区。FAT32使用的簇比FAT16小,从而有效地节约了硬盘空间。
NTFS:微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。随着以NT为内核的Windows 2000/XP的普及,很多个人用户开始用到了NTFS。NTFS也是以簇为单位来存储数据文件,但NTFS中簇的大小并不依赖于磁盘或分区的大小。簇尺寸的缩小不但降低了磁盘空间的浪费,还减少了产生磁盘碎片的可能。NTFS支持文件加密管理功能,可为用户提供更高层次的安全保证。

2、什么系统可以支持NTFS文件系统?

只有Windows NT/2000/XP才能识别NTFS系统,Windows 9x/Me以及DOS等操作系统都不能支持、识别NTFS格式的磁盘。由于DOS系统不支持NTFS系统,所以最好不要将C:盘制作为NTFS系统,这样在系统崩溃后便于在DOS系统下修复。
NTFS与操作系统支持情况如下:
FAT16 windows 95/98/me/nt/2000/xp unix,linux,dos
FAT32 windows 95/98/me/2000/xp
NTFS  windows nt/2000/xp

3、我们需要NTFS吗?

Windows 2000/XP在文件系统上是向下兼容的,它可以很好地支持FAT16/FAT32和NTFS,其中NTFS是Windows NT/2000/XP专用格式,它能更充分有效地利用磁盘空间、支持文件级压缩、具备更好的文件安全性。如果你只安装Windows 2000/XP,建议选择NTFS文件系统。如果多重引导系统,则系统盘(C盘)必须为FAT16或FAT32,否则不支持多重引导。当然,其他分区的文件系统可以为NTFS。

4、如何将FAT分区转换为NTFS?

Windows 2000/XP提供了分区格式转换工具“Convert.exe”。Convert.exe是Windows 2000附带的一个DOS命令行程序,通过这个工具可以直接在不破坏FAT文件系统的前提下,将FAT转换为NTFS。它的用法很简单,先在Windows 2000环境下切换到DOS命令行窗口,在提示符下键入:D:\>convert 需要转换的盘符 /FS:NTFS。如系统E盘原来为FAT16/32,现在 需要转换为NTFS,可使用如下格式:D:\>convert e: /FS:NTFS。所有的转换将在系统重新启动后完成。本人推荐使用此法进行转换!

  此外,你还可以使用专门的转换工具,如著名的硬盘无损分区工具Powerquest Partition Magic 7.0,软件下载页面http://soft.km169.net/soft/html/1964.htm,使用它完成磁盘文件格式的转换也是非常容易的。首先在界面中的磁盘分区列表中选择需要转换的分区。从界面按钮条中选择“Convert Partition”按钮,或者是从界面菜单条“Operations”项下拉菜单中选择“Convert”命令。激活该项功能界面。在界面中选择转换输出为“NTFS”,之后单击“OK”按钮返回程序主界面。单击界面右下角的“Apply”添加设置。此后系统会重新引导启动,并完成分区格式的转换操作。

5、如何在NTFS格式分区下找回意外删除丢失的文件?

你可以使用专门的软件,如Final Data for NTFS,或者是Get Data Back for NTFS 1.04。这两个软件的文件恢复效果都不错。本人推荐使用数据恢复功能强大、速度快的Get Data Back for FAT 1.05/NTFS 1.04(是2个软件),下载地址http://download-tipp.de/cgi-bin/ ... phrase&bool=and。如果在文件删除后没有任何文件操作,恢复率接近100%。所以不要等到文件删除后才安装这个软件,最好是与Windows系统一起安装,并在出现文件误删除后立刻执行恢复操作,一般可以将删除的文件恢复回来。

6、如果Windows 2000/XP安装在C盘(NTFS格式),当Windows崩溃时在DOS状态下不能进入C盘,怎么办?

你可以使用Windows 2000/XP的安装光盘启动来修复Windows,或者是制作Windows 2000/XP的安装启动应急盘。注意:Windows 2000的安装盘制作程序在程序的安装光盘中,而Windows XP的应急盘制作是独立提供的,需要从微软的网站下载。

7、Final Data for NTFS或Get Data Back for NTFS可以修复被意外格式化的硬盘吗?
这两个软件都可以恢复格式化删除的数据(低级格式化除外)。常规格式化删除的只是数据信息,低级格式化则删除全部数据区,当硬盘技术还不像现在这样发达的时候,磁盘表面很容易磨损。硬盘使用者对经常出现的读错误,往往采用低级格式化。修复被格式化的硬盘,只能将这个硬盘拆下来,安装到其他的计算机中,之后执行文件修复操作。Final Data甚至可以修复由CIH病毒破坏的硬盘。

8、Windows 98(FAT系统)下如何直接读写NTFS文件系统?

  当电脑安装有Windows 98和Windows 2000/XP两个操作系统,如何在FAT系统下直接读写NTFS文件系统?虽然FAT系统可以转换为NTFS系统,但是有时我们需要在机器中同时安装Windows 98和Windows 2000/XP。此时的麻烦就来了,由于Windows 98不能读取Windows 2000的NTFS,那么如何进行数据交换呢?实际上我们只需要使用一个小小的软件NTFS for Windows 98就可以让Windows 98轻松读取、甚至写入NTFS分区。首先,到该工具的下载网址http://down.hothost.com/list.asp?id=514下载NTFS for Windows 98 1.07版(能读、写!)。解压缩后,请把CR整个目录(里边有7个读取NTFS文件系统必须使用到Windows 2000/XP的系统文件,其它3个是注释文件)COPY到C盘(也可改名为NTFS_FILES,我是这样改的),安装结束后会出现一个配置界面,在该界面中的“NTFS System Files”项中需要设置的是程序可以借用的Windows 2000/XP系统的相关文件保存路径,你就选择刚才COPY到盘的CR目录即可,然后其它什么都不必去操作,到此设置完成,单击OK按钮保存设置并退出。重启后就可以在Windows 98下访问NTFS分区了!经过实际使用,证明安装此软件后,在NTFS分区上能读、写!
以上内容本人在WIN98SE+WINXP_PROCN+WINXP_PROEN及WINME+WINXP_PROCN+WINXP_PROEN上验证通过!(2台机)

下面的内容仅供参考,建议你不要实施,至少我是这样做的。
  [Drive Letter Assignments”项中提供的设置是设置允许可以识别的NTFS分区盘符,设置的依据可以参考在Windows 2000/XP下的盘符顺序。如果单击界面中的“Advanced”按钮,在关联界面中提供了针对设置的NTFS分区高级设置,其中包括设置为只读属性“Read-Only”、允许写入“Write-Through”。对于检查点间隔“Checkpoint Interval”和写回间隔“Writeback nterval”,使用程序提供的默认设置即可。]

9、如何在DOS系统下直接读写NTFS文件系统?

  Winternals Software LP 公司提供了工具软件解决了这个问题。用一张MS-DOS启动盘就可以作到以前不可能作到的事,修改,删除,更新 NTFS上的文件,实际 NTFSDOS pro 是在 Windows NT 出问题时的一个修复工具。下载页面http://soft.winzheng.com/searchengine.asp,键入“NTFS”查找该站软件,就可以找出NTFSDOS PRO 4.0,最好选择服务器2下载。具体安装过程并不复杂,按照提示做好启动盘即可。

  10、在NTFS系统下,如何保护自己的文件、文件夹?

由于NTFS文件分区格式具有良好的安全性,如果你不希望自己在硬盘中的文件被其他人调用或查看,使用权限控制方式加密是非常有效的方法。设置方法非常简单:以系统管理员身份登录,使用鼠标右键单击需要加密的文件夹,选择“Properties”,切换到“Security”选项卡。在“Group of user names”项中设置允许访问的用户只有Administrator和自己。删除其他的所有用户。保存设置退出即可。此后,其他用户将不能访问该文件夹。使用这项功能需要注意的是:一定要保证只有你一个人知道Administrator密码,并且设置其他用户不能属于Administrator。此外,你还可以详细的给每个用户设置权限,包括设置读取权限、写入权限、删除权限等,这样使用起来就更加灵活。你还可以设置权限,控制一个磁盘,或者磁盘分区只为自己使用,这样其他人就不能看到你的任何东西了。
作者: lover     时间: 2007-12-15 06:21
感觉很好,可是好多看不懂呀
作者: lotei     时间: 2007-12-15 14:21


  Quote:
Originally posted by lover at 2007-12-15 06:21:
感觉很好,可是好多看不懂呀

慢慢来!不着急!多看多实践!
作者: happyapple     时间: 2007-12-15 14:43


  Quote:
Originally posted by lotei at 2007-12-15 14:21:

慢慢来!不着急!多看多实践!

恩。。。:cool:
作者: vvlove2008     时间: 2007-12-16 20:48
回贴是对劳动者的尊重.........
作者: qw55640513     时间: 2007-12-17 07:18
学习了
作者: hao888wb     时间: 2007-12-18 12:39
值得学习。。。
作者: xsdj365     时间: 2007-12-31 09:48    标题: 支持微点

有用的技巧,希望继续多发。
作者: wfhgfm     时间: 2008-1-2 13:03
学习~~呢
作者: stzgaf     时间: 2008-1-2 14:28
来这里,每天都有收获!
作者: hello     时间: 2008-2-9 17:30    标题: 值的一看

尽管有点深奥,但也有收获
作者: 8383745687     时间: 2008-2-13 10:19
学习了,谢谢!
作者: 1dgw     时间: 2008-2-19 13:13    标题: 如何理解呢?

1.......所以最好不要将C:盘制作为NTFS系统,这样在系统崩溃后便于在DOS系统下修复。
2......如果你只安装Windows 2000/XP,建议选择NTFS文件系统。
如何理解呢?
作者: ma2235153     时间: 2008-5-2 18:49
好多啊,不过很有用呵,努力
作者: w278717052     时间: 2009-5-8 09:18
ooooo
作者: hccccc     时间: 2009-5-10 14:33
这个帖子好久没有更新了。




欢迎光临 微点交流论坛 (http://bbs.micropoint.com.cn/) bbs.micropoint.com.cn