2007年10月12日

查找別人留下來的Webshell後門

WebShell:

簡單就是一個asp或php木馬的後門程式。

該程式就是撰寫asp或php語法並已經添加好各種可以控制的指令撰寫出來的一個Web介面的檔案總管(具有FSO功能)。

利用各種漏洞將此文件上傳放置於Web Server的根目錄中,與正常的asp或php程式檔案混在一起。然後攻擊者就可以用Web的方式透過該asp或php木馬來控制Web Server,包含上下載文件、新增帳號、添加其它木馬或添加<iFrame>於網頁中特稱為「掛馬」

##CONTINUE##

FileSystemObject(FSO):檔案系統物件 (FSO) 模型提供用來處理資料夾及檔案的物件架構工具。此模型可讓您使用熟悉的 object.method 語法及大量的屬性 (Property)、方法及事件來處理資料夾及檔案。您也可採用傳統 Visual Basic 陳述式及指令。

FSO 模型使您的應用程式能夠建立、變更、移動及刪除資料夾,或決定是否有特定資料夾存在及存在於何處。而且還能讓您取得關於資料夾的資訊,諸如資料夾名稱及建立或最後修改的日期。

FSO.jpg

參考資料:

使用 FileSystemObject 存取檔案

使用 ASP 與 Scripting.FileSystemObject 來建立動態目錄頁

如何使用 ASP 建立檔案檢視器

如何使用 ASP 建立目錄檢視器

--------------------------------------------------------------------

為何攻擊者想要使用 WebShell:

  • 因透過80 port 所以可以穿越防火牆。
  • 因為是在Web Server上透過asp或php程式來執行指令或語法,所以閘道端的防禦設備不會攔截。
  • 不會在閘道端、系統留下LOG,只有Web Server與DB上的LOG會出現該asp或php程式有執行的記錄,但權責分工之下(網頁程式設計者、資料庫管理師、Web Server管理員、資安人員)沒有經驗的管理者或團隊很難判讀LOG。
  • Web植入木馬(掛馬)通常都是只有把植入的語法拿掉而已,如果沒有刪除「真正在運作的WebShell」,那再次掛馬指日可待。

攻擊者使用WebShell的缺點:

最關鍵的步驟為:如何把WebShell上傳至目標Web Server的目錄之下。

常利用的手法:

  • 利用Web Server本身的漏洞。(最好用手法)
  • 利用SQL Injection的漏洞搭配其他上傳指令或tFTP工具。(最常見手法)
  • 利用XSS語法使網頁設計師的電腦中木馬,使其在更新網頁檔案時一並更新進去Web Server。

攻擊者入侵某一個網站順利得到WebShell之後,並不會把它殺掉。也不會把該WebShell的某些關鍵字加入排除搜尋引擎建立Index的索引檔。(因為這是Web管理者要做的事)

所以只要不是才剛剛入侵成功的WebShell(因為搜尋引擎沒有資料),通常透過「WebShell的某些關鍵字」就可找到「前人留下的智慧與寶藏」。

註:如果是剛剛才入侵成功的網站,可用「網頁名稱與檔案建立日期」來猜測,搭配砍站工具或Web掃描工具就可發現「多出來」的蛛絲馬跡。

常見 WebShell 檔名: (註:攻擊者可改檔名)

  • diy.asp (網站小助手)
  • wei.asp
  • 2006.asp
  • newasp.asp
  • myup.asp
  • Log.asp
  • phpspy.php