如何利用網(wǎng)站IIS日志分析追查網(wǎng)站攻擊者
時(shí)間:2022-05-28 14:57:01 | 來(lái)源:網(wǎng)絡(luò)營(yíng)銷
時(shí)間:2022-05-28 14:57:01 來(lái)源:網(wǎng)絡(luò)營(yíng)銷
網(wǎng)站日志作為服務(wù)器重要的組成部分,詳細(xì)的記錄了服務(wù)器運(yùn)行期間客戶端對(duì)WEB應(yīng)用的訪問(wèn)請(qǐng)求和服務(wù)器的運(yùn)行狀態(tài),同樣,攻擊者對(duì)網(wǎng)站的入侵行為也會(huì)被記錄到WEB日志中,因此,在網(wǎng)站日常運(yùn)營(yíng)和安全應(yīng)急響應(yīng)過(guò)程中,我們可以通過(guò)分析WEB日志并結(jié)合其他一些情況來(lái)跟蹤攻擊者,還原攻擊過(guò)程。
本文主要講述了網(wǎng)站日志安全分析時(shí)的思路和常用的一些技巧,并通過(guò)兩個(gè)完整的實(shí)例講述了在發(fā)生安全事件后,如何通過(guò)分析網(wǎng)站日志并結(jié)合其他一些線索來(lái)對(duì)攻擊者進(jìn)行追查。
一、WEB日志結(jié)構(gòu) 在對(duì)WEB日志進(jìn)行安全分析之前,我們需要先了解下WEB日志的結(jié)構(gòu),從目前主流WEB服務(wù)器支持的日志類型來(lái)看,常見(jiàn)的有兩類:
1、Apache采用的NCSA日志格式。
2、IIS采用的W3C日志格式。
其中NCSA日志格式又分為NCSA普通日志格式(CLF)和NCSA擴(kuò)展日志格式(ECLF)兩類,具體使用那一種可以在WEB服務(wù)器配置文件中定義,Apache也支持自定義日志格式,用戶可以在配置文件中自定義日志格式,如在Apache中可以通過(guò)修改httpd.conf配置文件來(lái)實(shí)現(xiàn)。
接著我們來(lái)看一條Apache的訪問(wèn)日志:
192.168.1.66 - - [06/Sep/2012:20:55:05 +0800] "GET /index.html HTTP/1.1" 404 287 "-" "Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0"
下面是具體的解釋:
192.168.1.66:表示客戶端IP地址
[06/Sep/2012:20:55:05 +0800]:訪問(wèn)時(shí)間及服務(wù)器所在時(shí)區(qū)
GET:數(shù)據(jù)包提交方式為GET方式。常見(jiàn)的有GET和POST兩種類型。
/index.html:客戶端訪問(wèn)的URL
HTTP/1.1:協(xié)議版本信息
404:WEB服務(wù)器響應(yīng)的狀態(tài)碼。404表示服務(wù)器上無(wú)此文件;200表示響應(yīng)正常;500表示服務(wù)器錯(cuò)誤。
287:此次訪問(wèn)傳輸?shù)淖止?jié)數(shù)
Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0:客戶端瀏覽器和系統(tǒng)環(huán)境等信息。
IIS訪問(wèn)日志格式及保存路徑可以在IIS管理器中配置,如下圖:
下面是IIS的W3C擴(kuò)展日志格式:
值得注意的是IIS的W3C日志格式中的訪問(wèn)時(shí)間采用的是格林威治時(shí)間,和我們的北京時(shí)間差8個(gè)小時(shí),而且沒(méi)有辦法修改(具體可查看億企邦《如何查看及分析網(wǎng)站IIS日志文件》的相關(guān)介紹)。
二、WEB日志安全分析原理 通過(guò)上面的知識(shí),我們知道WEB日志會(huì)記錄客戶端對(duì)WEB應(yīng)用的訪問(wèn)請(qǐng)求,這其中包括正常用戶的訪問(wèn)請(qǐng)求和攻擊者的惡意行為,那么我們?nèi)绾螀^(qū)分正常用戶和惡意攻擊者呢?通過(guò)大量的分析,我們發(fā)現(xiàn)攻擊者在對(duì)網(wǎng)站入侵時(shí),向網(wǎng)站發(fā)起的請(qǐng)求中會(huì)帶有特定的攻擊特征,如利用WEB掃描器在對(duì)網(wǎng)站進(jìn)行漏洞掃描時(shí)往往會(huì)產(chǎn)生大量的404錯(cuò)誤日志。
當(dāng)有人對(duì)網(wǎng)站進(jìn)行SQL注入漏洞探測(cè)時(shí),WEB訪問(wèn)日志中通常會(huì)出現(xiàn)如下日志:
因此,我們可以通過(guò)分析WEB日志中是否存在特定的攻擊特征來(lái)區(qū)分攻擊者和正常用戶的訪問(wèn)行為。
但是,WEB訪問(wèn)日志并不是萬(wàn)能的,有些攻擊行為并不會(huì)被記錄到WEB訪問(wèn)日志中,比如POST型SQL注入就不會(huì)記錄在WEB訪問(wèn)日志中,這時(shí)我們就需要通過(guò)其他手段來(lái)監(jiān)測(cè)這種攻擊行為(具體可查看億企邦《如何通過(guò)IIS日志分析網(wǎng)站的隱形信息》的相關(guān)介紹)。
三、WEB日志安全分析思路 在對(duì)WEB日志進(jìn)行安全分析時(shí),可以按照下面兩種思路展開(kāi),逐步深入,還原整個(gè)攻擊過(guò)程。
1、首先確定受到攻擊、入侵的時(shí)間范圍,以此為線索,查找這個(gè)時(shí)間范圍內(nèi)可疑的日志,進(jìn)一步排查,最終確定攻擊者,還原攻擊過(guò)程。
2、一般攻擊者在入侵網(wǎng)站后,通常會(huì)上傳一個(gè)后門文件,以方便自己以后訪問(wèn),我們也可以以該文件為線索來(lái)展開(kāi)分析。
四、WEB日志安全分析技巧 WEB日志文件通常比較大,包含的信息也比較豐富,當(dāng)我們對(duì)WEB日志進(jìn)行安全分析時(shí),我們通常只關(guān)注包含攻擊特征的日志,其他的日志對(duì)于我們來(lái)說(shuō)是無(wú)用的,這時(shí)我們可以通過(guò)手工或借助工具來(lái)將我們關(guān)注的日志內(nèi)容提取出來(lái)單獨(dú)分析,以提高效率。
在日志分析中經(jīng)常用到的幾個(gè)命令有“find”,“findstr”,“grep”,“egrep”等,關(guān)于這幾個(gè)命令的用法請(qǐng)自行查找相關(guān)資料。
1、將數(shù)據(jù)提交方式為“GET”的日志提取出來(lái)
上面這條命令的意思是從iis.log這個(gè)文件中查找存在GET字符的日志內(nèi)容,并將結(jié)果保存到iis_get.log中。
2、查找WEB日志中是否存在利用IIS寫權(quán)限漏洞的攻擊行為。
五、實(shí)例分析:如何通過(guò)分析WEB日志追蹤攻擊者 上面我們講了一些關(guān)于在WEB日志安全分析過(guò)程中經(jīng)常用到的技巧,現(xiàn)在我們通過(guò)一個(gè)實(shí)例來(lái)完整的了解下如何通過(guò)分析WEB日志追蹤攻擊者,還原攻擊過(guò)程。
1、背景介紹 某日,公司網(wǎng)站服務(wù)器WEB目錄下突然多了一個(gè)名為shell.php.jpg的文件,經(jīng)過(guò)查看文件內(nèi)容,發(fā)現(xiàn)該文件是一個(gè)網(wǎng)站后門文件,也就是常說(shuō)的WebShell,于是懷疑網(wǎng)站被黑客入侵。
接下來(lái)網(wǎng)站管理員通過(guò)分析WEB日志,并結(jié)合其他一些情況,成功追蹤到了攻擊者,還原了整個(gè)攻擊過(guò)程,在這個(gè)過(guò)程中還發(fā)現(xiàn)了網(wǎng)站存在的安全漏洞,事后及時(shí)修復(fù)了漏洞,并對(duì)網(wǎng)站進(jìn)行了全面的安全檢測(cè),提高了網(wǎng)站的安全性。
2、分析思路 根據(jù)目前得到的信息分析,得知WEB目錄下存在一個(gè)可疑的文件,我們就以該文件為線索,先來(lái)查找都有哪些IP訪問(wèn)了該文件,然后并一步排查這些IP都做了哪些操作,最終確認(rèn)攻擊者以及他運(yùn)用的攻擊手段。
3、分析過(guò)程 (1)、首先找到存在的網(wǎng)站后門文件,也就是上面提到的WebShell文件,發(fā)現(xiàn)該文件是在2013年2月7日被創(chuàng)建的。
(2)、我們先來(lái)查找下都有哪些IP訪問(wèn)了這個(gè)文件,可通過(guò)如下命令將相關(guān)日志內(nèi)容提取出來(lái)。
(3)、通過(guò)上圖我們可以確定目前只有192.168.1.2訪問(wèn)了該文件,這個(gè)IP非常可疑,下面我們來(lái)查找下該IP都做了哪些操作。
(4)、從上面的日志中我們可以看到這是典型的SQL注入,經(jīng)過(guò)進(jìn)一步分析,發(fā)現(xiàn)攻擊者利用SQL注入獲取到了網(wǎng)站后臺(tái)管理員帳號(hào)和密碼。
192.168.1.2 - - [07/Mar/2013:22:50:21 +0800] "GET /leave_show.php?id=40%20and%201=2%20union%20select%20unhex(hex(concat(0x5e5e5e,group_concat(id,0x5e,user,0x5e,pwd,0x5e,userclass,0x5e,loginip,0x5e,logintimes,0x5e,logintime),0x5e5e5e))),0,0,0,0,0,0,0,0%20from%20(select%20*%20from%20(select%20*%20from%20admin%20where%201=1%20order%20by%201%20limit%201,100)%20t%20order%20by%201%20desc)t%20-- HTTP/1.1" 200 18859 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; .NET CLR 1.1.4322)"
(5)、接著攻擊者利用獲取到的帳號(hào)成功進(jìn)入了網(wǎng)站后臺(tái),詳見(jiàn)下面的日志:
192.168.1.2 - - [07/Mar/2013:22:51:26 +0800] "GET /mywebmanage/web_manage.php HTTP/1.1" 200 5172 "http://192.168.1.107/mywebmanage/" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"
192.168.1.2 - - [07/Mar/2013:22:51:44 +0800] "POST /mywebmanage/check.php HTTP/1.1" 200 47 "http://192.168.1.107/mywebmanage/web_manage.php" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"
192.168.1.2 - - [07/Mar/2013:22:51:45 +0800] "GET /mywebmanage/default.php HTTP/1.1" 200 2228 "http://192.168.1.107/mywebmanage/check.php" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"
(6)、然后攻擊者訪問(wèn)了add_link.php這個(gè)頁(yè)面,該頁(yè)面是一個(gè)添加友情鏈接的頁(yè)面:
通過(guò)分析網(wǎng)站源碼,發(fā)現(xiàn)該頁(yè)面上傳圖片處存在一個(gè)文件上傳漏洞,攻擊者正是利用這個(gè)漏洞上傳了一個(gè)名為shell.php.jpg的后門文件,并且利用Apache的解析漏洞成功獲取到一個(gè)WebShell。
192.168.1.2 - - [07/Mar/2013:22:53:40 +0800] "GET /mywebmanage/link/add_link.php HTTP/1.1" 200 3023 "http://192.168.1.107/mywebmanage/LeftTree.php" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"
192.168.1.2 - - [07/Mar/2013:22:54:50 +0800] "POST /mywebmanage/link/add_link_ok.php HTTP/1.1" 200 77 "http://192.168.1.107/mywebmanage/link/add_link.php" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"
192.168.1.2 - - [07/Mar/2013:22:55:48 +0800] "GET /link/shell.php.jpg HTTP/1.1" 200 359 "-" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"
192.168.1.2 - - [07/Mar/2013:22:55:54 +0800] "POST /link/shell.php.jpg HTTP/1.1" 200 132 "http://192.168.1.107/link/shell.php.jpg" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"
(7)、到這里,我們已經(jīng)可以了解到攻擊者的攻擊過(guò)程了,具體如下:
首先對(duì)網(wǎng)站進(jìn)行漏洞檢測(cè),發(fā)現(xiàn)存在SQL注入漏洞--->利用SQL注入漏洞獲取到網(wǎng)站后臺(tái)管理員帳號(hào)、密碼及其他信息--->以管理員身份登錄網(wǎng)站后臺(tái)--->利用某頁(yè)面存在的文件上傳漏洞,成功上傳一個(gè)名為shell.php.jpg的后門文件,并結(jié)合Apache的解析漏洞,成功獲取到一個(gè)WebShell。
六、實(shí)例分析:利用IIS日志追查BBS網(wǎng)站入侵者 如果你是網(wǎng)管你會(huì)如何去追查問(wèn)題的來(lái)源呢?程序問(wèn)題就去查看“事件查看器”,如果是IIS問(wèn)題當(dāng)然是查看IIS日志了!
系統(tǒng)文件夾的system32低下的logfile有所有的IIS日志,用來(lái)記錄服務(wù)器所有訪問(wèn)記錄,因?yàn)槭翘摂M主機(jī)的用戶,所以每個(gè)用戶都配置獨(dú)立的IIS日志目錄,從里面的日志文件就可以發(fā)現(xiàn)入侵者入侵BBS的資料了,所以下載了有關(guān)時(shí)間段的所有日志下來(lái)進(jìn)行分析,發(fā)現(xiàn)了很多我自己都不知道資料(具體可查看億企邦《IIS日志的作用有哪些》的相關(guān)介紹),這下子就知道入侵者是怎么入侵我的BBS了。
1、IIS日志的分析 從第一天里日志可以發(fā)現(xiàn)入侵者早就已經(jīng)對(duì)我的BBS虎視耽耽的了,而且不止一個(gè)入侵者這么簡(jiǎn)單,還很多啊,頭一天的IIS日志就全部都是利用程序掃描后臺(tái)留下的垃圾數(shù)據(jù)。
看上面的日志可以發(fā)現(xiàn),入侵者61.145.***.***利用程序不斷的在掃描后臺(tái)的頁(yè)面,似乎想利用后臺(tái)登陸漏洞從而進(jìn)入BBS的后臺(tái)管理版面,很可惜這位入侵者好像真的沒(méi)有什么思路,麻木的利用程序作為幫助去尋找后臺(tái),沒(méi)有什么作用的入侵手法。
查看了第二天的日志,開(kāi)始的時(shí)候還是普通的用戶訪問(wèn)日志沒(méi)有什么特別,到了中段的時(shí)候問(wèn)題就找到了,找到了一個(gè)利用程序查找指定文件的IIS動(dòng)作記錄。
從上面的資料發(fā)現(xiàn)入侵者61.141.***.***也是利用程序去掃描指定的上傳頁(yè)面,從而確定入侵目標(biāo)是否存在這些頁(yè)面,然后進(jìn)行上傳漏洞的入侵,還有就是掃描利用動(dòng)網(wǎng)默認(rèn)數(shù)據(jù)庫(kù),一些比較常用的木馬名稱,看來(lái)這個(gè)入侵者還以為我的BBS是馬坊啊,掃描這么多的木馬文件能找著就是奇跡啊。
繼續(xù)往下走終于被我發(fā)現(xiàn)了,入侵者61.141.***.***在黑了我網(wǎng)站首頁(yè)之前的動(dòng)作記錄了,首先在Forum的文件夾目錄建立了一個(gè)Myth.txt文件,然后在Forum的文件夾目錄下再生成了一只木馬Akk.asp
日志的記錄下,看到了入侵者利用akk.asp木馬的所有操作記錄。
詳細(xì)入侵分析如下:
GET /forum/akk.asp – 200
利用旁注網(wǎng)站的webshell在Forum文件夾下生成akk.asp后門
GET /forum/akk.asp d=ls.asp 200
入侵者登陸后門
GET /forum/akk.asp d=ls.asp&path=/test&oldpath=&attrib= 200
進(jìn)入test文件夾
GET /forum/akk.asp d=e.asp&path=/test/1.asp&attrib= 200
利用后門在test文件夾修改1.asp的文件
GET /forum/akk.asp d=ls.asp 200
GET /forum/akk.asp d=ls.asp&path=/lan&oldpath=&attrib= 200
進(jìn)入lan文件夾
GET /forum/akk.asp d=e.asp&path=/lan/index.html&attrib= 200
利用編輯命令修改lan文件夾內(nèi)的首頁(yè)文件
GET /forum/akk.asp d=ls.asp 200
GET /forum/akk.asp d=ls.asp&path=/forum&oldpath=&attrib= 200
進(jìn)入BBS文件夾(這下子真的進(jìn)入BBS目錄了)
POST /forum/akk.asp d=up.asp 200
GET /forum/akk.asp d=ls.asp&path=/forum&oldpath=&attrib= 200
GET /forum/myth.txt – 200
在forum的文件夾內(nèi)上傳myth.txt的文件
GET /forum/akk.asp d=ls.asp&path=/forum&oldpath=&attrib= 200
GET /forum/akk.asp d=e.asp&path=/forum/myth.txt&op=del&attrib= 200
POST /forum/akk.asp d=up.asp 200
GET /forum/myth.txt – 200
利用后門修改Forum文件夾目錄下的myth.txt文件。
之后又再利用旁注網(wǎng)站的webshell進(jìn)行了Ubb.asp的后門建立,利用akk.asp的后門修改了首頁(yè),又把首頁(yè)備份,暈死啊,不明白這位入侵者是怎么一回事,整天換webshell進(jìn)行利用,還真的摸不透啊。
2、分析日志總結(jié) 入侵者是利用工具踩點(diǎn),首先確定BBS可能存在的漏洞頁(yè)面,經(jīng)過(guò)測(cè)試發(fā)現(xiàn)不可以入侵,然后轉(zhuǎn)向服務(wù)器的入侵,利用旁注專用的程序或者是特定的程序進(jìn)行網(wǎng)站入侵,拿到首要的webshell,再進(jìn)行文件夾的訪問(wèn)從而入侵了我的BBS系統(tǒng)修改了首頁(yè),因?yàn)槭腔谖铱臻g的IIS日志進(jìn)行分析,所以不清楚入侵者是利用哪個(gè)網(wǎng)站哪個(gè)頁(yè)面進(jìn)行入侵的!
不過(guò)都已經(jīng)完成的資料收集了,確定了入侵BBS的入侵者IP地址以及使用的木馬,還留下了大量入侵記錄,整個(gè)日志追蹤過(guò)程就完畢了。
億企邦點(diǎn)評(píng): 通過(guò)上面對(duì)WEB日志進(jìn)行的安全分析,我們不僅追蹤到了攻擊者,也查出了網(wǎng)站存在的漏洞,下面就應(yīng)該將攻擊者上傳的后門文件刪除掉,并修復(fù)存在的安全漏洞,然后對(duì)網(wǎng)站進(jìn)行全面的安全檢測(cè),并對(duì)WEB服務(wù)器進(jìn)行安全加固,防止此類安全事件再次發(fā)生。