■ 河南 劉景云
編者按:為了防止黑客入侵,我們通常會為系統打上各種補丁,安裝各種安全軟件,但是,百密必有一疏,一旦出現薄弱環節,黑客就會乘虛而入。如何發現系統安全配置上的不足之處,并及時堵上漏洞呢?其實通過對日志進行深入分析,就可以找到黑客的活動特點,有針對性的制定出更好的防御和反擊策略。
日志對系統安全的重要性不言而喻。對于經驗豐富的管理員來說,通過分析日志可以對系統的安全狀態了如指掌。
點擊“Windows+R”鍵,執行“eventvwr”命令,可以查看日志內容。不管哪個版本Windows,都至少可以看到應用程序日志、安全性日志和系統日志三類日志信息。
在默認情況下,日志記錄的內容并不全面,一些非常重要的安全性監視項目并沒有激活。這樣雖然可以節省系統資源,但對安全性不利。運行“gpedit.msc”程序,在組策略編輯器窗口左側選擇“計算機配置”→“Windows設置”→“安全設置”→“本地策略”→“審核策略”項,在右側窗口中可以對多種審核策略進行配置。
很多服務器使用的都是msSQL Server 數據庫,黑客在采用SQL 注入過程中,必然會涉及到SQL Server 的函數或存儲過程,這就會在數據庫的日志文件中留下痕跡信息。在默認情況下,msSQL Server 日志文件保存在“C:Program FilesMicrosoft SQL ServerMSSQLLOG”目錄中。為了保證安全,需要會在服務器上安裝殺毒軟件或者防火墻軟件。這些安全軟件同樣有自己的日志記錄功能。如果在服務器上安裝了Serv-U 等服務軟件,也會產生對應的日志文件。通過對這些日志文件的分析判讀,也可以發現黑客的蹤跡。
在實際工作中,需要針對黑客的具體攻擊行為,對日志進行有效的分析,來提高系統的安全性。
例如,當某臺服務器安裝有IIS 組件、msSQL Server數據庫、公司官網或論壇等網站。當被黑客盯上后,黑客會對其進行徹底掃描,來發現其中開啟了哪些端口。
例如,管理員在事件查看器窗口左側選擇“安全性”項,在右側窗口可發現可疑的審核日志。如果在詳細信息窗口中的“來源”欄中顯示“MSFTPSVC”字樣,表示其來自于FTP 服務模塊。在“描述”欄中顯示登錄失敗信息,連接者使用了未知的用戶名和錯誤的密碼,而且顯示器使用的FTP 賬戶名為“root”。根據這些信息,不難看出黑客使用了某些FTP破解工具對IIS 中的FTP 服務進行檢測,每次測試一個賬戶和密碼,因為是不停的測試,每次破譯都會在日志中留下一條記錄。
由此看出,為FTP 服務器設置復雜的密碼,可以大大增加黑客破解的難度。打開“C:WINDOWSsystem32LogFiles”目錄,在其中可以找到和FTP相關的日志文件,可以查看到以下一些內容:


從中可以看出,黑客利用了字典對FTP 服務器進行賬戶和密碼的猜測,如果密碼設置的比較簡單,黑客就很容易突破防線。在默認情況下,掃描工具還會對目標主機進行IIS 漏洞檢測,這些檢測都會在IIS 日志中留下痕跡。
對于老練的黑客來說,會利用最新漏洞對服務器進行掃描。例如,黑客可能會使用針對某個新漏洞的專用掃描器,對服務器進行掃描檢測。根據實際的測試,這些掃描器并不會在系統日志中留下什么可用的線索。所以為了系統的安全,必須為其打上各種補丁。
黑客對目標進行全面掃描后,接下來就會發起實際的攻擊動作了。例如,黑客發現目標機上存在一個可以溢出的漏洞,就會毫不猶豫發起進攻。
對于危害性比較大的漏洞來說,黑客甚至可以使用多個不同的服務(例如IIS服務、SMTP 服務、SMB 服務等)來執行溢出操作。在事件查看器左側選擇“系統日志”項,可以發現由此產生的錯誤日志信息。例如,相關服務的進程遇到了錯誤,系統將試圖恢復;系統內存出現不足的問題,要求用戶檢查虛擬內存是否消耗完等。
從具體的實例進行分析,可以得出這樣的結論,當黑客針對某個系統漏洞進行攻擊操作后,如果對應的服務出錯,就會被系統日志完整記錄下來。但是這樣顯示的方式和內容并不直觀,所提供的信息量也比較有限。甚至有些漏洞攻擊并不被記錄。
因此,完全依賴系統日志功能,是不足以對付漏洞攻擊行為的。為了彌補這一不足,可以使用帶有主動防御功能的殺毒軟件。
很多網站采用了msSQL Server 數據庫,黑客在入侵此類網站時,往往會使用注入的方式對網站進行滲透。對日志進行分析,不難發現其蹤跡。為了便于分析,可以使用UltraEdit32 這款強悍的編輯軟件,打開IIS 日志文件,來尋找有用的線索。
例如,在UltraEdit32 主界面中點擊“Ctrl+F”組合鍵,在搜索窗口中輸入“1=1”“and 1=1” “and 1=2” “' and'1'='1”及“'and '%25'='#25”等內容,搜索與其關聯的信息。因為在執行SQL 注入操作時,黑客往往會在特定的網址后面添加測試語句,里面就包含上述內容。在搜索窗口中勾選“列出包含字符串的行”項,可以讓搜索更具效率。
執行搜索操作后,Ultra Edit32 很快就在日志文件中找到了很多信息,為了便于觀察,在工具欄上點擊“全部書簽”按鈕,讓搜索到的數據高亮顯示。對這些日志行進行逐一分析,可以很容易的發現疑點。
黑客除了借助“Master..XP_CMDSHELL”等存儲進程的權限來執行各種命令外,常見的入侵手法還包括借助于數據庫差異備份操作,上傳ASP 木馬得到WebShell 控制接口。使用SQL Server 提供的日志記錄功能,可以查看與其相關的事件。在SQL Server 企業管理器中依次打開“管理”→“SQL Server 日志”項,可以查看日志信息。
注意,上述對日志的檢測分析,是基于未編碼的明文格式,如果黑客使用了比較強悍的入侵掃描工具,對Web服務器進行入侵時,在日志中會看到與之相關的內容全部處于編碼狀態,這給分析工作帶來了繁瑣。
其實,使用UltraEdit32這款工具,可以輕易將其破解,使用UltraEdit32 打開IIS 日志文件,在其窗口底部點擊解碼按鈕,就可以對其進行解碼,并還原其本來面目了。
實好多網站都提供了論壇版塊,而論壇版塊幾乎都是利用現成的模板包,只是對其顯示內容進行修改而已。在這些現成的論壇程序中不免存在各種漏洞。當然,論壇程序中也提供了日志記錄功能,查看這些日志,就會發現黑客上傳的可疑文件。
例如,像“Dbpath=…/UploadFile/ 具體日期/具體文件名稱.txt&backpath=../shell.asp”等日志內容。黑客為了逃避檢測,也會設法清除這些日志內容。但是,有些日志數據受時間限制是不能隨意清除的。對于管理員來說,最好養成每天都查閱日志的習慣。
在很多的入侵案例中,都可以看到黑客利用各種漏洞上傳ASP、PHP 等木馬,來獲得WebShell 接口,進而執行查閱敏感信息,搜尋重要文件,非法提權等操作。那么,這些木馬的活動是否在日志中也留下蹤跡了嗎?答案是肯定的。例如,在IIS日志中如果出現了“Get/shell.asp%23=Executr(Se ssion(%22%23%22))&pageN ame=MsDataBase&theAct=qu ery&sqlStr=具體的數據庫路徑編碼”之類的內容,說明黑客利用一句話木馬連接上了后臺數據庫。而類似于“POST/shell.asp PageNam e=MsdateBase&theAct=quer y&sqlStr=后臺數據庫路徑編碼”的內容,說明其執行了特定的SQL 語句,但是沒有記錄具體的內容。而看到“POST/shell.asp %23=Exe cute(Session(%22%23%22))&pageName=FsoFIleExplo rer&theAct=upload&thePa th=具體Web 路徑+cmd.com&overWrite=false 80 -服務器IP”之類的內容,說明黑客上傳了CMD.exe 程序(當然,也可以是其它程序)。然后黑客就可以執行各種命令了。
在日志中可以看到類似于“POST/shell.asp %23=Execute(Session(%22%23%2 2))&pageName=WscmdRun”的內容,說明黑客已經在執行所需的命令的,例如提升權限之類的,但是日志中并沒有記錄具體的命令內容。
注意,不同的ASP 木馬使用的關鍵字(例如Path、info等)是不同的,如果管理員對ASP 木馬比較了解,根據使用關鍵字信息就可以判斷其出處。現在ASP、PHP 等木馬已經成了過街老鼠,是安全軟件重點打擊對象。一旦黑客上傳了木馬,如果被殺毒軟件認出就會被清除。黑客自然不甘心失敗,還會上傳免殺型木馬,來避開殺軟的監控。而且黑客習慣于向網站的同一個路徑中上傳木馬。所以在查閱安全軟件的日志時,如果發現了攔截這些木馬的信息,就應該根據提示進行對應的目錄中,查看是否有漏網之魚,并及時將其清除。
黑客為了便于長期控制肉機,往往會在其中留下后門。其常用的手法包括添加一個賬戶到管理員組中,或者克隆一個賬戶來避開用戶的檢測;安裝一個免殺型的后門程序,不過這會在系統路徑(或者別的目錄)中留下木馬文件,同時會開啟新的端口或者安裝替換某個服務。
最隱蔽的招數是安裝RootKit 類型的病毒木馬,將相關文件,端口和服務徹底隱藏起來。
如果黑客的賬戶沒有隱藏,那么執行“net user”命令,可以很容易將其檢測出來。對于克隆賬戶,可以使用LP_Check 工具來檢測。
在LP_Check 主窗口中列出所有存在的賬戶,如果在列表中對應賬戶的“Result”列中顯示為“Shadow Admini strator”項,就表示該賬戶被克隆了。同時在窗口底部的“Result”欄中顯示存在的克隆賬戶的數量。想刪除克隆賬戶,必須擁有SYSTEM賬戶權限。
使用“PsExec”工具,可以獲得擁有SYSTEM 帳戶權限。可將“Psexec.exe”復制到系統文件夾中,之后在CMD窗口中執行命令“psexec -i-d -s %windir% egedit.exe”,在注冊表編輯器中展開“HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsersNames”分支,在其下可以看到所有的賬戶信息,在克隆賬戶名稱的右鍵菜單上點擊“刪除”按鈕,即可將其從系統中徹底刪除。
其實,即使黑客將Guest賬戶克隆成管理員賬戶,當其使用該賬戶登錄終端服務時,在事件查看器中的安全性日志中也會記錄下這一行為。在日志列表中選擇查找到與之關聯的登錄項目,在其詳細信息窗口中可以查看到“目標用戶名”為Guest,在“源網絡地址”和“源端口”中顯示黑客主機的IP 和端口。
即使黑客為了逃避檢測,將安全性日志清空,依然會留下一條日志信息,顯示審核日志已經被清除。該記錄黑客是無法清理的。當發現Guest 賬戶登錄后,而服務器根本沒有使用過該賬戶,或者已經將其禁用,那么就說明黑客將Guest 賬戶克隆成管理員賬戶了。可以恢復Guest 賬戶的本來面目,或者干脆將其刪除。
如果黑客安裝了后門,就必然會在系統中留下木馬文件,一般來說,黑客常常在系統路徑下存放木馬文件。
因此,可以在CMD 窗口中執行“dir c:windowssys tem32 > c:sysfile1.txt:”以及“net start > c:server1.txt”命令,將系統路徑下的文件信息存放到“sysfile1.txt”文件,并將系統服務信息存到“server 1.txt”文件中。
當懷疑系統中存在木馬時,執行“dir c:windowssystem32 > c:sysfile2.txt:”和“net start > c:server2.txt” 命令,可以獲得當前的系統文件信息和服務信息。之后執行“fc sysfile1.txt sysfile2.t xt”和“fc server1.txt ser ver2.txt”命令,來檢測系統文件和服務的變動信息。如果發現可疑的新文件或者服務,就要提高警惕了。將其找出來分析,確認是木馬文件后,可以進入Windows PE環境,將相關的木馬文件徹底刪除。
當然,對付使用RootKit技術深度隱身的病毒木馬,僅僅依靠“dir”和“fc”命令是遠遠不夠的。因為這種基于內核級別的惡意程序可以輕松隱藏文件,端口或者服務等對象。
當然,對于此類惡意程序當然不能束手無策,利用合適的工具,同樣可以讓其現出原形。例如針對隱藏的服務,可以使用Knlsc 這款小工具,讓其徹底暴露出來。
當黑客入侵之后,必然會使用各種黑客工具對日志進行刪除,來掩蓋其蹤跡。因此,對日志進行保護就能顯得非常重要了。
在默認情況下,打開“%systemroot%system32con fig”文件夾,其中后綴為“.evt”的文件就是日志文件。這些文件受到系統嚴格的保護,無法直接刪除。但若擁有足夠的權限,完全可以清空對應日志的記錄信息。
因此,如果想保護系統日志,最直接的辦法就是更改其存放位置。
打開注冊表編輯器,展開“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlog”分支,其中可以看到與所有日志項目關聯的子健。選擇所需的日志子健名,在右側窗口中雙擊“file”鍵值名,可以修改該日志文件的存儲位置。
如果系統中安裝了IIS組件,還涉及到Web 日志文件的搬遷問題。其方法是在Internet 信息服務管理器中選擇目標站點,在屬性窗口中的“網站”面板中勾選“啟用日志記錄”項,點擊“屬性”按鈕,在常規屬性面板中點擊“瀏覽”按鈕,更改Web 日志存放路徑。
經過上述操作,雖然修改了日志存放位置,但只要訪問者擁有足夠的權限,仍然可以輕松的清除日志信息。我們必須通過Windows 文件保護機制來捍衛日志安全。當然,前提是日志文件必須存儲在NTFS 格式分區中。
選擇新的日志存放文件夾,在屬性窗口中打開“安全”面板,點擊“刪除”,清除除 了“Users” 和“SYSTEM”之外的所有賬戶。如果有些賬戶不能刪除,可以點擊“高級”按鈕,在彈出窗口中的“權限”面板中取消從父項繼承那些可以應用到自對象的權限項目,來清除所有的賬戶。之后選擇“Users”組,在“允許”欄中只勾選“讀取”項,讓其只讀取日志。選擇“SYSTEM”賬戶,在“允許”欄中勾選除了“完全控制”和“修改”之外的所有權限。之后點擊“確定”保存配置。當以后進入事件查看器窗口,試圖刪除日志信息時,系統就會彈出“清除事件日志失敗,拒絕訪問”的提示。即使利用系統漏洞滲透進來,取得了權限很大的CMDshell,試圖清理日志毀滅證據,也同樣會遭到系統的攔截。
當然,對于殺毒軟件、防火墻、數據庫等日志文件,同樣可以采取調整其存儲路徑,設置管理權限等方式。對于管理員來說,每天認真地查閱日志信息,就可以及時發現黑客的入侵蹤跡。
處于安全考慮,對日志進行備份,同樣不可忽略。除了使用各種備份軟件外,利用微軟提供的“dumpel.exe”工具,可以快速有效的備份日志。該工具在ResourceKit工具箱中。例如,在CMD 窗口中執行“dumpel -l sys tem -f owesystem.log”“dumpel -l application-f oweapplication.log”“dumpel -l secury -f owe security.log”命令,即可備份本機的系統、應用程序及安全日志信息。