datasos

datasos-raidlab

Subscribe to RSS feed

windows日志的保护与伪造


编辑收集:上海 数据恢复



日志对于系统安全的作用是显而易见的,无论是网络管理员还是黑客都非常重视日志,一个有经验的管理员往往能够迅速通过日志了解到系统的安全性能,而一个聪明的黑客往往会在入侵成功后迅速清除掉对自己不利的日志。下面我们就来讨论一下日志的安全和创建问题。
一:概述:Windows2000的系统日志文件有应用程序日志,安全日志、系统日志、DNS服务器日志等等,应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%/system32/config,默认文件大小512KB。
安全日志文件:%systemroot%/system32/config/SecEvent.EVT
系统日志文件:%systemroot%/system32/config/SysEvent.EVT
应用程序日志文件:%systemroot%/system32/config/AppEvent.EVT
这些LOG文件在注册表中的:
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Eventlog
有的管理员很可能将这些日志重定位。其中EVENTLOG下面有很多的子表,里面可查到以上日志的定位目录。

二:作为网络管理员:
1。日志的安全配置:
默认的条件下,日志的大小为512KB大小,如果超出则会报错,并且不会再记录任何日志。所以首要任务是更改默认大小,具体方法:注册表中HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Eventlog对应的每个日志如系统,安全,应用程序等均有一个maxsize子键,修改即可。
下面给出一个来自微软站点的一个脚本,利用VMI来设定日志最大25MB,并允许日志自行覆盖14天前的日志:
该脚本利用的是WMI对象, WMI(Windows Management Instrumentation)技术是微软提供的Windows下的系统管理工具。通过该工具可以在本地或者管理客户端系统中几乎一切的信息。很多专业的网络管理工具都是基于WMI开发的。该工具在Win2000以及WinNT下是标准工具,在Win9X下是扩展安装选项。所以以下的代码在2000以上均可运行成功。

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Security)}!//" & _
strComputer & "/root/cimv2") ’获得VMI对象
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile")
For each objLogfile in colLogFiles
strLogFileName = objLogfile.Name
Set wmiSWbemObject = GetObject _
("winmgmts:{impersonationLevel=Impersonate}!//./root/cimv2:" _
& "Win32_NTEventlogFile.Name=’" & strLogFileName & "’")
wmiSWbemObject.MaxFileSize = 2500000000
wmiSWbemObject.OverwriteOutdated = 14
wmiSWbemObject.Put_
Next
将上述脚本用记事本存盘为vbs为后缀的即可使用。
另外需要说明的是代码中的strComputer="."在windows脚本中的含义相当于localhost,如果要在远程主机上执行代码,只需要把"."改动为主机名,当然首先得拥有对方主机的管理员权限并建立IPC连接.本文中的代码所出现的strComputer均可作如此改动.
2。日志的查询与备份:
一个优秀的管理员是应该养成备份日志的习惯,如果有条件的话还应该把日志转存到备份机器上或直接转储到打印机上,笔者还有一篇文章《利用脚本编程格式化输出系统日志》,详细的讲述了利用windows脚本把日志转储并输出成html页已便于查询,有兴趣的可以查看,在这里推荐微软的resourceKit工具箱中的dumpel.exe,他的常用方法:
dumpel -f filename -s //server -l log
-f filename 输出日志的位置和文件名
-s //server 输出远程计算机日志
-l log log 可选的为system,security,application,可能还有别的如DNS等
如要把目标服务器server上的系统日志转存为backupsystem.log可以用以下格式:
dumpel //server -l system -f backupsystem.log
再利用计划任务可以实现定期备份系统日志。
另外利用脚本编程的VMI对象也可以轻而易举的实现日志备份:
下面给出备份application日志的代码:
backuplog.vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Backup)}!//" & _
strComputer & "/root/cimv2") ’获得 VMI对象
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName=’Application’") ’获取日志对象中的应用程序日志
For Each objLogfile in colLogFiles
errBackupLog = objLogFile.BackupEventLog("f:/application.evt") ’将日志备份为f:/application.evt
If errBackupLog <> 0 Then
Wscript.Echo "The Application event log could not be backed up."
else Wscript.Echo "success backup log"
End If
Next
程序说明:如果备份成功将窗口提示:"success backup log" 否则提示:"The Application event log could not be backed up",此处备份的日志为application 备份位置为f:/application.evt,可以自行修改,此处备份的格式为evt的原始格式,用记事本打开则为乱码,这一点他不如dumpel用得方便。


三:作为黑客
1。日至清除
一个入侵系统成功后的黑客第一件事便是清除日志,如果以图形界面远程控制对方机器或是从终端登陆进入,删除日志不是一件困难的事,由于日志虽然也是作为一种服务运行,但不同于http,ftp这样的服务,可以在命令行下先停止,再删除,在m命令行下用net stop eventlog是不能停止的,所以有人认为在命令行下删除日志是很困难的,实际上不是这样,下面介绍几种方法:
1.借助第三方工具:如小榕的elsave.exe远程清除system,applicaton,security的软件,使用方法很简单,首先利用获得的管理员账号与对方建立ipc会话,net use //ip pass /user: user
然后命令行下:elsave -s //ip -l application -C,这样就删除了安全日志。
其实利用这个软件还可以进行备份日志,只要加一个参数 -f filename就可以了,在此不再详述。
2.利用脚本编程中的VMI,也可以实现删除日志,首先获得object对象,然后利用其clearEventLog() 方法删除日志。源代码:
cleanevent.vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Backup)}!//" & _
strComputer & "/root/cimv2")
dim mylogs(3)
mylogs(1)="application"
mylogs(2)="system"
mylogs(3)="security"
for Each logs in mylogs
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName=’"&logs&"’")
For Each objLogfile in colLogFiles
objLogFile.ClearEventLog()
Next
next
在上面的代码中,建立一个数组,为application,security,system如果还有其他日志也可以加入数组。
然后用一个for 循环,删除数组中的每一个元素,即各个日志.
2。创建日志:
删除日志后,任何一个有头脑的管理员面对空空的日志,马上就会反应过来被入侵了,所以一个聪明的黑客的学会如何
伪造日志:
1。利用脚本编程中的eventlog方法是创造日志变得非常简单;下面看一个代码
createlog.vbs
set ws=wscript.createobject("Wscript.shell")
ws.logevent 0 ,"write log success" ’创建一个成功执行日志
这个代码很容易阅读,首先获得wscript的一个shell对象,然后利用shell对象的logevent方法
logevent的用法:logevent eventtype,"description" [,remote system]
eventtype 为日志类型,可以使用的如下:0 代表成功执行,1 执行出错 ,2 警告 , 4,信息 ,8 成功审计 16 故障审计
所以上面代码中,把0改为1,2,4,8,16均可,引号下的为日志描述。
这种方法写的日志有一个缺点,只能写到应用程序日志,而且日至来源只能为wsh,即windows scripting host,所以不能起太多的隐蔽作用。
2,微软为了方便系统管理员和程序员,在xp下有个新的命令行工具,eventcreate.exe,利用它,创建日志更加简单。
eventcreate -s server -l logname -u username -p password -so source -t eventtype -id id -d description
含义:-s 为远程主机创建日志: -u 远程主机的用户名 -p 远程主机的用户密码
-l 日志;可以创建system和application 不能创建security日志,
-so 日志来源,可以是任何日志 -t 日志类型 如information信息,error错误,warning 警告,
-d 日志描述,可以是任意语句 -id 自主日志为1-1000之内
例如,我们要本地创建一个系统日志,日至来源为admin,日志类型是警告,描述为"this is a test",事件ID为500
可以用如下参数
eventcreate -l system -so administrator -t warning -d "this is a test" -id 500
这个工具不能创建安全日志。至于如何创建安全日志,希望大家能够找到一个好方法!

“熊猫烧香”化身“金猪”危害指数再飙升

春节将至,然而广大网络用户仍没有彻底摆脱“熊猫烧香”的阴霾。伴随着大量“熊猫烧香”变种的出现,对用户的危害一浪高过一浪。来自金山毒霸反病毒中心最新消息:“熊猫烧香”化身“金猪”,危害指数再度升级,被感染的电脑中不但熊猫成群,而且金猪满圈。但象征财富的金猪仍然让用户无法摆脱系统被破坏,大量应用软件无法应用的噩梦。
“昨天,我打开电脑的时候,发现C盘目录下的可执行文件全部变为金色的小猪,起初我还觉得很可爱,但紧接着发现办公软件都不好用了,而且杀毒软件也被终止了。”用户张小姐非常无奈的表示。

“刚刚把熊猫查杀干净,今天一开电脑,又发现了N只小金猪,真是郁闷!”用户黄先生气愤地表示。

金山毒霸反病毒专家戴光剑指出,伴随着各大杀毒厂商对“熊猫烧香”病毒的集中绞杀,该病毒正在不断“繁衍”新的变种,密谋更加隐蔽的传播方式。据不完全统计,仅12月份至今,变种数已达90多个,个人用户感染熊猫烧香的已经高达几百万,企业用户感染数还在继续上升。
此外学生寒假开始,上网人群短期内集中上升,病毒的传播速度也空前加快,所以用户在进行上网的过程中要更加警惕病毒的入侵。据了解,前几天在网络上出现了“熊猫烧香”作者声称不再有变种出现,而“金猪”的出现再次粉碎了人们的美梦,再次将人们拉回到熊猫烧香的梦魇之中。专家称,按照目前“熊猫烧香”破坏程度,威胁将延伸至春节。

上海数据恢复-一个起死回生的产业

当一家公司存放在计算机硬盘中重要的数据突然遇到了意外情况,如病毒侵害,黑客入侵、误操作和硬盘损坏等,造成了数据丢失,其结果可能是灾难性的。不仅使公司蒙受巨大的经济损失,甚至还可能使公司破产倒闭。

从理论上说:就电脑本身而言,无论使用的目的如何不同,使用者如何不同,其所有的内容,从始至终,从过程到结果,都是对数据的操作:收集、处理、运算、存储……。因此电脑就是数据,没有数据,失去数据,电脑便一无所用。也正因为此,现代社会,信息就是财富。

随着信息技术的发展,信息设备也越来越复杂,其中隐藏的错误也在逐渐增多。各种恶性病毒的不断爆发,邮件病毒、脚本病毒、Flash病毒、黑客病毒……新病毒层出不穷,时刻威胁着用户的数据安全。几乎每一个计算机用户都有错误操作计算机的时候。因此,从某种意义上说,数据丢失的危险具有一定的必然性、普遍性和偶发性。黑客们在设置了防火墙的系统间进出自如,恶性病毒给用户带来巨大的经济损失,备份数据在使用时发现已经过时。计算机用户已经意识到:在所有安全措施失去效果,造成数据丢失的时候,必须有一种手段来帮助他们寻找损毁的数据。
数据恢复产业应运而生

“数据恢复”技术,顾名思义,就是面对计算机系统遭受误操作、病毒侵袭、硬件故障、黑客攻击等事件后,将用户的数据从各种“无法读取”的存储设备中拯救出来,从而将损失减到最小的技术。因此,它又被人称为“数据安全的最后一道防线”。

数据恢复从广义上讲还应包括:计算机的系统恢复、网络恢复、数据备份、电脑的硬件维修、为用户提供临时的工作空间等多项服务。但是在一些情况数据则完全不能恢复:数据被覆盖、磁盘盘片严重物理损伤等。

数据丢失原因分析

最常见数据恢复类型,就是由于数据定义的逻辑错误所导致的数据暂时的丢失,即数据在表面上对于操作者(如密码加密),或数据暂时的丢失,或应用程序(如文件格式因杀毒等动作而损失),甚至是操作系统(如分区表故障,FAT或MBR的丢失)等表现为不可见和不可使用的状态。我们称上述的数据丢失为逻辑错误。

基本上,由逻辑错误导致的数据不可用状况,仍然需用逻辑的方式进行补救,即软件方式——或穷举破解、或计算重构、或搜索补全,或使用其它的手段部分或全部的找回丢失的数据。

数据恢复产业在几年前还很少有人知道,但随着这两年专业数据恢复公司象雨后春笋似的成立,这一产业已被越来越多的人士看好。应当承认,在逻辑数据修复中,占有很大比例的相当数量的案例是可以借助目前市面上的一些傻瓜式的智能修复工具自动完成的。这也是为什么现在市面上忽然间出现了这么多自称是数据恢复专业公司的根本原因。也正是这样的良莠不齐,导致数据恢复的市场的极其不规范,因利益驱使而造成大量小公司仓促上马数据恢复项目,反而使大量数据特别重要,又是初次遭遇这种数据急救需求,无力分辨技术高低的用户反受其乱。造成自己本来并不严重,完全有机会100%恢复所丢失的数据,最终葬送在这些人的反复的尝试操作之中。

“数据恢复”市场有多大

数据恢复是一个朝阳产业。随着信息安全逐渐被人们所重视,数据恢复技术在构筑数据安全保护底线方面所处的特殊地位,数据恢复的重要性正在被IT业广泛关注。《计算机技术评论》出版商WestWorld公司公布了下列数据以证明数据恢复的重要性。多数公司认为:
100兆的数据价值超过100万美元;
在两年内,43%的公司经历灾难后无法从新开张,29%的公司倒闭;
每500个数据中心中,就有1个每年要经历一次灾难;
数据存储量以年均80%的速度增长,从1999年的184,641 TB增加至2003年的2,000,000TB;

数据恢复产业化在国外已经有很多年了,如美国著名的专业从事数据恢复的 Ontrack 公司现在每年的产值在2亿美元以上。IBM公司在2000年的总收入为880亿,其中数据恢复和与之相关的收入占了1/3。

在国外数据恢复的费用昂贵,在国内数据恢复的费用也是高昂的,最少也要几百元。一些提供数据挽救服务的个人电脑高手收费甚至高过每兆数百元。现在仅仅一个PTT演示文件就能够达到十几兆或是几十兆,如此算来一次数据恢复就可达到几十万元。无论对于个人电脑用户还是对于企业级用户来说,这都是一笔不小的开支。在我国,据来自CCID的统计数据,中国电脑用户目前有4000万。假设每年有10%电脑遭受病毒侵误操作而需要数据恢复,那么这个数字就达400万。如果这些数据丢失的用户有10%需要数据恢复服务,那么这个数字也将达40万。即使以每台电脑的修复费用最低价300-500元计算,一年的市场总额也有将近2亿元。国内的大型企业每年都有上万块硬盘的恢复量。用户主要集中在电力、金融、银行、证券、公安以及对数据较为敏感的行业和用户。2001年,我国的数据恢复业务呈直线上升的阶段。各信息技术厂商都开始关注到数据恢复这个巨大的市场。

数据丢失去哪恢复

一位多年从事数据恢复工作的梁先生说,现在国内有98%的电脑用户在数据丢失的时候不知该向谁求助。 而找到数据恢复公司的用户基本上都是在因特网上,比如你要搜索上海数据恢复的公司,你可以通过在Google搜索引擎用关键字“上海数据恢复”查询到的。根据最新一份资料表明,国内最具实例数据恢复公司有上海西缔信息科技有限公司等等。已经被google搜索到第一位,是一家以实力而著称的知名企业。

正像当年反病毒软件的最初兴起时一样,由于数据丢失原因的复杂性,数据恢复需求的不可预见性,这个行业目前尚无一致的标准。不管是管理层面的还是自律意义上的,无论上理论上还是实践上,也确实无人在事先能够对数据恢复的效果进行具体的担保承诺。

行业需要有效的监督和规范公司为用户恢复的数据往往都涉及到商业秘密、个人隐私甚至国家机密,对于这样一个敏感的行业目前国家还没有一个机构负责监督和规范,从事数据恢复的公司也无需获得国家保密机关的授权。这是也是目前一个值得注意和急待解决的问题。

全世界的消费者强烈要求 微软对XP的支持延续到2014

全世界的消费者强烈要求 微软对XP的支持延续到2014
编辑:数据恢复 来源:互联网



应消费者的呼声,微软公司于当地时间本周三宣布, 它将对Windows XP Home Edition和Windows XP Media Center Edition这两个版本的支持时间再延长5年,这也是微软公司首次延长面向消费者产品的支持时间。这次延长支持时间将使这两种产品的支持时间与面向企业的专业版Windows XP操作系统相当。而在此前,微软公司仅仅是向企业级产品提供5年延长期支持服务。


根据微软公司的支持生命周期政策,消费者和企业用户都将能够获得“主流”支持。XP Home Edition和XP Media Center这两个版本的主流支持时间限于2009年4月份结束。一旦主流支持结束,5年延长期支持就将开始。

  而在此前,根据微软公司的政策,在主流支持结束之后,XP Home和XP Media Center这两个版本的用户将获得8年的自助服务支持。延长期支持包含主流支持中8项功能的半数,除非用户在主流支持结束的90天内购买延长期支持服务,用户将不会再得到诸如设计变化、质保、免费事件报告以及与安全无关的补丁软件支持等服务。据微软公司表示,对Windows XP Home Edition和Windows XP Media Center Edition的延长期支持将在2014年结束。

据微软公司的一位代表表示,微软公司虚心接纳了客户的意见,并已经意识到了仅仅向Windows XP操作系统专业版而不向Windows XP Home和Windows XP Media Center Editions版本提供安全补丁软件是不够的。微软公司目前仅仅对Windows XP Home Edition和Windows XP Media Center Edition的支持政策进行了修改,它还需要一些时间去评估一项适合所有面向消费者的操作系统版本的政策。

上海数据恢复是国内最专业的数据恢复机构,恢复数据的专家

[隆重推荐][熊猫病毒][整体解决方案][2007.2]

编辑:上海数据恢复 时间:2007-2-5 来源:Net

“熊猫烧香”病毒无疑成了近期互联网最热门的关键字了,网上也能找到很多个有关熊猫烧香病毒的解决办法,这些方法都显得不尽完美,再加上熊猫的变种很多,有效性就更加大打折扣了。金山毒霸反病毒专家为广大感染熊猫烧香的用户提供了一个相对完整的解决方案供大家参考。

病毒名:

中文:熊猫烧香病毒(又称武汉男生)

英文:Worm.WhBoy

目前发现的变种数已超过50个

典型表现:

感染病毒后发现较多的.EXE文件图标变成点着香的熊猫,这也是该病毒命名的由来。现在发现的部分变种已经不再使用这个广为人知的图标了。部分变种可以直接通过互联网更新版本,部分变种可以感染htm、html、asp、php、jsp、aspx等网页格式文件。一段web服务器被感染,将意味着所有浏览这些网页的计算机可能会自动下载并感染上熊猫烧香病毒。

该系列变种会释放以下几个典型文件

分区根目录下:setup.exe、autorun.inf、%System%\Fuckjacks.exe、%System%\Drivers\
spoclsv.exe

局域网环境下:GameSetup.exe


病毒行为:

1、删除常用杀毒软件在注册表中的启动项或服务,终止杀毒软件的进程,几乎涉及目前所有杀毒软件

2、终止部分安全辅助工具的进程,如IceSword,任务管理器taskmon。

3、终止维金的相关进程Logo1_.exe、Logo_1.exe、Rundl123.exe。

4、弱口令破解局域网其他电脑的Administror帐号,并用GameSetup.exe进行复制传播。

5、修改注册表键值,导致不能查看隐藏文件和系统文件。

6、除C盘如下目录外,病毒会尝试破坏其它分区下的部分.exe、.com、.gho、.pif、.scr文件,病毒不会去感染以下目录中的文件(给我们解决此病毒留下机会了,请看下文中的有关描述)。

WINDOW,Winnt,System Volume Information,Recycled,
Windows NT,Windows Update,Windows MediaP,Outlook Express,Internet
Explorer,NetMeeting,Common Files,ComPlus Applications,Messenger,
InstallShield Installation Information,MSN,Microsoft Frontpage,
MovieMaker,MSN GaminZone MovieMaker,MSN GaminZone



7、病毒会删除扩展名为gho的文件,该文件是一系统备份工具GHOST的备份文件,使用户的系统备份文件丢失。

解决办法:

1、首选专杀工具

专杀工具是效能最好的方案,能处理已知变种,缺点是有新变种后,专杀也需要更新。推荐去www.xiongmaoshaoxiang.com下载专杀。

2、在线杀毒

因为熊猫烧香病毒的特殊性,杀毒软件本身可能会被感染,病毒还会尝试结束杀毒软件进程和服务,但病毒不感染IE浏览器,用浏览器加载在线杀毒控件来清除病毒可以收到奇效。已经中招的,可以去shadu.duba.net试试。

3、重启系统到带网络连接的安全模式,升级杀毒软件后杀毒。可单击开始,运行,输入msconfig,打开系统配置实用程序,点击BOOT.INI标签,作如图修改,重启即可进入带网络连接的安全模式。

4、手工清除

因为熊猫烧香病毒是感染型的病毒,手工清除相当麻烦,网友公布的手工清除方案只能手工结束病毒进程,一段运行了感染过熊猫烧香病毒的程序,还会再中招。以下简单介绍手工结束病毒进程,修复注册表项的步骤:

a.断开网络,禁用网卡或拔掉网线就行;

b.结束病毒进程,因为任务管理器、IcdSword已无法运行,已感染病毒的机器上很难实现。建议去http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/
ProcessExplorer.mspx下载一个Process Explorer备用,郁闷的是光缆没修好,官网下载速度巨慢。可以百度一下,到新浪、华军、天空去下载。如果在进程中发现FuckJacks.exe、setup.exe、spoclsv.exe(注意和正常的打印服务就差一个字母,打印服务文件名为spoolsv.exe),就用这个工具结束掉。

c.在本地计算机上搜索并删除以下病毒执行文件:

分区根目录下:setup.exe、autorun.inf(这个本身不是病毒,但它的存在是为了双击磁盘自动调用病毒程序,建议删了吧)
%System%\Fuckjacks.exe;%System%
\Drivers\spoclsv.exe


局域网环境下:GameSetup.exe
d. 开始-->运行—>输入regedit,确定后,打开注册表编辑器,删除病毒创建的启动项:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"FuckJacks"="%System%\FuckJacks.exe
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"svohost"="%System%\FuckJacks.exe"


浏览到
[HKEY_LOCAL_MACHINE\Software\Microsoft\windows\CurrentVersion\explorer\Advanced\
Folder\Hidden\SHOWALL]



单击右键,点新建——Dword值——命名为CheckedValue(如果已经有,可以删除后重建),修改它的键值为1,为十六进制,按确定后,退出注册表编辑器。以恢复文件夹选项中的“显示所有隐藏文件”和“显示系统文件”
e.修复或重新安装反病毒软件,以恢复被病毒删除的注册键值,恢复杀毒软件的功能。

f.最后,还是要更新反病毒软件全盘扫描,把感染的EXE程序、网页格式的文件修复。特别提醒网页编辑,一定要保护好自己编辑的Web文档,保护好自己的Web服务器,如果发现网站上传文件带毒,应该及时删除,重新上传。


数据恢复公司简介:上海数据恢复即DataSOS是国内知名的[数据恢复]机构,其在数据恢复方面取得的成绩和行业的领先优势把数据恢复规范到一个拥有自主产权的高科技IT技术平台,其精湛的开盘技术和服务器数据恢复技术不但解决了大量的数据恢复问题,更加赢得了大量客户的信赖,上海数据恢复的客户有原来的零变成了现在的上万个,更加显示其专业性。 上海数据急救中心 地址:上海市静安区愚园路309号。 紫安大厦6层601# (靠近静安寺,百乐门,北京西路到底) 传真: 021-51036995-808 电话: 021-61203630 61203628 手机:13918198161 邮编: 200040 联系人:程先生 郭博士 邮箱:service@datasos.net 免费热线 800-820-6995(上班时间)

datasos 上海数据恢复

硬盘数据恢复知识

硬盘数据恢复知识 发布日期:2005-7-6 阅读2667次


硬盘数据恢复知识

文/江海客 lowpower
声明:
1、您所看到的是《数据恢复与软故障处理基本指南》一文的文本稿,本文已经在《计算机应用文摘》发表,传统媒体如欲转载请同该杂志社联系,获得许可方可转载。
2、本文作者seak(哈工大紫丁香站ID)许可本文可转载于任何非商业BBS、新闻组和WEB站点。但严禁改动、删节或添加或局部抄袭、改头换面用于任何正式出版物。转载必须完整,包括本声明和原文紫丁香BBS信头 (即:发信人、标题、发信站三行)。
3、由于《计算机应用文摘》编辑同志对本文的修改、和作者对文章的再次扩充,等因素,你看到的电子版本部分章节与刊发文章并不一致。同时,作者本人也保留对文章再次扩充修改和网上重新发布的权利。
4、本文是一篇科普文章,是作者考虑到一般用户的接受能力而写的,对本领域的专家本文并无价值。作者力图能给广大用户做准确的描述,但由于作者时间和水平的限制,作者不能保证本文的涉及的观点、处理方法等绝对正确。欢迎大家就各种问题与我探讨。
————————————————————————————————



1、 系统工作机理的简单介绍(本节由lowpower缩写)
这一部分在原作中是最重要的一章,考虑到篇幅关系,进行了大量的删节。
①、 DOS(DOS兼容系统)硬盘数据的构成
DOS磁盘系统,可以按照逻辑分区的概念管理物理空间,不同分区可以装载不同的OS系统。
示意如下:
                 硬盘空间
第一扇区|分区1     |分区2   |分区3   |分区4
主引导扇区|引导扇区|引导扇区|引导扇区|引导扇区|
各分区公用|各个分区相对独立,可安装不同操作系统。




对FAT结构的分区每一分区都有独立的引导记录,FDT表,FAT表等。同时,系统还有一个最为重要的主引导记录。在0柱0面1扇区,今后我们用CYL代表柱、SIDE代表面,SEC代表扇区。以下一个FAT结构分区的简图。



保留区- 磁盘参数表、DOS引导记录
控制区-FAT表1、FAT表2根目录区
数据区-数据区



以下简单介绍一下重要的部分:
主引导记录又称主分区表、MBR等等:MBR占一个扇区,在CYL 0、SIDE 0、SEC 1,由代码区和数据区构成。其中代码区是一端标准的程序,完成BIOS自举到OS BOOT之间的工作,为OS启动做最后的准备。标准代码区可以由FDISK/MBR重建,但对于多系统引导的不标准MBR,将被这一操作破坏。MBR的数据区记录了分区情况。
系统扇区:CYL 0、SIDE 0 、SEC 1-CYL 0、SIDE 0 、SEC 63,共62个扇
区引导区又称BOOT区:CYL 0、SIDE 1 、SEC 1 这是我们过去称的DOS引
导区。也占一个扇区。
文件分配表又称FAT:是记录文件占用簇的情况和连接关系的地方。一般有两个FAT表,起到备份的作用。FAT12、FAT16的第一FAT表一般均在0-1-2,FAT32的第一FAT表在0-1-33。由于FAT表记录文件占用扇区连接的地方,如果两个FAT表都坏了,后果不堪设想。
由于FAT表的长度与当前分区的大小有关所以FAT2的地址是需要计算的。根目录区(ROOT、FDT):这里记录了根目录里的目录文件项等,ROOT区跟在FAT2后面。
数据区:跟在ROOT区后面,这才是数据内容。其实, MBR、隐含扇区、BOOT区,重建都比较容易。数据恢复的关键在于恢复数据文件。由于FAT表记录了文件在硬盘上占用扇区的链表,如果2个FAT表都完全损坏了。那么恢复文件,特别是占用多个不连续扇区文件就相当困难了。
②、 主引导记录简单说明:
主引导记录是硬盘引导的起点,关于代码区不多说了,其数据区,比较重要的是2个标志,80H和55AA,80H一般在偏移1BE处,80是分区激活的标志的标记表示系统可引导,且整个分区表只能有一个80标记。另一个就是结尾的55 AA标记,用来表示主引导记录是一个有效的记录。另外,各个分区自身的引导记录,也是以55AA结束,这是我们查找分区的标志。我们后面在介绍如何主引导记录中,给出了一个完整的分区表的例子,大家可对照查看。数据区中,用10H字节表示一个分区,最多可表示4个分区,分别从1BE、1CE、1DE、1EE开始,我们后面给出了分区表项对应地址的含义。大家可以对应分析一下以下分区的情况。
80  01  01  00  0B  FE  BF  FC  3F  00-00 00 7E 86 BB 00
①      ②      ③       ④            ⑤        ⑥
①:激活标记,80表示可引导分区
②:分区开始的磁头号为01、开始的扇区号为01、开始的柱面号为00,由于开始的扇区号为2进制6位,而开始的柱面号为2进制10位,因此扇区号所用字节的高两位要加在柱面号高两位。
③:分区的系统类型FAT32(0B),01是FAT12,04为FAT16,06为BIGDOS,07为NTFS,
其他参见分区类型表。
④:分区结束磁头号254、分区结束扇区号63、分区结束柱面号764
⑤:首扇区的相对扇区号63
⑥:总扇区数12289622
2、常见手工处理工具与DOS外部命令介绍
DEBUG:古老和最为常见的调试跟踪软件,始终捆绑在微软的DOS/WIN9X操作系统中。有19个子命令。有编写执行汇编指令,直接读写绝对扇区和内存单元等功能,可以在最艰苦的条件下工作。DOS6.22以下的系统,DEBUG.EXE在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它
也出现在WIN9X所生成的应急盘中。DISKEDIT:常见16进制编辑软件,字符界面,可以以文件方式和扇区方式读写逻辑内容,可以读写绝对扇区,可以方便的查找编辑分区表、FAT表、ROOT区等重要扇区。这一点要比DEBUG更方便。但在一些重要扇区损坏的情况下,DISKEDIT可能无法启动。DISKEDIT软件可以在著名的Norton Utilities软件包中找到。最新的DISKEDIT出现在NU4中。
NDD:常见的FAT文件结构磁盘修复工具,就是著名的NORTON磁盘医生,可以自动修复分区丢失等情况,可以抢救软盘坏区中的数据,强制读出后搬移到其他空白扇区。希望大家不要再使用NORTON FOR DOS7或8的NDD,这个版本由于不支持大分区、FAT32、长文件名等技术,会给你带来大量的麻烦。建议大家使用Norton Utilities4或更高版本中的NDD.EXE,这是纯DOS下的工具。在硬盘崩溃或异常的情况下,他可能可以带给用户以希望。WIN9X下的磁盘医生调用的并不是这个程序,而
是NDD32.EXE.
FDISK:FDISK当然是个危险的命令,很多人非常恐惧,事实上,FDISK命令的运行并不影响任何分区内的硬盘数据,他对分区的设置操作,只改变主分区表的数据区。而特别是FDISK异常重要的隐含参数/MBR,可以重建主分区表的代码区,清除主引导型病毒等。这是非常有用的操作。DOS6.22以下的系统,FDISK.EXE在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。
FORMAT:在一些人眼中,FORMAT是最可怕的命令,但他并不是对硬盘清零,特别值得注意的是,很多文件恢复工具都建议你恢复前先FORMAT该分区起到保护的饿作用。DOS6.22以下的系统,FORMAT.COM在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。
HD-COPY:传统的软盘COPY工具,2.0版本以后加入了强制读的功能,可以读出一些损坏扇区的内容。
SYS:SYS命令是重建BOOT区的最简洁的手段,也可以杀除BOOT区病毒。DOS6.22以下的系统,sys.COM在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。



令我非常遗憾的是,至今我没有发现比较出色的扇区级备份镜象工具,我曾写过一个HD-MIRROR,但由于错误较多,我提供下载的第二天就停止了发布,另外fixc的作者noz写过一个clone.exe,但可惜只适合相同的硬盘。我也曾以为GHOST可以做到这点,事实上,你目前还不能指望他为你备份一块深度破损的硬盘。。如果有一个有效的能以按扇区机制(而不是文件机制)压缩备份一块硬盘将之做成一个镜象文件的话,那么我们的恢复工作就拥有了更多的保证和余地。我们可以更大胆的做恢复的尝试。
3、 一些自动处理工具或软件包
首先介绍国内的一些免费修复工具
FIXMBR:何公道先生写的一个修复MBR的工具,适合处理逻辑分区丢失的情况, 有一些可选参数,支持 FAT32、FAT16,不支持NTFS、LINUX等分区,支持8.4G以上硬盘。可修复CIH发作后的扩展逻辑分区。
VRVFIX:北信源公司的推出的修复硬盘共享工具,适合处理逻辑分区丢失的情况,处理的基本比较准确。支持FAT32、FAT16,不支持NTFS、LINUX等分区。也不支持8。4G以上硬盘。
FIXC:国内最早出现的可以修复部分被CIH破坏的C盘的工具,作者是NOZ,新版本也加入了修复分区信息的功能,支持FAT32、FAT16,有限支持NTFS,不支持8。4G以上硬盘。目前的版本已经比较完善。
FIXHDPT:TBSOFT工作室的分区信息修复工具。支持FAT32、FAT16,不支持NTFS和LINUX,不支持8。4G以上硬盘,是历史比较长的工具之一。
RE(ReapirEasy):本人早期写的分区表修复工具,支持FAT32、FAT16,有限支持NTFS,不支持8.4G
以上硬盘,和某些BIOS不兼容。其整体水准低于前面列举的工具。
国外一些系统维护的工具目前已经达到了非常强大的程度。
Norton Utilities:历史最悠久的系统维护工具。不仅可以数据恢复,还可以系统加速和修补内存错误。目前最新的版本是NU 4.5FOR 9X、NU2 FOR NT等。
Tiramint:最为出色的灾难恢复工具之一,有NTFS、FAT32、FAT16、NOVELL4种版本。生成急救软盘,可以对深度破坏的磁盘进行交*恢复。
4、常用的基本操作
① 读出主引导记录:这是系统级数据恢复可能涉及最多的程序之一。
例:
DEBUG
-a100 ;从此处开始汇编
126C:0100 mov ax,201; 读操作一个扇区
126C:0103 mov bx,300; 送入地址300
126C:0106 mov cx,1 ;0面1扇
126C:0109 mov dx,80 ;80H为硬盘,头为0
126C:010C int 13
126C:010E int 3
126C:010F
-g=100 ;执行
AX=0050  BX=0300  CX=0001  DX=0080  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=126C  ES=126C  SS=126C  CS=126C  IP=010E   NV UP EI PL NZ NA PO NC
这里用了I/O中断13,涉及的寄存器含义为
ah,操作方式,02H为读,03H为写
al,送扇区数
bx,送准备装入扇区的内存偏移地址
cx送从哪一道哪一扇区开始,我们一般依*改换CX来读写不同逻辑盘某个逻辑扇区。dx,送盘符和头数
INT 3是断点中断,使程序运行到此停止。
② 显示引导区内容:我们把扇区读到某个内存地址并不是目的。而是为了看到他的内容,在DEBUG中D命令可以方便的查看内存单元的内容。续前例,如果我们要看到主引导区的内容的话,既然装载到300。
-d300 l200就可以查看了,一个引导区的映象类似如下,可以直观的看到我们前面所提到的代码区和数据区。是否正常请大家自行分析一下
126C:0300  33 C0 8E D0 BC 00 7C FB-50 07 50 1F FC BE 1B 7C   3.....|.P.P....|
126C:0310  BF 1B 06 50 57 B9 E5 01-F3 A4 CB BE BE 07 B1 04   ...PW...........
126C:0320  38 2C 7C 09 75 15 83 C6-10 E2 F5 CD 18 8B 14 8B   8,|.u...........
126C:0330  EE 83 C6 10 49 74 16 38-2C 74 F6 BE 10 07 4E AC   ....It.8,t....N.
126C:0340  3C 00 74 FA BB 07 00 B4-0E CD 10 EB F2 89 46 25   <.t...........F%
126C:0350  96 8A 46 04 B4 06 3C 0E-74 11 B4 0B 3C 0C 74 05   ..F...<.t...<.t.
126C:0360  3A C4 75 2B 40 C6 46 25-06 75 24 BB AA 55 50 B4   :.u+@.F%.u$..UP.
126C:0370  41 CD 13 58 72 16 81 FB-55 AA 75 10 F6 C1 01 74   A..Xr...U.u....t
126C:0380  0B 8A E0 88 56 24 C7 06-A1 06 EB 1E 88 66 04 BF   ....V$.......f..
126C:0390  0A 00 B8 01 02 8B DC 33-C9 83 FF 05 7F 03 8B 4E   .......3.......N
126C:03A0  25 03 4E 02 CD 13 72 29-BE 46 07 81 3E FE 7D 55   %.N...r).F..>.}U
126C:03B0  AA 74 5A 83 EF 05 7F DA-85 F6 75 83 BE 27 07 EB   .tZ.......u..''..
126C:03C0  8A 98 91 52 99 03 46 08-13 56 0A E8 12 00 5A EB   ...R..F..V....Z.
126C:03D0  D5 4F 74 E4 33 C0 CD 13-EB B8 00 00 00 00 00 00   .Ot.3...........
126C:03E0  56 33 F6 56 56 52 50 06-53 51 BE 10 00 56 8B F4   V3.VVRP.SQ...V..
126C:03F0  50 52 B8 00 42 8A 56 24-CD 13 5A 58 8D 64 10 72   PR..B.V$..ZX.d.r
126C:0400  0A 40 75 01 42 80 C7 02-E2 F7 F8 5E C3 EB 74 49   .@u.B......^..tI
126C:0410  6E 76 61 6C 69 64 20 70-61 72 74 69 74 69 6F 6E   nvalid partition
126C:0420  20 74 61 62 6C 65 00 45-72 72 6F 72 20 6C 6F 61    table.Error loa
126C:0430  64 69 6E 67 20 6F 70 65-72 61 74 69 6E 67 20 73   ding operating s
126C:0440  79 73 74 65 6D 00 4D 69-73 73 69 6E 67 20 6F 70   ystem.Missing op
126C:0450  65 72 61 74 69 6E 67 20-73 79 73 74 65 6D 00 00   erating system..
126C:0460  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
126C:0470  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
126C:0480  00 00 00 8B FC 1E 57 8B-F5 CB 00 00 00 00 00 00   ......W.........
126C:0490  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
126C:04A0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
126C:04B0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 01   ................
126C:04C0  01 00 0B FE BF FC 3F 00-00 00 7E 86 BB 00 00 00   ......?...~.....
126C:04D0  81 FD 0F FE FF FF BD 86-BB 00 E0 A9 75 00 00 00   ............u...
126C:04E0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
126C:04F0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA   ..............U.
③ 反汇编主引导区内容:判定MBR的代码区是否正常,对于数据区的基本情况,我们可以通过直观观察得出,但对于存在引导型病毒,或者引导区出现异常代码的情况,我们可能需要分析MBR中代码区的指令。这一般要对已经读入内存的引导区进行反汇编。
反汇编用指令U
续前例:
-u300 l15D ;反汇编主引导扇区代码区内容
126C:0300 33C0          XOR AX,AX
126C:0302 8ED0          MOV SS,AX
…………
126C:045C 65            DB 65
126C:045D 6D            DB 6D
④ 写内存单元,在我们的前例中,主分区类型是0B是FAT32的,假定这个类型实际是NTFS的,我们该如何修改呢?由于主分区类型的偏移是4C3H,我们可以用E命令写到内存单元中,从附表中查得NTFS的类型为07。因此 -e4c3 7再比如说,假定我们想把无效的分区表清零,那么,我们应当用另一个命令F,这个命令可以用填充一个内存地址范围。清零分区表的操作就是 -f4be 4ff 00,以下两个操作也比较常见。
重置80标记,-e4be 80
重置55AA标记,-f4ff 4fe 55 aa
不要忘记了,此时仅仅是改动了内存中的数据,并未写到硬盘上。因此需要用int 13中断把改写的结果,写回硬盘。
  续前例,
-a100
126C:0100 mov ax,301 ; 写操作一个扇区
-g=100 ;执行
  其实,我们相当于修改了刚才输入的读主引导扇区程序,使程序变为。
126C:0100 mov ax,301 ; 写操作一个扇区
126C:0103 mov bx,300 ;从内存地址300
126C:0106 mov cx,1   ;0面1扇
126C:0109 mov dx,80  ;80H为硬盘,头为0
126C:010C int 13
126C:010E int 3      ;断点
⑤ 绝对磁盘内容的读出与写入
类似操作在FAT32结构硬盘被CIH破坏的修复中比较常见,我们后面将讲到恢复的基本思路就是用第二FAT表覆盖第一FAT表。那么无疑要读出第二FAT表的内容,再回写到第一FAT表的位置上。一般的来说,大量连续扇区的读出写入DISKEDIT进行非常方便,如果用DEBUG做则要写一段子程序,不过程序的主要技巧就是利用int 25绝对磁盘读中断读出的内容,而用int 26绝对磁盘写做内容写入。
4、数据可恢复的前提
  有人觉得这个题目说法比较奇特,但数据恢复,作为一个数据再现的过程,一定要解决两个问题,第一是从哪里恢复的问题,第二是怎么恢复的问题。解决了这两个问题,我们事实上就把握了数据恢复的全部思想脉络。而这一部分就是从哪里恢复的问题。
①、 有效而及时的备份中是数据恢复最可*的来源,在许多人倡导备份到秒的今天,恐怕不会有人怀疑这点。而有些备份机制则是系统内建的,比如两份FAT表。
②、 数据的实际有效性的判定是关键,对我们来说,硬盘无法自举、文件找不到、文件打不开等现象,其实并不与数据丢失画等号。因为此时往往数据只是从操作系统的角度是一种逻辑丢失,而从物理扇区意义上,它仍然存在或部分存在。最明显的就是文件删除的例子,事实上,这只是把文件首字节,改为0E而已。而此时文件体依然存在。
③、 数据损坏过程的可逆性分析:对数据的改变无非两种,取代和变换,前者是不可逆的,而后者则是可逆的。我们以杀毒为例,对于大多文件性病毒来说,那些以附加而非代换方式感染的文件型病毒,理想的杀毒过程就是感染的逆过程。这种分析也常见与重要信息被隐藏搬移或者被加密的情况,但分析将比较复杂。服务器数据恢复④、 数据本身是否是标准信息:有些信息实际是通用或局部通用的,你无须考虑如何从本机抢救。只要相同或相近的系统版本就可以了,比如BOOT区、隐含扇区、WINDOWS的DLL文件等等。典型的例子如分区表的代码区,这是一段标准代码,事实上,它就放在你的FDISK程序里面,你可以用DEBUG把他提取出来。
⑤、 数据本身是否可以由其他信息统计再生:有些信息尽管丢失了,也没有备份。但它实际可以从其他数据中间接求得。最典型的就是主分区表中的分区信息,即使你把他清零也不必害怕,因为你可以从你几个分区中计算再生。
⑥、 破坏的完成程度:事实上,FDISK、FORMAT都不会彻底破坏数据,一般只有低格和扇区覆盖操作才会彻底破坏数据。但有时,破坏过程或者误操作过程会因人工终止、死机等原因不能完成。最明显的就是CIH病毒的例子,由于CIH是以1024字节为单位覆盖扇区,这当然是不可逆过程,于是我们最初都认为,破坏是很难恢复的,除非人工终止。事实上,当病毒覆盖某些扇区时会与9X系统发生冲突,从而造成死机,使数据得到了保护。
数据恢复
February 2012
S M T W T F S
January 2012March 2012
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29