狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【WEB開發】webshell攻擊入侵檢測方式

admin
2025年5月13日 23:42 本文熱度 561

簡介

攻擊者在入侵企業網站時,通常要通過各種方式獲取webshell從而獲得企業網站的控制權,然后方便進行之后的入侵行為。常見攻擊方式有:直接上傳獲取webshell、SQL注入、遠程文件包含(RFI)、FTP,甚至使用跨站點腳本(XSS)作為攻擊的一部分,甚至一些比較老舊的方法利用后臺數據庫備份及恢復獲取webshell、數據庫壓縮等。通用功能包括但不限于shell命令執行、代碼執行、數據庫枚舉和文件管理。

webshell分類

webshell從協議上來看,最開始基于 TCP、UDP 的 Shell,到后來基于ICMP 的 Shell和基于DNS 的shell 。從依托工具上看,有 nc 反彈、telnet 反彈、SSH 端口轉發等手段,極度猥瑣的甚至還有利用 awk 的反彈 Shell。從語言上看,各種流行的語言都能用來寫后門,從bash 到 3P(Perl Python PHP)再到 Ruby 和 Java。

webshell功能

1)站長工具:被站長常常用于網站管理,服務器管理等,根據FSO權限的不同,作用有在線編輯網頁腳本、上傳下載文件、查看數據庫、執行任意程序命令等。

2)持續遠程訪問:入侵者可以利用從而達到長期控制網站服務器的目的,若攻擊者自行修復了漏洞,以確保沒有其他人會利用該漏洞,攻擊者可以低調的隨時控制服務器。一些流行的webshell使用密碼驗證和其他技術來確保只有上傳webshell的攻擊者才能訪問它。(webshell密碼爆破工具表示不服)

3)權限提升:在服務器沒有配置錯誤的情況下,webshell將在web服務器的用戶權限下運行,該用戶權限是有限的。通過使用webshell,攻擊者可以嘗試通過利用系統上的本地漏洞來執行權限提升,常見的有查找敏感配置文件、通過內核漏洞提權、利用低權限用戶目錄下可被Root權限用戶調用的腳本提權、任務計劃等(從入門到放棄)

4)極強的隱蔽性:有些惡意網頁腳本可以嵌套在正常網頁中運行,且不容易被查殺。webshell還可以穿越服務器防火墻,由于與被控制的服務器或遠程主機交互的數據都是通過80端口傳遞,因此不會被防火墻攔截,在沒有記錄流量的情況下,webshell使用post包發送,也不會被記錄在系統日志中,只會在web日志中記錄一些數據提交的記錄。

websehll檢測方式

webshell檢測主要可以從websehll的特征,流量,webshell的操作等方法進行檢測。

1.基于webshell特征檢測

常見webshell特征:

1)存在系統調用的命令函數,如eval,system,cmd_shell,assert等

2)存在系統調用的文件操作函數,如fopen,fwrite,readdir等

3)存在數據庫操作函數,調用系統自身的存儲過程來連接數據庫操作。

4)具備很深的自身隱藏性,可偽裝性,可長期潛伏到web源碼中

5)衍生變種多,可通過自定義加解密函數利用xor字符串反轉壓縮截斷重組等方式來繞過檢測。例如通過base64編碼,進制運算

以上對于webshell本身的行為分析,它帶有對于系統調用,系統配置,數據庫,文件的操作動作,可以通過關鍵詞匹配文件找出webshell;再如一些壓縮后的數據,有可能一些WAF并不會檢測到內容存在危險。變性后的數據,WAF也檢測不出存在的危險,但是腳本文件帶有這些特殊的函數,本身就是危險文件。

這些檢測可以通過grep去查找webshell,D盾之類的webshell查殺工具也是利用這種原理,對源碼進行查殺。但是遇到一些變形過的webshell后門,關鍵字搜索不到,這種方式就不適用了

例子:

1)查找存在eval函數的php文件。

find  /var/www/* -type f -name "*.php"  |xargs grep "eval"

2)如果木馬做了免殺處理,可以查看是否使用加密函數:

find  /var/www/* -type f -name "*.php"  |xargs grep "base64_decode"

3)查看是否做了拼接處理

find  /var/www/* -type f -name "*.php"  |xargs grep "@$"

2.基于webshell流量特征檢測

1)基于流量行為特征的webshell檢測

webshell帶有常見寫的系統調用、系統配置、數據庫、文件的操作動作等,它的行為方式決定了它的數據流量中多帶參數具有一些明顯的特征,通過匹配行為的流量特征做檢測,這也是基于webshell入侵后行為特征進行檢測,當然也可以從系統層面webshell入侵行為進行檢測。

例如:ifconfig system whoami inetstat eval

常見的可以從data數據中去檢索攻擊者常用的命令和payload等,當然大部分的webshell不會這么直接,可能會經過編碼,如最經典的webshell中國菜刀采用的是先url編碼再base64編碼,對應的采取解碼的方式去發現敏感的行為特征。這也是抓取流量的好處,因為在web訪問日志中,是無法抓取POST方式的包,也就沒法分析webshell入侵后的行為,而流量很好的做到了這一點。

2)經過webshell工具特征的檢測

分析常見的webshell工具,然后抓包看其流量特征。

最常見的中國菜刀流量特征為:通過wireshark等抓包工具進行分析,可以發現編碼通信內容通過cookie頭傳輸,其中有三個cm、cn和cp變量,這是webacoo webshell管理工具的特征。

3.基于webshell系統行為特征的檢測

這個思路和基于webshell的流量行為特征進行檢測的想法大概一致,攻擊者上傳webshell總會做些什么,那么可以去監測系統的變化以及敏感的操作,盡可能的去收集服務器的信息,通過和之前的配置以及文件的變化對比監測系統達到盡可能發現webshell的成果。

1)文件分析

查看/tmp,/init.d,/usr/bin,/usr/sbin等敏感目錄有無可疑的文件,針對可疑的文件可使用stat進行創建修改時間,訪問時間的詳細查看,若修改時間距離事件日期接近,有線性關聯,說明可能被篡改或者其他。

例如;

查找24小時內被修改的PHP文件:

find ./ -mtime 0 -name "*.php"

根據時間去反推變更的文件:

ls -al /tmp |grep "feb 27"

查找777權限以及隱藏文件:

find / *.jsp -perm 4777

2)進程分析(可以做)webshell執行命令的進程是一個實時的,其它時間就是一個合法的TCP連接,只能實時監控進程的狀態。

使用netstat 網絡連接命令,分析可疑端口、可疑IP、可疑PID及程序進程(top可以實時動態的查看系統的整體運行情況,主要分析cpu和內存多的進程,是一個不錯的綜合了多方面信息監測系統性能和運行信息的實用工具),最好可以去區分對外的監聽端口和對內的監聽端口,一般可以有效的查找出后門。

通過以下命令查找隱藏進程:

ps -ef | awk '{print}' | sort -n | uniq >1ls /proc | sort -n |uniq >2 diff 1 2

3)系統信息分析:

history (cat /root/.bash_history)//查看分析history (cat /root/.bash_history),曾經的命令操作痕跡,以便進一步排查溯源/etc/passwd//查看有無新增的惡意用戶或者除root之外uid為0的用戶crontab  /etc/cron*//查看當前的任務計劃有哪些,是否有后門木馬程序啟動相關信息$PATH//分析有無敏感可疑信息 ......

4)配置文件

如最普通的將pam.d下的ssh的驗證模塊改成su的驗證模塊,那么再次登錄,驗證uid為0,那么root就免密登錄,而一般情況下,不仔細也是無法觀察出的,還有更多的后門,再入php.ini后門,所以需要去監控一些培訓文件,與之前的配置文件比較,以便于發現問題所在。

4.基于web日志webshell行為特征的檢測

webshell的訪問特征(如果你非要告訴我攻擊者把webshell插入了其他的動態頁面中2333):

1)少量的IP對其發起訪問

2)總的訪問次數少

3)該頁面屬于孤立頁面

那么接下來就可以使用awk、uniq、sort或者腳本對url每天的總訪問數量、url獨立訪問的頁面等進行統計分析。

awk -F " " '{print $1}' log |sort| uniq -c |sort -nr |morecat access.log | cut-f1 -d " " | sort | uniq -c | sort -k 1 -r | head -10             //查看頁面訪問排名前十的IPcat access.log | cut-f4 -d " " | sort | uniq -c | sort -k 1 -r | head -10             //查看頁面訪問排名前十的URL

在日志提權的時候盡可能的去除掉一些靜態的頁面和錯誤請求信息,常見的可以通過grep -v去排除,排除項有:

1)去除靜態path(例如jpeg,jpg,gif,png,bmp,css,js,xls,xlsx,doc,xml,wav,tar.gz,zip,swf,mp3,ico,pidf,torrent) ;2)去除白名單path (例如主頁index.php,index.asp,index.aspx,index.ashx,index.html);3)去除非webshell后綴的path (例如asp,aspx,php,jsp,py,cgi,pl,java,sh,war,cfm,phtml);4)去除掃描器造成的path(按掃描器IP信譽庫(云掃描器IP信譽庫與時效性掃描器IP信譽庫)與掃描器行為(可以簡單的按ip host聚類,將單位時間內請求數超過M,獨立路徑數超過N的請求視為掃描器)來去除);5)去除響應碼非200的path

5.動態檢測

上面介紹了靜態檢測,通過對指定腳本的關鍵詞、高危函數、文件修改時間、權限等以及和其他文件的關聯性等多個緯度的特征進行檢測。速度快,且能快速定位;動態特征檢測通過Webshell運行時使用的系統命令或者網絡流量及狀態的異常來判斷動作的威脅程度,Webshell通常會被加密從而避免靜態 特征的檢測,當Webshell運行時就必須向系統發送系統命令來達到控制系統或者操作數據庫的目的,通過檢測系統調用來監測甚至攔截系統命令被執行,從行為模式上深度檢測腳本文件的安全性。

這種首先就需要能夠獲取系統執行命令的進程鏈,然后在根據配置的規則進行檢測,例如在進程鏈中執行了nc反彈


6.統計學

在日志分析中,基于webshell特征去發現webshell也范屬于統計學。NeoPiS 國外流行的一個基于統計學的webshell后門檢測工具,它使用五種計學方法在腳本文件中搜索潛在的被混淆或被編碼的惡意代碼。

NeoPi使用以下五種檢測方法:

1)信息熵(Entropy):通過使用ASCII碼表來衡量文件的不確定性;

2)最長單詞(LongestWord):最長的字符串也許潛在的被編碼或被混淆;

3)重合指數(Indexof Coincidence):低重合指數預示文件代碼潛在的被加密或被混效過;

4)特征(Signature):在文件中搜索已知的惡意代碼字符串片段;

5)壓縮(Compression):對比文件的壓縮比。


閱讀原文:原文鏈接


該文章在 2025/5/14 10:02:23 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved