一.什么是WebShell?
“web”的含義是顯然需要服務(wù)器開放web服務(wù),“shell”的含義是取得對(duì)服務(wù)器某種程度上操作權(quán)限。webshell常常被稱為匿名用戶(入侵者)通過網(wǎng)站端口對(duì)網(wǎng)站服務(wù)器的某種程度上操作的權(quán)限。
簡(jiǎn)單理解: WebShell通常是以asp、php、jsp、asa或者cgi等網(wǎng)頁文件形式存在的—種命令執(zhí)行環(huán)境,也可以稱為—種網(wǎng)頁后門。黑客在入侵網(wǎng)站后,通常會(huì)將WebShell后門文件與網(wǎng)站服務(wù)器WEB目錄下正常的網(wǎng)頁文件混在—起,然后就可以使用瀏覽器來訪問這些后門,得到命令執(zhí)行環(huán)境,以達(dá)到控制網(wǎng)站或者WEB系統(tǒng)服務(wù)器的目的。
webshell中由于需要完成一些特殊的功能就不可避免的用到一些特殊的函數(shù),我們也就可以對(duì)著特征值做檢查來定位webshell,同樣的webshell本身也會(huì)進(jìn)行加密來躲避這種檢測(cè)。
二.webshell長(zhǎng)什么樣子
以下是asp webshell的樣例,從界面看,它的功能還是比較全的,可以對(duì)服務(wù)器的文件目錄進(jìn)行讀寫操作,如果你是網(wǎng)站管理員的話肯定是不希望普通用戶獲得下面的權(quán)限的。
三.WebShell是如何入侵系統(tǒng)的?
1)利用站點(diǎn)上傳漏洞實(shí)現(xiàn)上傳webshell
利用系統(tǒng)前臺(tái)的上傳業(yè)務(wù),上傳WebShell腳本,上傳的目錄往往具有可執(zhí)行的權(quán)限。在web中有上傳圖像、上傳資料文件的地方,上傳完后通常會(huì)向客戶端返回上傳的文件的完整URL信息,有時(shí)候不反饋,我們也可以猜到常見的image、upload等目錄下面,如果Web對(duì)網(wǎng)站存取權(quán)限或者文件夾目錄權(quán)限控制不嚴(yán),就可能被利用進(jìn)行webshell攻擊,攻擊者可以利用上傳功能上傳一個(gè)腳本文件,然后在通過url訪問這個(gè)腳本,腳本就被執(zhí)行。然后就會(huì)導(dǎo)致黑客可以上傳webshell到網(wǎng)站的任意目錄中,從而拿到網(wǎng)站的管理員控制權(quán)限。
2)黑客獲取管理員的后臺(tái)密碼,登陸到后臺(tái)系統(tǒng),利用后臺(tái)的管理工具向配置文件寫入WebShell木馬,或者黑客私自添加上傳類型,允許腳本程序類似asp、php的格式的文件上傳。
3)利用數(shù)據(jù)庫備份與恢復(fù)功能獲取webshell。如備份時(shí)候把備份文件的后綴改成asp?;蛘吆笈_(tái)有mysql數(shù)據(jù)查詢功能,黑客可以通過執(zhí)行select..in To outfile 查詢輸出php文件,然后通過把代碼插入到mysql,從而導(dǎo)致生成了webshell的木馬。
4)系統(tǒng)其他站點(diǎn)被攻擊,或者服務(wù)器上還搭載了ftp服務(wù)器,ftp服務(wù)器被攻擊了,然后被注入了webshell的木馬,從而導(dǎo)致網(wǎng)站系統(tǒng)也被感染。
5)黑客直接攻擊Web服務(wù)器系統(tǒng)漏洞入侵Web服務(wù)器在系統(tǒng)層面也可能存在漏洞,如果黑客利用其漏洞攻擊了服務(wù)器系統(tǒng),那么黑客獲取了其權(quán)限,則可以在web服務(wù)器目錄里上傳webshell文件。
四.WebShell能夠肆虐的重要原因是什么?
1)通過web站點(diǎn)漏洞上傳webshell
WebShell能夠被注入很大程度是由于服務(wù)器或中間件的安全漏洞。例如:老版本的IIS目錄解析漏洞、文件名解析漏洞、應(yīng)用后臺(tái)暴露和弱口令、fast-CGI解析漏洞、apache文件解析漏洞、截?cái)嗌蟼?、后臺(tái)數(shù)據(jù)庫備份功能上傳、利用數(shù)據(jù)庫語句上傳等漏洞實(shí)現(xiàn)。
2)站點(diǎn)部署時(shí)混入了webshell文件
我們發(fā)現(xiàn)有大量的客戶在使用從網(wǎng)上下載的第三方開源代碼時(shí),混入了WebShell的惡意腳本,造成二次入侵或多次入侵,所以在部署前期,如果不是新開發(fā)的代碼,需要對(duì)代碼進(jìn)行惡意文件掃描查殺,防止上線后被入侵。
五.如何防止系統(tǒng)被植入WebShell?
配置必要的防火墻開啟防火墻策略,防止暴露不必要的服務(wù),為黑客提供利用條件。
對(duì)服務(wù)器進(jìn)行安全加固,例如:關(guān)閉遠(yuǎn)程桌面這些功能、定期更換密碼、禁止使用最高權(quán)限用戶運(yùn)行程序、使用https加密協(xié)議。
加強(qiáng)權(quán)限管理,對(duì)敏感目錄進(jìn)行權(quán)限設(shè)置,限制上傳目錄的腳本執(zhí)行權(quán)限,不允許配置執(zhí)行權(quán)限。
安裝webshell檢測(cè)工具,發(fā)現(xiàn)檢測(cè)結(jié)果后,立即隔離查殺,并排查漏洞。
排查程序存在的漏洞,并及時(shí)修補(bǔ)漏洞,如果沒有安全能力,可以通過應(yīng)急響應(yīng)服務(wù)人工界入?yún)f(xié)助排查漏洞及入侵原因,同時(shí)可以選用阿里云商業(yè)web應(yīng)用防火墻防御,降低入侵機(jī)率。