Web Shell 指的是用網頁開發語言所編寫的指令碼程式,可能是 PHP、ASP 或 JSP,駭客把這些指令碼程式植入網頁伺服器,以遠端執行伺服器上的功能;
Web Shell 允許駭客於伺服器上執行命令,以竊取資料,或是把伺服器當作攻擊跳板,像是竊取憑證、橫向移動、實際操作鍵盤的活動,同時允許駭客常駐於被入侵的伺服器內。
採用 Web Shell 攻擊的駭客,通常會利用 Web 應用程式或公開網路伺服器上的安全漏洞,他們透過掃描來選定攻擊目標,所開發的可能是粗心大意而未被修補的漏洞,有時則是剛被揭露的新漏洞。一旦駭客在伺服器上植入了惡意的 Web Shell,它就會成為長駐被入侵系統最有效的工具之一。微軟指出,他們經常看到 Web Shell 唯一的功能就是常駐,成為駭客持續存取受害系統的入口,然而,要找到這個惡意的 Web Shell 並不容易,它們不只可採用不同的語言與架構,而且看起來可能是無害的,更或者是大量的網路流量、再加上各種網路攻擊行動所產生的噪音,協助了 Web Shell 的藏匿。
此外,駭客可能把指令隱藏在任何引數中,且除非已使用,否則很難藉由分析 Web Shell 的脈絡,來判斷它的惡意行為或企圖。駭客還會把 Web Shell 放在諸如媒體檔案等非可執行檔案中,例如在一張照片中嵌入 Web Shell 指令碼程式,再將它上傳到網頁伺服器上,當工作站載入並分析該檔案時,顯示照片是無害的,可一旦瀏覽器向伺服器請求該檔案,惡意的 Web Shell 就會在伺服器端執行。
專業人士提醒,單一的 Web Shell 就能讓駭客遠端執行命令,這恐怕會帶來深遠的影響,組織應該要強化系統來對抗 Web Shell 攻擊,包括辨識與修補網頁應用程式及伺服器的安全漏洞及錯誤配置;適當地切割網路邊界以免企業網路遭到波及;於伺服器上啟用防毒保護;經常核查日誌,小心那些暴露於公開網路的系統;部署及檢查防火牆機制;採用嚴謹的憑證政策,以及限制管理員帳號的使用等。