<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    WebShell基礎詳解

    VSole2022-01-07 06:47:08

    WebShell基礎

    什么是WebShell?

    顧名思義,“web”的含義是顯然需要服務器開放web服務,“shell”的含義是取得對服務器某種程度上操作權限。webshell常常被稱為入侵者通過網站端口對網站服務器的某種程度上操作的權限。由于webshell其大多是以動態腳本的形式出現,也有人稱之為網站的后門工具。

    Webshell就是以aspphpjsp或者cgi等網頁文件形式存在的一種代碼執行環境,也可以將其稱做為一種網頁后門。黑客在入侵了一個網站后,通常會將asp或php后門文件與網站目錄下正常的網頁文件混在一起,然后就可以使用瀏覽器來訪問asp或者php后門,得到一個命令執行環境,以達到控制網站服務器的目的。

    利用Webshell可以在Web服務器上執行系統命令、竊取數據、植入病毒、Le索核心數據、SEO掛馬等惡意操作,危害極大。


    WebShell的特點

    黑客使用Webshell的第一步通常是將其上傳到可以訪問的服務器中,例如利用用戶CMS系統的第三方插件中的漏洞上傳一個簡單的php Webshell。當然,Webshell類型和作用也不完全相同,一些簡單的Webshell只起到連接外界的作用,允許黑客插入更加精準的惡意腳本,執行他們所需要的指令;另外一些則可能更加復雜,帶有數據庫或文件瀏覽器,讓黑客能夠從數千英里之外的地方查看入侵系統的代碼和數據。無論何種設計,Webshell都極其危險,是網絡罪犯和高級持續威脅(APTs)的常用工具。Webshell常見的攻擊特點主要有以下幾點:

    持久化遠程訪問

    Webshell腳本通常會包含后門,黑客上傳Webshell之后,就可以充分利用Webshell的后門實現遠程訪問并控制服務器,從而達到長期控制網站服務器的目的。此外,在上傳完Webshell之后,黑客會選擇自己修復漏洞,以確保沒有其他人會利用該漏洞。通過這種方式,黑客就可以一種低調的姿態,避免與管理員進行任何交互,同時仍然獲得相同的結果。

    提權

    在服務器沒有配置錯誤的情況下,Webshell將在web服務器的用戶權限下運行,而用戶權限是有限的。通過Webshell,黑客可以利用系統上的本地漏洞來實現權限提升,從而獲得Root權限,這樣黑客基本上可以在系統上做任何事情,包括安裝軟件、更改權限、添加和刪除用戶、竊取密碼、閱讀電子郵件等等。

    隱蔽性極強

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

    WebShell的分類

    Webshell根據腳本可以分為PHP腳本木馬,ASP腳本木馬,JSP腳本木馬,也有基于.NET的腳本木馬。根據時代和技術的變遷,也有用python和lua編寫的腳本木馬,常用有如下幾種:

    大馬

    ?體積大,功能全

    ?會調用系統關鍵函數

    ?以代碼加密進行隱藏

    小馬

    ?體積小,功能少

    ?一般只有一個上傳功能,用于上傳大馬


    一句話木馬

    ?代碼短

    ?使用場景大,可單獨生成文件,可插入文件

    ?安全性高,隱藏性強,可變形免殺

    ?框架不變,數據執行,數據傳遞

    打包馬

    ?主要用于打包網站源碼

    拖庫馬

    ?主要用于導出網站數據庫

    內存馬

    ?無文件落地

    ?極難檢測和發現

    ?難以清除

    注:之后所講的WebShell就是指一句話木馬

    WebShell的原理

    Webshell的惡意性表現在它的實現功能上,是一段帶有惡意目的的正常腳本代碼。

    不同腳本類型的一句話木馬:

    <%eval request(“cmd”)%>
    <%@ Page Language=”Jscript”%><%eval(Request.Item[“cmd”],”unsafe”);%>
     @eval($_POST[‘cmd’]); ?>
    <%Runtime.getRuntime().exec(request.getParameter("cmd"));%>
    

    Untitled Diagram.drawio (4)

    這里僅對PHP的一句話木馬進行分析,核心步驟如下:


    image-20211215203228477

    數據的傳遞

    ?$_GET$_POST$_COOKIES$_REQUEST$_FILE$_SERVER

    ?從遠程遠程URL中獲取數據: file_get_contentscurlsvn_checkout...(將需要執行的指令數據放在遠程URL中,通過URL_INCLUDE來讀取)

    ?從本地磁盤文件中獲取數據: filefile_get_contents...(將需要執行的指令數據放在本地磁盤文件中,利用IO函數來讀取)

    ?從數據庫中讀取(將需要執行的指令放在數據庫中,利用數據庫函數來讀取)

    ?從圖片頭部中獲取: exif_read_data...(將需要執行的指令數據放在圖片頭部中,利用圖片操作函數來讀取)

    代碼執行

    將用戶傳輸的數據進行執行

    ?代碼執行函數:evalassertsystem…執行(這是最普通、標準的代碼執行)

    ?LFI:includerequire...(利用瀏覽器的偽協議將文件包含轉化為代碼執行)

    ?動態函數執行:($()...PHP的動態函數特性)

    ?Curly Syntax:(${${…}}...這種思路可以把變量賦值的漏洞轉化為代碼執行的機會)

    內存馬

    有關Java內存馬以及JspWebShell的免殺我打算之后在Java代碼審計中詳細講解,這里就全部以PHP的腳本木馬為主。

    何為內存馬?

    內存馬是無文件攻擊的一種常用手段,隨著攻防演練熱度越來越高:攻防雙方的博弈,流量分析、EDR等專業安全設備被藍方廣泛使用,傳統的文件上傳的webshll或以文件形式駐留的后門越來越容易被檢測到,內存馬使用越來越多。

    Webshell內存馬,是在內存中寫入惡意后門和木馬并執行,達到遠程控制Web服務器的一類內存馬,其瞄準了企業的對外窗口:網站、應用。但傳統的Webshell都是基于文件類型的,黑客可以利用上傳工具或網站漏洞植入木馬,區別在于Webshell內存馬是無文件馬,利用中間件的進程執行某些惡意代碼,不會有文件落地,給檢測帶來巨大難度。

    PHP內存馬

    PHP內存馬,也叫做PHP不死馬、不死僵尸,在線下AWD中是常用手段之一。在蟻劍中也有專門的插件可以一鍵注入內存馬。原理也很簡單,相對于Java可以直接把整個shell寫入內存,php內存馬的實現則是將一個木馬反復寫入,達到無法刪除的目的。

    ignore_user_abort(true); //設置客戶端斷開連接時是否中斷腳本的執行
    set_time_limit(0); //設置腳本最大執行時間linux下可能不大好用
    unlink(__FILE__); //刪除自身
    $file = 'shell.php';
    $code = '';
    while (1) {
    file_put_contents($file, $code);//惡意代碼
    usleep(5000); //延遲執行可有可無
    }
    ?>
    

    本質上原理是不變大,執行死循環,然后刪除自身。但實際上這樣做還是會有文件落地,只是管理員刪不掉、刪不完罷了。我們也可以用利用fastcgi對php攻擊執行命令,但這樣是否算一個駐留wenshell還有待爭議。

    WebShell管理工具

    中國菜刀(Chopper)

    中國菜刀是一款專業的網站管理軟件,用途廣泛,使用方便,小巧實用。只要支持動態腳本的網站,都可以用中國菜刀來進行管理!在非簡體中文環境下使用,自動切換到英文界面。UNICODE方式編譯,支持多國語言輸入顯示。

    img

    蟻劍(AntSword)

    中國蟻劍是一款開源的跨平臺網站管理工具,它主要面向于合法授權的滲透測試安全人員以及進行常規操作的網站管理員。任何人不得將其用于非法用途以及盈利等目的,否則后果自行承擔!使用編/解碼器進行流量混淆可繞過WAF,并且有多款實用插件。

    項目地址:

    ?https://github.com/AntSwordProject/antSword

    img

    冰蝎(Behinder)

    冰蝎是一款基于Java開發的動態二進制加密通信流量的新型Webshell客戶端,由于它的通信流量被加密,使用傳統的WAF、IDS等設備難以檢測,目前在HVV中使用較多的一款工具。

    項目地址:

    ?http://github.com/rebeyond/Behinder

    image-20211215212435990

    哥斯拉(Godzilla)

    哥斯拉是一款繼冰蝎之后又一款于Java開發的加密通信流量的新型Webshell客戶端,內置了3種有效載荷以及6種加密器,6種支持腳本后綴,20個內置插件,也是目前在HVV中使用較多的一款工具。

    ?項目地址:https://github.com/BeichenDream/Godzilla

    image-20211215212156298

    C刀(Cknife)

    C刀是一款基于Java開發的完全基于配置文件的中國菜刀,跨平臺,腳本類型支持ASP、ASPX、PHP、JSP、JSPX、Customize,目前完成的功能有:文件管理、數據庫管理、模擬終端以及代理設置等。

    項目地址:

    ?https://github.com/Chora10/Cknife

    img

    Web版菜刀(WebKnife)

    WebKnife是陌小離練習ajax時候寫的一款半成品Web版菜刀,目前完成的功能有:文件管理,虛擬終端,文件查看,圖片查看,一鍵掛黑,作者居然還是個00后,tql!

    項目地址:

    ?https://github.com/MoLeft/WebKnife

    image-20211215212901421

    XISE

    XISE是小駿用易語言開發的一款類似于中國菜刀的Webshell網站管理工具,早些年做黑帽SEO的基本人手一份,現在已經停止更新,至于什么原因,大家都懂的!!!

    image-20211215213347206

    開山斧

    開山斧是一款基于Python 2.7X + QT4開發的一款跨平臺菜刀 (Win/Linux/Mac),體積比較大,剛出來時只用過一次,現在用的人應該不多,也已經停止更新了。

    項目地址:

    ?https://github.com/pyqteval/evlal_win


    image-20211215213540041

    K8飛刀

    K8飛刀是K8哥哥開發的一款Webshell網站管理工具,不得不說他開發的安全工具都很強大且實用,只不過個人感覺略顯臃腫,對新人來說可能不是很友好,有興趣的可以自己去看一下。

    項目地址:

    ?https://github.com/k8gege/K8tools

    image-20211215213619014

    Weevely

    Weevely是一款python編寫的生成和管理php webshell的安全測試工具,目前擁有30多個模塊:文件管理、命令執行、數據庫管理、端口掃描等功能,部分模塊不支持在Windows環境下使用。

    項目地址:

    ?https://github.com/epinna/weevely3

    image-20211215213910978

    WeBaCoo

    WeBaCoo是一款Perl語言編寫的Web后門工具,它的特別之處在于Web服務器和客戶端之間的通信載體是Cookie,這就意味著多數的殺毒軟件、網絡入侵檢測/防御系統、網絡防火墻和應用程序防火墻都無法檢測到該后門的存在。當然,這只是以前的介紹,現在基本都會被檢測了。

    項目地址:

    ?https://github.com/anestisb/WeBaCoo

    image-20211215213941743

    phpwebshell
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    將 payload 放在 -pf 所指定的路徑二、hide webshellpython hide_webshell.py hide_webshell.py normal.php -pf payload.txt. uid=502 gid=20 groups=20,12, ...此處省略
    WebShell基礎詳解
    2022-01-07 06:47:08
    顧名思義,“web”的含義是顯然需要服務器開放web服務,“shell”的含義是取得對服務器某種程度上操作權限。webshell常常被稱為入侵者通過網站端口對網站服務器的某種程度上操作的權限。由于webshell其大多是以動態腳本的形式出現,也有人稱之為網站的后門工具。
    顧名思義,“web”的含義是顯然需要服務器開放web服務,“shell”的含義是取得對服務器某種程度上操作權限。webshell常常被稱為入侵者通過網站端口對網站服務器的某種程度上操作的權限。由于webshell其大多是以動態腳本的形式出現,也有人稱之為網站的后門工具。
    Webshell 檢測綜述
    2022-12-15 09:45:32
    通過Webshell,攻擊者可以在目標服務器上執行一些命令從而完成信息嗅探、數據竊取或篡改等非法操作,對Web服務器造成巨大危害。Webshell惡意軟件是一種長期存在的普遍威脅,能夠繞過很多安全工具的檢測。許多研究人員在Webshell檢測領域進行了深入研究,并提出了一些卓有成效的方法。本文以PHP Webshell為例。
    目前國內安全人員常用的有:中國菜刀、中國蟻劍、冰蝎、哥斯拉、Metasploit、SharPyShell等,也有一些內部團隊開發的類似工具,但是并沒有對外公開。已被各大安全廠商提取其特征。任何人不得將其用于非法用途以及盈利等目的,否則后果自行承擔!這個工具超越于普通的webshell管理是因為其還擁有安全掃描、漏洞利用測試等功能,可以幫助滲透測試人員進行高效的測試工作。
    之前已經就CVE-2021-36394 Moodle Shibboleth認證模塊反序列化漏洞原理進行了詳細分析,并且給出了一條可實現修改管理員密碼的利用鏈: 最近發現有小伙伴放出了RCE的利用鏈,瞅了下確實可行,還是自己功力不夠啊,這里分享下對這條利用鏈的分析過程。
    WSH是一款功能強大的Web Shell生成器和命令行接口工具。WSH的客戶端支持命令歷史記錄和日志記錄功能,并且可以跟以前部署的標準Webshell交互。生成器使用了PHP、ASP和JSP來創建Webshell。它們使用隨機變量生成,因此每一個都擁有單獨的哈希。它們可以使用白名單或密碼進行配置,并允許通過自定義Header和參數進行發送。廣大研究人員可以使用下列命令將該項目源碼克隆至本地:
    一、前言 二、Windows入侵排查 檢查系統賬號安全 檢查異常端口、進程 檢查啟動項、計劃任務、服務 檢查系統相關信息 自動化查殺 日志分析 三、Linux入侵排查 賬號安全 歷史命令 檢查異常端口 檢查異常進程 檢查開機啟動項 檢查定時任務 檢查服務 檢查異常文件 檢查系統日志
    到達客戶現場后第一時間告知負責網絡相關的人員請勿對被篡改文件進行刪除或修改,這樣做的原因是方便后續對入侵途徑進行溯源分析。發生安全事件的服務器為Windows還是Linux或者其他的操作系統,確認好操作系統類型方便取證工作。是否為用戶誤操作所導致觸發告警。Windows系統下:使用“MD5校驗器”打開原有文件與疑似篡改文件,獲得MD5值后進行比對,如果兩文件MD5不一樣證明該文件被篡改。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类