羅澤林 陳思亮 張貴洲 謝喬 莊小妹
摘要:一句話木馬和Webshell是目前黑客入侵網(wǎng)站的常用技術(shù)。在介紹一句話木馬和WEBSHELL原理和功能的基礎(chǔ)上,介紹了一句話木馬和WEBSHELL相互配合入侵網(wǎng)站的過程,并提出清除木馬的方法和相應(yīng)的防范措施。
關(guān)鍵詞:網(wǎng)頁木馬;一句話木馬;Webshell
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)05-0932-03
Attack & Precaution of Webpage Trojan
LUO Ze-lin,CHEN Si-liang, ZHANG Gui-zhou,XIE Qiao ,ZHUANG Xiao-mei
(Guangdong Peizheng College, Guangzhou 510830,China)
Abstract: One-word Trojan and Webshell are the most common technology used by hacker to attack Website currently. After introduce the principle and function about One-word Trojan and Webshell, the attack process of website used by One-word Trojan and Webshell is described, and the corresponding removing method and precaution are given.
Key words: Webpage Trojan;one-word Trojan;wehshell
1 概述
隨著大數(shù)據(jù)時代的步伐漸漸來臨,用戶數(shù)據(jù)安全問題成為了網(wǎng)絡(luò)安全人員和黑客們關(guān)注熱點(diǎn)。360網(wǎng)站安全監(jiān)測通過對大量網(wǎng)站頁面源碼的分析發(fā)現(xiàn),黑客用“一句話木馬”踩點(diǎn)的行為隨處可見,一旦黑客確認(rèn)網(wǎng)站可攻擊,則通過植入后門等方式,查看和竊取服務(wù)器中的重要文件,危害網(wǎng)站安全。360網(wǎng)站安全監(jiān)測數(shù)據(jù)顯示,2012年存在“一句話木馬”的網(wǎng)站共12866個,其中政府類785個、教育類663個,合計比例超過10%,其余89%存在“一句話木馬”的網(wǎng)站涉及電商、社交、視頻等各行各業(yè),其威脅十分廣泛[1]。其實黑客使用一句話木馬只是入侵的前奏,而在入侵的網(wǎng)站上傳網(wǎng)頁木馬,進(jìn)而控制服務(wù)器才是黑客的目標(biāo)。
2 網(wǎng)頁木馬概述
這里所說的網(wǎng)頁木馬是指WEB腳本形式的木馬,而不是傳統(tǒng)意義上exe形式的木馬,也不是指嵌入網(wǎng)頁中的木馬,因為嵌入式木馬最終還是下載和調(diào)用傳統(tǒng)的木馬[2]。由于EXE形式的文件受到WEB服務(wù)器的限制,這種形式的木馬在WEB服務(wù)器上幾乎已經(jīng)“英雄無用武之地”。而網(wǎng)頁木馬比傳統(tǒng)的木馬更輕便、更靈活,而且隱蔽性好,更具有危害性,是目前黑客入侵WEB服務(wù)器最常用的技術(shù)之一。通常這類木馬也稱為Webshell,而一句話木馬是一種特殊的Webshell。
2.1 什么是Webshell
木馬程序本來是存在于應(yīng)用軟件層面的一個分類,它特指那些用來遠(yuǎn)程控制、監(jiān)視用戶計算機(jī),盜取用戶信息資料的程序。Web應(yīng)用程序同樣能夠?qū)崿F(xiàn)木馬程序的功能,這就是Webshell。Webshell利用Web開發(fā)語言的特殊功能,只需要將系統(tǒng)命令輸入到表單中,提交后,Webshell就可以執(zhí)行命令并返回執(zhí)行結(jié)果,相當(dāng)于通過Web程序制作出了一個系統(tǒng)的Shell,并且它還是可以遠(yuǎn)程訪問的[3]。
Webshell起初是一種網(wǎng)站管理工具,是為方便管理網(wǎng)站和服務(wù)器開發(fā)的,常見有基于asp、php、.net、jsp的Webshell。受FSO權(quán)限的限制,它具有編輯、上傳、下載、查看數(shù)據(jù)庫、執(zhí)行命令等功能。有腳本編程基礎(chǔ)的入侵者通過修改相應(yīng)功能達(dá)到控制服務(wù)器的目的。這種Webshell又稱“大馬”[4]。
2.2 Webshell的上傳
由于Webshell功能比較復(fù)雜,因此體積一般比較大,而且很多管理員都限制了上傳文件的大小,在入侵初期顯得不夠靈活,所以需要“小馬”作鋪墊。一句話木馬就是“小馬”的一種。通過一句話木馬上傳Webshell是比較常見的方式,但是也可以通過低版本fckedit編輯器上傳漏洞上傳。有些網(wǎng)站的后臺限制ASP文件等網(wǎng)頁文件的上傳,但允許JPG等圖片文件的上傳,這也為Webshell的上傳提供了可用之機(jī),甚至有些黑客能夠利用抓包和修改數(shù)據(jù)包的工具,再通過重傳數(shù)據(jù)包來實現(xiàn)Webshell的上傳。Wehshell上傳成功后,所能執(zhí)行的功能是有限制的,所以黑客要想辦法提權(quán)。
2.3 什么是一句話木馬
2.4 一句話木馬的功能
一句話木馬雖然只有一個語句,但功能強(qiáng)大的讓人驚訝。客戶端可以提供一般的網(wǎng)站管理功能,如上傳下載、文件編輯、復(fù)制、重命名、刪除、修改、保存shell記錄、瀏覽網(wǎng)頁等。如果網(wǎng)站權(quán)限開放得足夠大,甚至可以管理windows和linux的操作系統(tǒng)。因為有大馬的存在,一句話木馬通常只是入侵的前奏,因此,它的“上傳文件”的功能是最為重要的一個功能。
2.5 一句話木馬的注入
這里說的一句話木馬的注入?yún)^(qū)別于平常我們說的SQL注入漏洞,它的目的就是植入代碼。假設(shè)現(xiàn)在有一個about.asp頁面,它的URL為http://www.test.com/about.asp ,我們可以通過后臺編輯相關(guān)的頁面內(nèi)容,插入一句話<%eval request(“admin”)%>,如果服務(wù)器正常解析了這句代碼,那么我們就可以通過中國菜刀等客戶端工具進(jìn)行連接管理服務(wù)器。入侵思路有很多,例如通過留言板,利用數(shù)據(jù)庫的管理漏洞,利用后臺管理漏洞等。
3 網(wǎng)頁木馬的攻擊過程與分析
一句話木馬和Webshell入侵的一般步驟為:
1)通過漏洞向網(wǎng)站寫入一句話代碼。
2) 一句話代碼被網(wǎng)站執(zhí)行。
3) 通過一句話木馬客戶端連接一句話木馬。
4)上傳Webshell進(jìn)一步控制網(wǎng)站。
5) 配合Webshell進(jìn)行提權(quán)。
6) 完全控制服務(wù)器
我們以phpxxx9這個開源網(wǎng)站系統(tǒng)為例子,看看網(wǎng)頁木馬如何為入侵者提供強(qiáng)大的后門功能。
phpxxx9有一個文件后綴名提取漏洞,通過該漏洞可以繞過后臺,直接上傳一句話木馬[6]。我們以www.lyxxx.com為示范例子,通過漏洞得到的類似文件名為thumb_6_6_.Php.JPG%20%20%20%20%20%20%20Php的一句話木馬,一句話木馬的內(nèi)容為<?php eval($_post[‘ln]);?>,然后通過中國菜刀連接。再通過中國菜刀的文件上載功能把大馬,即Webshell上傳到Web服務(wù)器。
上載Webshell成功后,先測試Webshell的權(quán)限,也就是Webshell能夠執(zhí)行的功能和命令。結(jié)果發(fā)現(xiàn)大部分的命令都可以執(zhí)行。通過執(zhí)行批處理命令,開啟服務(wù)器遠(yuǎn)程管理功能,接著通過執(zhí)行命令查詢遠(yuǎn)程桌面連接端口號。
再通過GetHash.exe獲取服務(wù)器登陸信息,或者更簡單的,使用一些小程序直接抓取系統(tǒng)賬號密碼。最后,在本機(jī)利用mstsc命令,輸入Web服務(wù)器地址,就可以遠(yuǎn)程登陸服務(wù)器了,遠(yuǎn)程服務(wù)器也就在入侵者的掌握之中。
以上就是通過一句話木馬和Webshell成功入侵一臺服務(wù)器的一般過程,在這里要說明的是,上面提到的執(zhí)行命令功能很多網(wǎng)站都是禁止掉的,這就需要入侵者想方設(shè)法進(jìn)行提權(quán)操作了。通過這個簡單的入侵過程,我們可以看出一句話木馬和Webshell在這個過程中的重要性,一句話木馬上載成功與否直接關(guān)系到后面的步驟,而Webshell為入侵者提供了強(qiáng)大的功能支持。
一個好的Webshell幾乎可以擁有網(wǎng)站管理的所有功能,相當(dāng)于一個強(qiáng)大的網(wǎng)站后臺管理中心,而且通過調(diào)用功能函數(shù)間接調(diào)用系統(tǒng)接口可以進(jìn)一步實現(xiàn)服務(wù)器的滲透入侵。在上面的例子中,我們就可以通過開放的PHP的功能函數(shù)來執(zhí)行服務(wù)器操作系統(tǒng)的命令。
一句話木馬由于體積小,而且僅有一句代碼,可以實現(xiàn)任意變形加密,或者插入到網(wǎng)站中的某些文件中,極難被管理人員發(fā)現(xiàn),所以一般只要放的位置夠隱秘,就很難被清除掉。相反,Webshell由于體積大,單獨(dú)保存為一個文件,很容易被管理員發(fā)現(xiàn)進(jìn)而被清除掉。但主要一句話木馬還保存在網(wǎng)站上,就很容易重新上傳Webshell。
4 網(wǎng)頁木馬的清除和防范
4.1 一句話木馬的清除
一句話木馬體積小,可以任意插入網(wǎng)頁腳本文件中,一般非常隱蔽,所以手動找出并清除非常困難。但由于一句話木馬格式固定簡單,所以可以通過相關(guān)的查殺軟件進(jìn)行清除,如護(hù)衛(wèi)神云查殺、安全狗等,找出一句話木馬所在位置就可以直接刪除。但若是入侵者對一句話進(jìn)行了免殺或加密處理,這樣就只能看管理員的管理經(jīng)驗和安全意識了。“三分技術(shù),七分管理”,管理員的安全防范意識有時更為重要。有些時候,黑客只是把一句話顯示在網(wǎng)站的不顯眼處,目的是提醒網(wǎng)站管理人員。
4.2 Webshell的清除
相對一句話木馬,Webshell的清除稍為簡單一些,因為Webshell只能以單獨(dú)的腳本文件形式存在,不能插入網(wǎng)站腳本文件中,可以通過特征代碼段進(jìn)行查找清除。一般來說,入侵者上傳Webshell后會嘗試各種危險操作,系統(tǒng)會當(dāng)成錯誤或警告記錄到日志文件中,管理員可以通過查看系統(tǒng)日志和網(wǎng)站日志找出Webshell。
4.3 防范措施
一切入侵活動皆依賴漏,這就是問題的根源。一句話木馬和Webshell也一樣,他們依賴于網(wǎng)站的漏洞進(jìn)行入侵。漏洞一般是技術(shù)缺陷或人為因素造成的,防范措施如下:
1)及時打補(bǔ)丁。對于技術(shù)缺陷造成的入侵行為,我們只能依賴技術(shù)人員發(fā)布的補(bǔ)丁,所以管理員需要時常關(guān)注網(wǎng)站以及操作系統(tǒng)的最新漏洞,及時打上補(bǔ)丁。
2) 設(shè)置訪問權(quán)限。一句話木馬和Webshell主要依賴于網(wǎng)站賦予的權(quán)限才能正常工作,而我們應(yīng)該在權(quán)限上做嚴(yán)格的限制。例如,網(wǎng)站文件夾的權(quán)限設(shè)置為user用戶組,不需要寫操作的文件或文件夾設(shè)置為只讀,需要寫操作的文件或文件夾賦予讀寫權(quán)限,但不允許執(zhí)行權(quán)限。
3) 安裝安全軟件。服務(wù)器可以安裝如護(hù)衛(wèi)神、安全狗、防篡改和WAF等安全軟件,這類的安全軟件比較有針對性,在很大程度上可以彌補(bǔ)人工維護(hù)的不足。Webshell是利用80號端口進(jìn)行入侵的,所以它能穿越傳統(tǒng)的防火墻,而WAF即Web應(yīng)用防火墻能較好地防范Webshell。
4)限制開放功能函數(shù)和組件。網(wǎng)站應(yīng)該盡量少開放甚至不開放功能函數(shù),如php的popen()、exec()、passthru()、system();而對于asp的網(wǎng)站,應(yīng)限制Wscript.shell組件的使用。
5) 過濾數(shù)據(jù)。網(wǎng)站系統(tǒng)對用戶提交的所有數(shù)據(jù)應(yīng)該進(jìn)行某些特殊符號的轉(zhuǎn)義,如單引號、反斜杠、尖括號等。
6) 提高安全意識。有些管理人員不了解一句話木馬和Webshell的原理和入侵過程,對于網(wǎng)頁上出現(xiàn)的一句話木馬,只是把它作為是網(wǎng)頁上的錯誤而不加關(guān)注,則可能導(dǎo)致更為嚴(yán)重的攻擊。
7)數(shù)據(jù)庫的安全設(shè)置。一句話木馬很多時候是直接添加到數(shù)據(jù)庫中的,數(shù)據(jù)庫的安全設(shè)置尤其重要,應(yīng)嚴(yán)格設(shè)置數(shù)據(jù)庫的寫入操作。
5 小結(jié)
一句話木馬和Webshell都是一種后門,是目前最流行的網(wǎng)頁木馬,也是黑客入侵Web服務(wù)器最常用的技術(shù)之一。一句話木馬輕便小巧,是Web攻擊的開路先鋒,而Webshel功能強(qiáng)大,是黑客實現(xiàn)控制Web服務(wù)器有力工具。熟悉一句話木馬和Webshell的入侵原理和過程,我們才能更好的采取相應(yīng)的防范措施。
參考文獻(xiàn):
[1] 小新.360曝光神秘一句話木馬提醒站長查后門[EB/OL].http://safe.it168.com/a2013/0304/1458/000001458560.shtml,2013-03-04.
[2] 安曉瑞.ASP網(wǎng)站網(wǎng)頁掛馬的危害分析及防范對策研究[J].甘肅聯(lián)合大學(xué)學(xué)報,2013(27):74.
[3] 王繼剛.揭秘WEB應(yīng)用程序攻擊技術(shù)[M].北京:中國水利水電出版社,2009.
[4] 百度百科.Webshell [EB/OL].http://baike.baidu.com/view/53110.htm.
[5] 百度百科.一句話木馬[EB/OL].http://baike.baidu.com/view/102246.htm.
[6] n3wF.PHPCMS v9 Getshell(apache)[EB/OL].http://www.wooyun.org/bugs/wooyun-2013-019299.