windows日誌的保護與偽造

2021-09-21 23:53:45 字數 4721 閱讀 3920

windows日誌的保護與偽造 

日誌對於系統安全的作用是顯而易見的,無論是網路管理員還是黑客都非常重視日誌,乙個有經驗的管理員往往能夠迅速通過日誌了解到系統的安全效能,而乙個聰明的黑客往往會在入侵成功後迅速清除掉對自己不利的日誌。下面我們就來討論一下日誌的安全和建立問題。 

一:概述:windows2000的系統日誌檔案有應用程式日誌,安全日誌、系統日誌、dns伺服器日誌等等,應用程式日誌、安全日誌、系統日誌、dns日誌預設位置:%systemroot%\system32\config,預設檔案大小512kb。 

安全日誌檔案:%systemroot%\system32\config\secevent.evt 

系統日誌檔案:%systemroot%\system32\config\sysevent.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:" _ 

& "!\\" & _ 

strcomputer & "\root\cimv2") '獲得vmi物件 

set collogfiles = objwmiservice.execquery _ 

("select * from win32_nteventlogfile") 

for each objlogfile in collogfiles 

strlogfilename = objlogfile.name 

set wmiswbemobject = getobject _ 

("winmgmts:!\\.\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 輸出遠端計算機日誌 

如要把目標伺服器server上的系統日誌轉存為backupsystem.log可以用以下格式: 

dumpel \\server -l system -f backupsystem.log 

再利用計畫任務可以實現定期備份系統日誌。 

另外利用指令碼程式設計的vmi物件也可以輕而易舉的實現日誌備份: 

backuplog.vbs 

strcomputer = "." 

set objwmiservice = getobject("winmgmts:" _ 

& "!\\" & _ 

strcomputer & "\root\cimv2") '獲得 vmi物件 

set collogfiles = objwmiservice.execquery _ 

for each objlogfile in collogfiles 

if errbackuplog <> 0 then 

else wscript.echo "success backup log" 

end if 

next 

三:作為黑客 

1。日至清除 

乙個入侵系統成功後的黑客第一件事便是清除日誌,如果以圖形介面遠端控制對方機器或是從終端登陸進入,刪除日誌不是一件困難的事,由於日誌雖然也是作為一種服務執行,但不同於http,ftp這樣的服務,可以在命令列下先停止,再刪除,在m命令列下用net stop eventlog是不能停止的,所以有人認為在命令列下刪除日誌是很困難的,實際上不是這樣,下面介紹幾種方法: 

其實利用這個軟體還可以進行備份日誌,只要加乙個引數 -f filename就可以了,在此不再詳述。 

2.利用指令碼程式設計中的vmi,也可以實現刪除日誌,首先獲得object物件,然後利用其cleareventlog() 方法刪除日誌。源**: 

cleanevent.vbs 

strcomputer = "." 

set objwmiservice = getobject("winmgmts:" _ 

& "!\\" & _ 

strcomputer & "\root\cimv2") 

dim mylogs(3) 

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 

然後用乙個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 遠端主機的使用者密碼 

-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的「資料執行保護」與牛X病毒

據說,裝了xpsp2的系統都有 資料執行保護 這個功能。但是,不少使用者並不重視這個功能。其實 資料執行保護 data execute protection,簡稱dep 對於防範某些插入程序的病毒的防護效果還是比較滿意的。昨天在 卡飯 見到乙個號稱可以廢掉icesword的病毒樣本,拿來執行了一下。...

Windows的安全保護操作技巧

第一招 螢幕保護 不過,螢幕保護最快只能在使用者離開1分鐘之後自動啟動,難道我們必須坐在計算機旁等待n分鐘看到螢幕保護啟用之後才能再離開嗎?其實我們只要開啟 windows安裝目錄裡面的system子目錄,然後找到相應的螢幕保護程式 副檔名是scr 按住滑鼠右鍵將它們拖曳到桌面上,選擇彈出選單中的 ...

棧的保護 windows和linux

上面提到的兩種方式中,安全cookie提供了更大的保護,而不可執行棧在遇到溢位 放到堆的時候就很難奏效了,先看看安全cookie是怎麼一回事。在傳統的函式呼叫時,棧自下而上是 引數 返回位址 老的棧底指標 區域性變數 如果區域性變數發生向下溢 出,覆蓋了函式的返回位址,那麼程式一點脾氣也沒有,乖乖聽...