『壹』 webshell檢測有什麼方法思路
靜態檢測通過匹配特徵碼,特徵值,危險函數函數來查找webshell的方法,只能查找已知的webshell,並且誤報率漏報率會比較高,但是如果規則完善,可以減低誤報率,但是漏報率必定會有所提高。優點是快速方便,對已知的webshell查找准確率高,部署方便,一個腳本就能搞定。缺點漏報率、誤報率高,無法查找0day型webshell,而且容易被繞過。對於單站點的網站,用靜態檢測還是有很大好處,配合人工,能快速定位webshell,但是如果是一個成千上萬站點的大型企業呢,這個時候再人肉那工作量可就大了。所以用這樣一種思路:強弱特徵。即把特徵碼分為強弱兩種特徵,強特徵命中則必是webshell;弱特徵由人工去判斷。加入一種強特徵,即把流行webshell用到的特徵作為強特徵重點監控,一旦出現這樣的特徵即可確認為webshell立即進行響應。要解決誤報和漏報,就不能拘泥於代碼級別了。可以換個角度考慮問題:文件系統。我們可以結合文件的屬性來判斷,比如apache是noboy啟動的,webshell的屬主必然也是nobody,如果我的Web目錄無緣無故多了個nobody屬主的文件,這里就有問題了。最理想的辦法是需要制度和流程來建設一個web目錄唯一發布入口,控制住這個入口,非法進來的Web文件自然可以發現。
『貳』 如何辨別webshell是否存在後門
1、檢查系統密碼文件
首先從明顯的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。
awk –F: 『length($2)==0 {print $1}』 /etc/shadow
2、查看一下進程,看看有沒有奇怪的進程
重點查看進程:ps –aef | grep inetd
inetd是UNIX系統的守護進程,正常的inetd的pid都比較靠前,如果你看到輸出了一個類似inetd –s /tmp/.xxx之類的進程,著重看inetd –s後面的內容。在正常情況下,LINUX系統中的inetd服務後面是沒有-s參數的,當然也沒有用inetd去啟動某個文件;而solaris系統中也僅僅是inetd –s,同樣沒有用inetd去啟動某個特定的文件;如果你使用ps命令看到inetd啟動了某個文件,而你自己又沒有用inetd啟動這個文件,那就說明已經有人入侵了你的系統,並且以root許可權起了一個簡單的後門。
輸入ps –aef 查看輸出信息,尤其注意有沒有以./xxx開頭的進程。一旦發現異樣的進程,經檢查為入侵者留下的後門程序,立即運行kill –9 pid 開殺死該進程,然後再運行ps –aef查看該進程是否被殺死;一旦此類進程出現殺死以後又重新啟動的現象,則證明系統被人放置了自動啟動程序的腳本。這個時候要進行仔細查找:find / -name 程序名 –print,假設系統真的被入侵者放置了後門,根據找到的程序所在的目錄,會找到很多有趣的東東,
接下來根據找到入侵者在伺服器上的文件目錄,一步一步進行追蹤。
3、檢查系統守護進程
檢查/etc/inetd.conf文件,輸入:cat /etc/inetd.conf | grep –v 「^#」,輸出的信息就是你這台機器所開啟的遠程服務。
一般入侵者可以通過直接替換in.xxx程序來創建一個後門,比如用/bin/sh 替換掉in.telnetd,然後重新啟動inetd服務,那麼telnet到伺服器上的所有用戶將不用輸入用戶名和密碼而直接獲得一個rootshell。
4、檢查網路連接和監聽埠
輸入netstat -an,列出本機所有的連接和監聽的埠,查看有沒有非法連接。
輸入netstat –rn,查看本機的路由、網關設置是否正確。
輸入 ifconfig –a,查看網卡設置。
5、檢查系統日誌
命令last | more查看在正常情況下登錄到本機的所有用戶的歷史記錄。但last命令依賴於syslog進程,這已經成為入侵者攻擊的重要目標。入侵者通常會停止系統的syslog,查看系統syslog進程的情況,判斷syslog上次啟動的時間是否正常,因為syslog是以root身份執行的,如果發現syslog被非法動過,那說明有重大的入侵事件。
在linux下輸入ls –al /var/log
檢查wtmp utmp,包括messgae等文件的完整性和修改時間是否正常,這也是手工擦除入侵痕跡的一種方法。
6、檢查系統中的core文件
通過發送畸形請求來攻擊伺服器的某一服務來入侵系統是一種常規的入侵方法,典型的RPC攻擊就是通過這種方式。這種方式有一定的成功率,也就是說它並不能100%保證成功入侵系統,而且通常會在伺服器相應目錄下產生core文件,全局查找系統中的core文件,輸入find / -name core –exec ls –l {} \; 依據core所在的目錄、查詢core文件來判斷是否有入侵行為。
7、檢查系統文件完整性
檢查文件的完整性有多種方法,通常我們通過輸入ls –l 文件名來查詢和比較文件,這種方法雖然簡單,但還是有一定的實用性。但是如果ls文件都已經被替換了就比較麻煩。在LINUX下可以用rpm –V `rpm –qf 文件名` 來查詢,查詢的結果是否正常來判斷文件是否完整。
『叄』 如何進入網站後台 獲取webshell進入後台
一、直接上傳獲得webshell
這種對php和jsp的一些程序比較常見,MolyX BOARD就是其中一例,直接在心情圖標管理上傳.php類型,雖然沒有提示,其實已經成功了,上傳的文 件url應該是http://forums/images/smiles/下,前一陣子的聯眾游戲站和網易的jsp系統漏洞就可以直接上傳jsp文件。文件名是原來的文件名,bo-blog後台可以可以直接上傳.php文件,上傳的文件路徑有提示。以及一年前十分流行的upfile.asp漏洞(動網5.0和6.0、早期的許多整站系統),因過濾上傳文件不嚴,導致用戶可以直接上傳webshell到網站任意可寫目錄中,從而拿到網站的管理員控制許可權。
二、添加修改上傳類型
現在很多的腳本程序上傳模塊不是只允許上傳合法文件類型,而大多數的系統是允許添加上傳類型,bbsxp後台可以添加asa|asP類型,ewebeditor的後台也可添加asa類型,通過修改後我們可以直接上傳asa後綴的webshell了,還有一種情況是過濾了.asp,可以添加.aspasp的文件類型來上傳獲得webshell。php系統的後台,我們可以添加.php.g1f的上傳類型,這是php的一個特性,最後的哪個只要不是已知的文件類型即可,php會將php.g1f作為.php來正常運行,從而也可成功拿到shell。LeadBbs3.14後台獲得webshell方法是:在上傳類型中增加asp ,注意,asp後面是有個空格的,然後在前台上傳ASP馬,當然也要在後面加個空格!
三、利用後台管理功能寫入webshell
上傳漏洞基本上補的也差不多了,所以我們進入後台後還可以通過修改相關文件來寫入webshell。比較的典型的有dvbbs6.0,還有leadbbs2.88等,直接在後台修改配置文件,寫入後綴是asp的文件。而LeadBbs3.14後台獲得webshell另一方法是:添加一個新的友情鏈接,在網站名稱處寫上冰狐最小馬即可,最小馬前後要隨便輸入一些字元,http:\\網站\inc\IncHtm\BoardLink.asp就是我們想要的shell。
四、利用後台管理向配置文件寫webshell
利用"""":""//"等符號構造最小馬寫入程序的配置文件,joekoe論壇,某某同學錄,沸騰展望新聞系統,COCOON Counter統計程序等等,還有很多php程序都可以,COCOON Counter統計程序舉例,在管理郵箱處添上cnhacker at 263 dot net":eval request(chr (35))//, 在配製文件中就是webmail="cnhacker at 263 dot net\":eval request(chr(35))//",還有一種方法就是寫上cnhacker at 263 dot net"%><%eval request(chr(35))%><%',這樣就會形成前後對應,最小馬也就運行了。<%eval request(chr(35))%>可以用lake2的eval發送端以及最新的2006 客戶端來連,需要說明的是資料庫插馬時候要選前者。再如動易2005,到文章中心管理-頂部菜單設置-菜單其它特效,插入一句話馬"%><%execute request("l")%><%',保存頂部欄目菜單參數設置成功後,我們就得到馬地址http://網站/admin/rootclass_menu_config.asp。
五、利用後台資料庫備份及恢復獲得webshell
主要是利用後台對access資料庫的「備份資料庫」或「恢復資料庫」功能,「備份的資料庫路徑」等變數沒有過濾導致可以把任意文件後綴改 為asp,從而得到webshell,msssql版的程序就直接應用了access版的代碼,導致sql版照樣可以利用。還可以備份網站asp文件為其他後綴 如.txt文件,從而可以查看並獲得網頁源代碼,並獲得更多的程序信息增加獲得webshell的機會。在實際運用中經常會碰到沒有上傳功能的時 候,但是有asp系統在運行,利用此方法來查看源代碼來獲得其資料庫的位置,為資料庫插馬來創造機會,動網論壇就有一個ip地址的資料庫,在後台的ip管理中可以插入最小馬然後備份成.asp文件即可。在談談突破上傳檢測的方法,很多asp程序在即使改了後綴名後也會提示文件非法,通過在.asp文件頭加上gif89a修改後綴為gif來騙過asp程序檢測達到上傳的目的,還有一種就是用記事本打開圖片文件,隨便粘貼一部分復制到asp木馬文件頭,修改gif後綴後上傳也可以突破檢測,然後備份為.asp文件,成功得到webshell。
六、利用資料庫壓縮功能
可以將數據的防下載失效從而使插入資料庫的最小馬成功運行,比較典型的就是loveyuki的L-BLOG,在友情添加的url出寫上<%eval request (chr(35))%>, 提交後,在資料庫操作中壓縮資料庫,可以成功壓縮出.asp文件,用海洋的最小馬的eval客戶端連就得到一個webshell。
七、asp+mssql系統
這里需要提一點動網mssql版,但是可以直接本地提交來備份的。首先在發帖那上傳一個寫有asp代碼的假圖片,然後記住其上傳路徑。寫一個本地提交的表單
『肆』 如何最大化的去發現檢測是否存在WebShell
主要有四點:
1) 合理利用市場優秀產品,「網頁後門檢查工具WebShell Scanner」——真正的WebShell發現神器!該工具需在Web伺服器中掃描,讓「一句話」無處遁形,即使對後門代碼加密也有部分解密手段發現隱藏後門。
2) 勤用WebScan、DBScan、監測平台、遠程安全評估等掃描工具,及時發現漏洞,根據報表建議,及時整改,讓那些「活雷鋒」見鬼去吧。
3) 部署網站衛士,看你如何上傳WebShell。
4) 明御Web應用防火牆,將攻擊擋在牆外,護Web永安全。
『伍』 有了解雷火·AI-Webshell檢測系統的嗎
雷火引擎是青藤雲安全自研的Webshell檢測引擎,不依賴正則匹配,而是通過把復雜的變形和混淆回歸成等價最簡形式,然後根據AI推理發現Webshell中存在的可疑內容,經過多輪公開的對抗測試,雷火引擎在強對抗環境下都能有效發現各式企圖繞過一般檢測引擎的 Webshell。
『陸』 webshell有些什麼許可權
一方面,webshell被站長常常用於網站管理、伺服器管理等等,根據FSO許可權的不同,作用有在線編輯網頁腳本、上傳下載文件、查看資料庫、執行任意程序命令等。
另一方面,被入侵者利用,從而達到控制網站伺服器的目的。這些網頁腳本常稱為WEB腳本木馬,目前比較流行的asp或php木馬,也有基於.NET的腳本木馬。
Access資料庫拿webshell:
首先看是否能找到網站漏洞進行網站的後台(sql注入等)或者通過掃描工具來看看是否網站有文件上傳漏洞(在沒拿到後台)。進入後台後,看看是否有資料庫備份功能。
a) 如果有資料庫備份功能,用一句話木馬。通過各種方法,把這句話寫入到資料庫,再把寫入這句話的資料庫通過備份變為後綴名為.asp的文件。
當然要注意備份後的文件地址,然後進行訪問,如果顯示亂碼,基本上成功了,然後通過一句話木馬客戶端進行連接,就連接出現亂碼的那個頁面,連接成功後,就可以看到webshell了。
b) 用圖片上傳功能。我們把asp木馬的後綴改為圖片的後綴名,如GIF,JPG,BMP之類的,進行上傳,上傳成功後,會提示上傳成功,並且會給出文件位置;有時候可能不會提示,我們可以通過抓包工具進行抓包(如WSockExpert)。
抓到上傳的路徑;然後通過資料庫備份的功能,把gif等圖片的格式變為asp格式的資料庫,進行訪問,這時候我們通常就可以看到我們的WebShell了!但是目前目前有的網站會對這個進行檢測,如果備份文件檢查不出屬於資料庫。
則會提示「不合法的資料庫」,既然要檢測是否有資料庫特徵,那我們把圖片加入資料庫特徵就可以了,我們可以通過DOS的COPY命令給圖片加上資料庫特徵了,命令如下:COPY 木馬圖片.gif 資料庫文件.mdb 合成後的文件.gif,這樣,我們合成的圖片就帶有資料庫的特徵了!
『柒』 青藤雷火引擎Webshell檢測工具好用嗎
青藤雷火引擎在現有Webshell檢測工具裡面是檢測率最高的,沒有之一。青藤雷火引擎是青藤公司研發的,青藤是專業的安全服務商,服務了非常多的政府,金融,能源,科技類的頭部客戶。青藤雷火引擎的問世,讓世界Webshell檢測水平提升到一個新的高度;
『捌』 青­藤雷­火引擎Webshell檢測工具怎麼樣
青­藤雷火引­擎太好了,Webshell 檢測 率超過現在有的所有檢 測工具,在強對抗 環境下檢測率高達99.54%。
青 藤­雷火引 擎不依賴正則匹配,是通過把復雜的變形和混淆回歸成等價最簡形式,然後根據AI推理發現Webshell中存在的可疑內容。青 ­藤雷火引擎解決了Webshell惡 意程序檢測難的問題呢..
『玖』 如何使用ssdeep檢測webshell
一 、安裝ssdeep
下載ssdeep並安裝 。
二、識別webshell實例
接下來我們下載一個webshell,試一試如何使用ssdeep來識別webshell
以b374k.php為例
首先獲得webshell b374k.php的ssdeep hash(fuzzy hashing)值,並存儲到b37_hashs.txt文件中
ssdeep -b webshell/b374k.php >b37_hashs.txt
cat b37_hashs.txt
ssdeep,1.1--blocksize:hash:hash,filename384::44snx0Rig5x752EBUxpc5,"b374k.php"
然後使用這個值來獲得相似度,相似度為100(當然啦,因為沒有做任何修改)
ssdeep -bm b37_hashs.txt webshell/b374k.php
b374k.php matches b37_hashs.txt:b374k.php (100)
為了方便理解,我們拿ssdeep與md5做類比
md5 webshell/b374k.php
MD5 (webshell/b374k.php) =
我們知道對文件取md5值是用於驗證文件的完整性的,因為它對任意的修改都能感受到(hash碰撞小概率事件除外)
而ssdeep則用於計算文件相似度,它是通過計算上下文相關的分段hash值(fuzzy hashing)來判斷文件相似度的。
在識別webshell的場景中,我們可以先獲取樣本的ssdeep hash值,然後設置相似度范圍,來識別同一系列的變形shell
想想一個小白黑客獲得一個好用的webshell後,第一件事會幹嘛?肯定是改變登錄賬號密碼
cp webshell/b374k.php webshell/b374k.php.bak
vim webshell/b374k.php.bak
心思稍微重點的想繞過WAF的童鞋,說不定還會修改cookie中的關鍵字
例如批量替換cookie txtauth關鍵字
修改完畢後,分別用md5與ssdeep來看發生了什麼
md5 webshell/b374k.php.bak
MD5 (webshell/b374k.php.bak) =
md5值發生了變化,說明webshell文本內容發生了變化
接著使用ssdeep來查看修改後的webshell的相似度
ssdeep -bm b37_hashs.txt webshell/*
b374k.php matches b37_hashs.txt:b374k.php (100) #原始webshellb374k.php.bak matches b37_hashs.txt:b374k.php (97)#修改了登錄賬號與作者標記b374k.php.bak2 matches b37_hashs.txt:b374k.php (88)#修改了登錄賬號、作者標記、cookie特徵
最後,我們選擇一個合適的相似度來判斷是否為webshell(真實場景中,調參找到合適的閾值才是考驗人的活...)
例如,只篩選相似度90以上的
ssdeep -t 90 -bm b37_hashs.txt webshell/*
b374k.php matches b37_hashs.txt:b374k.php (100)b374k.php.bak matches b37_hashs.txt:b374k.php (97)
三、擴展
除了使用ssdeep來查找相似的惡意軟體(靜態文本),我們還可以逆向思維,根據相似度來判斷混在正常進程中的惡意進程,依據是進程在運行時由於變數變化而發生的變動是輕微的,而代碼被加殼後的的變化是相當顯著的,例如UPX加殼會使相似度瞬降到0%。
『拾』 網站被入侵了傳了webshell怎麼辦
如何防止網站被上傳WebShell網頁木馬?
1 )網站伺服器方面,開啟系統自帶的防火牆,增強管理員賬戶密碼強度等,更改遠程桌面埠,定期更新伺服器補丁和殺毒軟體。
2)定期的更新伺服器系統漏洞(windows 2008 2012、linux centos系統),網站系統升級,盡量不適用第三方的API插件代碼。
3)如果自己對程序代碼不是太了解的話,建議找網站安全公司去修復網站的漏洞,以及代碼的安全檢測與木馬後門清除,國內推薦SINE安全公司、綠盟安全公司、啟明星辰等的網站安全公司,做深入的網站安全服務,來保障網站的安全穩定運行,防止網站被掛馬之類的安全問題。
4)盡量不要把網站的後台用戶的密碼設置的太簡單化,要符合10到18位的大小寫字母+數字+符號組合。
5)網站後台管理的路徑一定不能用默認的admin或guanli或manage 或文件名為admin.asp的路徑去訪問。
6)伺服器的基礎安全設置必須要詳細的做好,埠的安全策略,注冊表安全,底層系統的安全加固,否則伺服器不安全,網站再安全也沒用