| 導購 | 订阅 | 在线投稿
分享
 
 
 

windows日志的保護與僞造

來源:互聯網網民  2006-12-16 16:51:00  評論

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

這個工具不能創建安全日志。至于如何創建安全日志,希望大家能夠找到一個好方法!

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
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 這個工具不能創建安全日志。至于如何創建安全日志,希望大家能夠找到一個好方法!
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有