資安論壇

行政院 國家資通安全會報 - 技術服務中心 - 資安論壇 http://forum.icst.org.tw/
現在的時間是 2012年 10月 22日, 00:27

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 1 篇文章 ] 
發表人 內容
文章發表於 : 2005年 3月 14日, 09:10 
離線

註冊時間: 2002年 10月 16日, 08:58
文章: 5514
從伺服器的記錄尋找駭客的蛛絲馬跡
作者:駭客基地 發文時間:2005.03.11

  概述

  當伺服器被攻擊時,最容易被人忽略的地方,就是記錄檔,伺服器的記錄檔了駭客活動的蛛絲馬跡。在這裏,我為大家介紹一下兩種常見的網頁伺服器中最重要的記錄檔,分析伺服器遭到攻擊後,駭客在記錄檔中留下什麼記錄。
  目前最常見的網頁伺服器有兩種:Apache和微軟的Internet Information Server (簡稱IIS)。這兩種伺服器都有一般版本和SSL認證版本,方便駭客對加密和未加密的伺服器進行攻擊。
  IIS的預設記錄檔位址在 c:\winnt\system32\logfiles\w3svc1的目錄下,檔案名是當天的日期,如yymmdd.log。系統會每天產生新的記錄檔。預設的格式是W3C延伸記錄檔格式(W3C Extended Log File Format),很多相關軟體都可以解譯、分析這種格式的檔案。記錄檔在預設的狀況下會記錄時間、用戶端IP位址、method(GET、POST等)、URI stem(要求的資源)、和HTTP狀態(數位狀態代碼)。這些欄位大部分都一看就懂,可是HTTP狀態就需要解讀了。一般而言,如果代碼是在200到299代表成功。常見的200狀態碼代表符合用戶端的要求。300到399代表必須由用戶端採取動作才能滿足所提出的要求。400到499和500到599代表用戶端和伺服器有問題。最常見的狀態代碼有兩個,一個是404,代表用戶端要求的資源不在伺服器上,403代表的是所要求的資源拒絕服務。Apache記錄檔的預設儲存位置在/usr/local/apache/logs。最有價值的記錄檔是access_log,不過 ssl_request_log和ssl_engine_log也能提供有用的資料。 access_log記錄檔有七個欄位,包括用戶端IP地址、特殊人物識別符、用戶名稱、日期、Method Resource Protocol(GET、POST等;要求哪些資源;然後是協定的版本)、HTTP狀態、還有傳輸的位元組。
  我在這裏所用的是與駭客用的相似的類比攻擊網站方式和工具。(注意:在本文中所介紹的方法請大家不要試用,請大家自覺遵守網路準則!)
  分析過程
  網頁伺服器版本是很重要的資訊,駭客一般先向網頁伺服器提出要求,讓伺服器送回本身的版本資訊。只要把「HEAD / HTTP/1.0」這個字串用常見的netcat utility(相關資料網址:http://www.l0pht.com/~weld/netcat/)和OpenSSL binary(相關資料網址:http://www.openssl.org/)送到開放伺服器的通訊埠就成了。注意看下面的示範:
C:>nc -n 10.0.2.55 80
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Sun, 08 Mar 2001 14:31:00 GMT
Content-Type: text/html
Set-Cookie: ASPSESSIONIDGQQQQQPA=IHOJAGJDECOLLGIBNKMCEEED; path=/
Cache-control: private
  這種形式的要求在IIS和Apache的記錄檔中會生成以下記錄:
IIS: 15:08:44 11.1.2.80 HEAD /Default.asp 200
Linux: 11.1.2.80 - - [08/Mar/2001:15:56:39 -0700] "HEAD / HTTP/1.0" 200 0
  雖然這類要求合法,看似很平常,不過卻常常是網路攻擊的前奏曲。access_log和IIS的記錄檔沒有表明這個要求是連到SSL伺服器還是一般的網頁伺服器,可是Apache的 ssl_request_log和ssl_engine_log(在/usr/local/apache/logs目錄下)這兩個記錄檔就會記錄是否有聯機到SSL伺服器。請看以下的ssl_request_log記錄檔:
[07/Mar/2001:15:32:52 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "HEAD / HTTP/1.0" 0
  第三和第四個欄位表示用戶端使用的是哪種加密方式。以下的ssl_request_log分別記錄從OpenSSL、 Internet Explorer和Netscape用戶端程式發出的要求。
[07/Mar/2001:15:48:26 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "GET / HTTP/1.0" 2692
[07/Mar/2001:15:52:51 -0700] 10.0.2.55 TLSv1 RC4-MD5 "GET / HTTP/1.1" 2692
[07/Mar/2001:15:54:46 -0700] 11.1.1.50 SSLv3 EXP-RC4-MD5 "GET / HTTP/1.0" 2692
[07/Mar/2001:15:55:34 –0700] 11.1.2.80 SSLv3 RC4-MD5 “GET / HTTP/1.0” 2692
另外駭客通常會複製一個網站(也就是所謂的鏡射網站。),來取得發動攻擊所需要的資訊。網頁原始碼中的批註欄位常有目錄、檔案名甚至密碼的有用資料。複製網站常用的工具包括視窗系統的Teleport Pro(網址:http://www.tenmax.com/teleport/pro/home.htm)和Unix系統的wget(網址:http://www.gnu.org/manual/wget/)。在這裏我為大家分析wget和TeleportPro這兩個軟體攻擊網頁伺服器後記錄檔中的內容。這兩個軟體能全面快速搜尋整個網站,對所有公開的網頁提出要求。只要檢查一下記錄檔就知道,要解譯鏡射這個動作是很簡單的事。以下是IIS的記錄檔:
16:28:52 11.1.2.80 GET /Default.asp 200
16:28:52 11.1.2.80 GET /robots.txt 404
16:28:52 11.1.2.80 GET /header_protecting_your_privacy.gif 200
16:28:52 11.1.2.80 GET /header_fec_reqs.gif 200
16:28:55 11.1.2.80 GET /photo_contribs_sidebar.jpg 200
16:28:55 11.1.2.80 GET /g2klogo_white_bgd.gif 200
16:28:55 11.1.2.80 GET /header_contribute_on_line.gif 200
注:11.1.2.80這個主機是Unix系統的用戶端,是用wget軟體發出請求。
16:49:01 11.1.1.50 GET /Default.asp 200
16:49:01 11.1.1.50 GET /robots.txt 404
16:49:01 11.1.1.50 GET /header_contribute_on_line.gif 200
16:49:01 11.1.1.50 GET /g2klogo_white_bgd.gif 200
16:49:01 11.1.1.50 GET /photo_contribs_sidebar.jpg 200
16:49:01 11.1.1.50 GET /header_fec_reqs.gif 200
16:49:01 11.1.1.50 GET /header_protecting_your_privacy.gif 200
注:11.1.1.50系統是視窗環境的用戶端,用的是TeleportPro發出請求。
  注意:以上兩個主機都要求robots.txt這個檔,其實這個檔案是網頁管理員的工具,作用是防止wget和TeleportPro這類自動抓檔軟體對某些網頁從事抓取或搜尋的動作。如果有人提出robots.txt檔的要求,常常代表是要鏡射整個網站。但,TeleportPro和wget這兩個軟體都可以把要求robots.txt這個檔的功能取消。另一個偵測鏡射動作的方式,是看看有沒有同一個用戶端IP反復提出資源要求。
駭客還可以用網頁漏洞稽核軟體:Whisker(網址:http://www.wiretrip.net/),來偵查網頁伺服器有沒有安全後門(主要是檢查有沒有cgi-bin程式,這種程式會讓系統產生安全漏洞)。以下是IIS和Apache網頁伺服器在執行Whisker後產生的部分記錄檔。
IIS:
13:17:56 11.1.1.50 GET /SiteServer/Publishing/viewcode.asp 404
13:17:56 11.1.1.50 GET /msadc/samples/adctest.asp 200
13:17:56 11.1.1.50 GET /advworks/equipment/catalog_type.asp 404
13:17:56 11.1.1.50 GET /iisadmpwd/aexp4b.htr 200
13:17:56 11.1.1.50 HEAD /scripts/samples/details.idc 200
13:17:56 11.1.1.50 GET /scripts/samples/details.idc 200
13:17:56 11.1.1.50 HEAD /scripts/samples/ctguestb.idc 200
13:17:56 11.1.1.50 GET /scripts/samples/ctguestb.idc 200
13:17:56 11.1.1.50 HEAD /scripts/tools/newdsn.exe 404
13:17:56 11.1.1.50 HEAD /msadc/msadcs.dll 200
13:17:56 11.1.1.50 GET /scripts/iisadmin/bdir.htr 200
13:17:56 11.1.1.50 HEAD /carbo.dll 404
13:17:56 11.1.1.50 HEAD /scripts/proxy/ 403
13:17:56 11.1.1.50 HEAD /scripts/proxy/w3proxy.dll 500
13:17:56 11.1.1.50 GET /scripts/proxy/w3proxy.dll 500
Apache:
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfcache.map HTTP/1.0" 404 266
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfide/Administrator/startstop.html HTTP/1.0" 404 289
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfappman/index.cfm HTTP/1.0" 404 273
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cgi-bin/ HTTP/1.0" 403 267
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "GET /cgi-bin/dbmlparser.exe HTTP/1.0" 404 277
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /_vti_inf.html HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /_vti_pvt/ HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/webdist.cgi HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/handler HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/wrap HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/pfdisplay.cgi HTTP/1.0" 404 0
  大家要偵測這類攻擊的關鍵,就在於從單一IP位址發出大量的404 HTTP狀態代碼。只要注意到這類資訊,就可以分析對方要求的資源;於是它們就會拼命要求提供 cgi-bin scripts(Apache 伺服器的 cgi-bin 目錄;IIS伺服器的 scripts目錄)。
  小結
  網頁如果被人探訪過,總會在記錄檔留下什麼線索。如果網頁管理員警覺性夠高,應該會把分析記錄檔作為追查線索,並且在檢查後發現網站真的有漏洞時,就能預測會有駭客攻擊網站。
  接下來我要向大家示範兩種常見的網頁伺服器攻擊方式,分析伺服器在受到攻擊後駭客在記錄檔中痕跡。
  (1)MDAC攻擊
  MDAC攻擊法可以讓網頁的用戶端在IIS網頁伺服器上執行命令。如果有人開始攻擊IIS伺服器,記錄檔就會記下用戶端曾經呼叫msadcs.dll文檔:
17:48:49 12.1.2.8 GET /msadc/msadcs.dll 200
17:48:51 12.1.2.8 POST /msadc/msadcs.dll 200
  (2)利用原始碼漏洞
  第二種攻擊方式也很普遍,就是會影響ASP和Java網頁的暴露原始碼漏洞。 最晚被發現的安全漏洞是 +.htr 臭蟲,這個bug會顯示ASP原始碼。 如果有人利用這個漏洞攻擊,就會在IIS的記錄檔裏面留下這些線索:
17:50:13 11.1.2.80 GET /default.asp+.htr 200
  網頁常會只讓有許可權的使用者進入。接下來我們要讓各位看 Apache的access_log記錄檔會在登錄失敗時留下什麼線索:
12.1.2.8 - user [08/Mar/2001:18:58:29 -0700] "GET /private/ HTTP/1.0" 401 462
注:第三欄裏面的使用者名稱是「user」。還有要注意HTTP的狀態代號是401,代表非法存取。

http://network.ccidnet.com/pub/article/ ... 83_p1.html


回頂端
 個人資料  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 1 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章

搜尋:
前往 :  
POWERED_BY
正體中文語系由 竹貓星球 維護製作