網路Shell攻擊如何影響您的Web伺服器?
Web Shell是一種惡意指令碼,攻擊者使用它來維持對已被入侵的線上應用程式的持久訪問。Web Shell必須始終是攻擊的第二階段,因為它無法攻擊或利用遠端漏洞(此階段也稱為後利用)。
當惡意使用者能夠將自己的檔案注入到Web伺服器的目錄中時,就會發生Web Shell攻擊,這樣他們只需透過Web瀏覽器請求即可輕鬆執行指令。
為了向網路內部沒有直接網際網路連線的計算機發送命令,Web Shell可以充當中繼點。Web Shell能夠參與命令和控制網路;例如,它們可以用來入侵主機並將其新增到殭屍網路中。攻擊者可以透過感染網路上的其他系統來傳播Web Shell,從而危害更多資源。
駭客使用各種Web應用程式漏洞和利用程式,例如SQL注入(SQLi)和跨站點指令碼(XSS),來部署Web Shell。此外,攻擊者還利用服務和程式中的漏洞、檔案處理中的漏洞、暴露的管理員介面以及本地檔案包含(LFI)和遠端檔案包含(RFI)中的漏洞。
駭客在各種情況下使用Web Shell,包括:
收集和洩露個人資料和憑據。
上傳惡意軟體,可以作為進一步感染和受害者掃描的跳板。
更改或在網站上包含檔案。
Web Shell攻擊示例
駭客使用一些Web Shell模型,包括China Chopper、WSO、C99和B374K。但是,大多數Web Shell都是全新的,只有少數駭客熟悉它們的Web Shell模式。
China Chopper——它包含許多命令和控制功能以及一個具有密碼暴力破解功能的小型線上Shell。
Orb的Web Shell (WSO)——它可能看起來像是一個錯誤頁面,同時包含隱藏的登入表單。
C99——它是WSO的更高階版本,具有額外功能。它可以顯示伺服器的安全措施和自毀選項。
B374K——它使用PHP程式語言建立,具有讀取資料和執行命令的基本功能。
Web Shell是如何安裝的?
駭客需要找到一個存在漏洞的Web伺服器才能安裝Web Shell。駭客使用shodan.io等掃描服務來快速識別易受網路攻擊的伺服器。他們還利用有關最近發現的Web伺服器漏洞的報告來快速識別暴露的伺服器。在應用補丁之前,Web Shell會安裝在受影響的網站上。
透過利用多個Web伺服器漏洞,包括跨站點指令碼(XSS)、SQL注入、本地檔案包含(LFI)和遠端檔案包含(RFI),可以實現Web Shell的部署。
本地檔案包含(LFI)和遠端檔案包含(RFI)——當Web應用程式允許使用者向伺服器提交輸入檔案時,就會出現特定的漏洞。藉助這一點,駭客還可以檢視和使用受害者的計算機檔案。在RFI中,駭客可以在他們的計算機上執行程式碼,而在LFI中,只有本地系統可以訪問檔案。
跨站點指令碼(XSS)——它利用薄弱的網站誘騙使用者下載惡意指令碼,這些指令碼一旦執行,就會危及使用者與網站應用程式的連線。駭客偽裝成使用者以訪問使用者帳戶並獲取資料。
SQL注入——它使駭客更容易解密應用程式和伺服器之間的通訊,這些通訊攜帶敏感資料,包括使用者資訊、應用程式資訊等等。攻擊者可能會更改或刪除影響程式功能的資料。
如何檢測Web Shell?
Web Shell可以隱藏在看似無害的檔案中,使其難以發現。例如,Web Shell指令碼可能會上傳到目標Web伺服器並嵌入到圖片中。由於此上傳只是一個照片,因此分析時不會發現任何可疑之處。但是,由於Web伺服器引用媒體檔案進行伺服器端執行,因此Web瀏覽器可能會請求該影像,從而啟用惡意程式碼。
必須在連線到網際網路的伺服器和網際網路的交匯點處實施安全措施,以跟蹤每個程序執行和編寫的指令碼檔案。
另一種準確率很高的方法是將受損檔案與已知Web Shell語法資料庫進行比較。Shell Detector可以幫助實現這一點。
Web Shell是如何工作的?
在本節中,讓我們瞭解Web Shell是如何工作的:
持久遠端訪問
Web Shell指令碼提供了一個後門,允許攻擊者遠端訪問易受攻擊的伺服器。永續性攻擊者不需要為每次惡意行為都利用新的漏洞。一些攻擊者甚至會修復他們用來避免被發現並阻止其他人使用的漏洞。一些線上Shell使用密碼身份驗證等策略來確保只有特定攻擊者才能訪問它們。大多數Web Shell都會對其程式碼進行混淆處理,以防止搜尋引擎將安裝了Shell的網站列入黑名單。
樞軸和發起攻擊
攻擊者可以使用Web Shell切換到網路內部和外部的其他目標。列舉可能需要數週時間,這涉及嗅探網路流量以查詢活動主機、防火牆或路由器。在此期間,攻擊者將保持低調以避免被發現。網路上的永續性攻擊者會緩慢推進,甚至可能使用受感染的系統來攻擊更多目標。這使攻擊者能夠保持匿名,並且在多臺計算機之間切換幾乎可以使識別攻擊的來源變得非常困難。
許可權提升
Web Shell通常以使用者的有限許可權執行。攻擊者可以透過Web Shell獲得root訪問許可權並透過利用系統漏洞來提升許可權。擁有root帳戶訪問許可權的攻擊者幾乎可以執行任何操作,包括安裝軟體、修改許可權、新增或刪除使用者、讀取電子郵件、竊取密碼等等。
殭屍網路控制
伺服器可以透過Web Shell連線到殭屍網路(由攻擊者控制的系統網路)。受感染的伺服器執行由攻擊者透過與Web Shell連結的命令和控制伺服器傳送的指令。這是使用大量頻寬的DDoS攻擊的常見策略。攻擊者使用Web Shell的資源來攻擊更有價值的目標,而不是直接攻擊安裝了Web Shell的系統。
如何保護您的裝置免受Web Shell攻擊?
您可以採取以下措施來保護您的裝置免受Web Shell攻擊:
檔案完整性監控
檔案完整性監控(FIM)解決方案旨在防止對可透過Web訪問的資料夾上的檔案進行更改。當發現修改時,FIM工具會通知管理員和安全人員。實施FIM可以幫助在檔案儲存到目錄後立即即時檢測問題。因此,安全人員可以更快地檢測和消除Web Shell。可以配置完整性監控程式以允許某些檔案修改,同時禁止其他檔案修改。例如,如果您的線上應用程式只使用PDF檔案,則完整性監控系統可以阻止沒有“.pdf”副檔名的上傳。
Web應用程式許可權
在設計Web應用程式的許可權時,應使用最小許可權原則。這個原則背後的基本思想是隻向用戶授予執行其指定職責所需的許可權。目的是確保沒有使用者可以訪問他們不應該訪問的資源,並且被駭客入侵的帳戶的功能受到限制。
透過遵循最小許可權原則,可以阻止威脅參與者將Web Shell上傳到薄弱的應用程式。您可以透過停用Web應用程式直接寫入或修改可在Web上訪問的程式碼的功能來更改它。在這種方法中,伺服器阻止參與者訪問可透過Web訪問的目錄。
入侵防禦和Web應用程式防火牆
入侵防禦系統(IPS)是一種網路安全技術,它透過跟蹤網路流量來防禦威脅。Web應用程式防火牆(WAF)透過過濾、監控和限制進出線上服務的HTTP流量來防禦威脅。在實施入侵防禦時,組織應使用多種技術。IPS和WAF系統可以跟蹤流量模式並阻止已知的惡意上傳。理想情況下,新增到生態系統的每個安全裝置都應根據企業的特定需求進行定製。
端點檢測和響應(EDR)
藉助特定的主機日誌記錄和端點檢測與響應 (EDR) 解決方案,可以防禦 Web Shell 攻擊。這些工具跟蹤系統呼叫,並查詢程序歷史異常和惡意行為模式以查詢 Web Shell。具有 Web Shell 防護功能的 EDR 解決方案可以看到端點上執行的所有程序,包括已呼叫的系統呼叫。該解決方案檢測 Web Shell 何時導致 Web 伺服器程序中的異常活動。例如,大多數 Web 伺服器通常不會啟動“ip config”工具。Web Shell 經常使用這種偵察策略,可以透過行為分析來識別。
網路分段
一種稱為網路分段的設計風格將網路劃分為獨立的子網。每個段都有其自己的安全網路,每個子網都被視為一個段。網路分段架構可防止無關部分之間的連線。這種劃分可以阻止 Web Shell 的傳播。有幾種不同的網路隔離方法。例如,一種可以用來隔離可透過網際網路訪問的伺服器的簡單方法是隔離非軍事區 (DMZ) 子網。此外,更復雜的網路分段方法(包括軟體定義網路 (SDN))可以幫助實施零信任架構。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP