混淆變形的Webshell分析是怎樣的
WebShell是什麼?
最初,Webshell常被稱為一種供Web伺服器管理員遠端管理伺服器的腳本。後來,隨著一些Webshell管理工具的誕生,使得獲取Web權限的過程被很大程度上地簡易化,於是逐漸被稱為Web入侵的工具腳本。
Webshell不同於漏洞,而是利用應用漏洞或伺服器漏洞(檔案上傳漏洞、檔案包含漏洞等)將腳本檔案上傳到伺服器進行後續利用,屬於滲透測試的後續利用和ATT&CK的TA0002 Execution (執行)階段。
圖1 TA0002
參考來源:https://mitre-attack.github.io/attack-navigator/(ATT&CK導覽器)
攻擊者為了繞過偵測和防護設備、軟體等的偵測,都會經常變換自己的Webshell寫法,可以保證功能的前提下確保自己的腳本不會被偵測到,其中php腳本較為突出,由於php腳本語言有許多可利用的函數,因此導致了php可以有千變萬化的混淆和變形寫法。
一句話木馬也屬於Webshell腳本,對一句話木馬感興趣的小夥伴可以參考上期的《一句話木馬的多種變形方式》自行學習和了解,本期文章主要不再贅述。
背景
之前分析Webshell時,發現有一類Webshell完全能繞過各種不同的偵測軟體,這類腳本常常在程式碼層面看來似乎毫無意義,也沒有常見的Webshell特徵,但經過層層的抽絲剝繭,就不難發現這一類混淆腳本的思路,剛好近期收到一個有趣的混淆腳本,向小伙伴分享該腳本的分析過程,也希望能起到拋磚引玉的作用。
初見腳本
第一眼看到這個腳本的時候就從他的內容中看到了明晃晃的eval函數,於是本能地將這一部分程式碼提取出來,但是還不足以證明什麼,因為內容部分全是看起來毫無頭緒的亂碼,沒有絲毫WebShell的痕跡。
仔細發現可以發現除了eval之外,還呼叫了gzinflate、base64_decode、str_rot13這三個函數,或許可以從這三個函數開始尋找分析的突破口。
圖2 腳本內容
函數解釋
str_rot13()
ROT13 編碼把每一個字母在字母表中向前移動13個字母。數字和非字母字元保持不變(凱撒加密)。
base64_decode()
對字串內容進行base64編碼。
Gzinflate
對資料預設使用ZLIB_ENCODING_RAW編碼方式,使用deflate資料壓縮演算法,實際上是先用LZ7壓縮,然後再用霍夫曼編碼壓縮。
分析
1.內容解析
圖3 呼叫echo指令
使用echo指令對內容進行解析,結果發現str_rot13()被執行了,於是重複這種思路,嘗試一層一層將原有內容剝離出來。
圖4 解析結果
2.重複解析
##經過三次echo在命令的重複解析之後,出現的終於不再是單調的程式碼了,證明分析的方向很可能是正確的,而且從程式碼的量來看感覺像是個擁有多種功能的木馬,俗稱大馬。3.呼叫eval函數來執行程式碼內容
#好傢伙,果然是個大馬。 經過究發現,木馬的功能包括了系統資訊取得、目錄讀取、檔案下載、檔案上傳等功能。以上是混淆變形的Webshell分析是怎樣的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

情境描述假定在真實生產環境中,存在一個RCE漏洞,可以讓我們取得WebShell環境的安裝首先在GetHub上拉去漏洞的鏡像前,需提前在centos上安裝nginx和tomcat以及配置好nginx以及tomcat的相關設定文件,在使用docker將映像拉取下來,進行漏洞的複現。 1.先將docker環境搭建起來2、測試tomcat是否可以訪問根據上圖可以看出,後端的tomcat是可以訪問的3、查看docker中nginx反向代理的負載平衡4、查看docker中lbsnode1中的ant .jsp文

1.打開網址後,發現是一個上傳頁面2.直接上傳後綴名為php的文件,發現無法上傳3.採用BurpSuite進行抓包,將上傳的後綴為php的文件的後綴改為php5,即可繞過4.使用菜刀進行連接,在var/www/html的目錄中,發現帶有KEY的文件,打開即可看到key5.打開另一個網址,同時也是一個上傳頁面,但是設置了上傳名單,僅允許以.gif.jpg.png為後綴檔案透過上傳6.我們寫一個txt一句話木馬,將其後綴改為jpg7.在上傳的時候,採用BurpSiuit抓包,並對文件後綴進行修改,顯

隨著網路安全問題的日益突出,各大網站和應用程式的安全性也成為越來越重要的問題。尤其是在網站維運管理中,常常需要使用WebShell這種工具來進行維護與修復,但WebShell也常常被駭客利用,成為攻擊者入侵的一個入口。本文將介紹寶塔面板的WebShell安全性設置,幫助網站管理員提高網站的安全性。一、WebShell的概念與常見用途1.概念WebShell是

這篇文章要為大家介紹帝國cms框架的Webshell。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

本機環境組成從保留的截圖來看,對方的php版本是5.6.40,所以我要搭一個apache+php5.6.40的測試環境。開啟virtualbox,連結複製出來一份centos鏡像系統,依照以下流程配置一遍。 1.安裝apacheyuminstall-yhttpdhttpd-vServerversion:Apache/2.4.6(CentOS)Serverbuilt:Aug8201911:41:182.安裝php5.6yum-yinstallepel-releaserpm-Uvhhttps://mi

SINE安全在對某客戶的網站進行網站漏洞檢測與修復發現該網站存在嚴重的sql注入漏洞以及上傳webshell網站木馬文件漏洞,該網站使用的是某CMS系統,採用PHP語言開發,mysql數據庫的架構,該網站原始碼目前是開源的狀態。某CMS是專注於提供付費知識的社交CMS系統,知識付費在目前的互聯網中有這很高的需求,該系統可以對文件進行分享,收費下載,用戶發布的知識內容可以隱藏,提供給付費客戶閱讀。程式碼比較精簡深受廣大站長們的喜歡,網站漏洞主要發生在上傳壓縮套件的同時,建構惡意解壓程式碼講zip套件裡的w

巡檢查殺首先,我明白自己要做的不是找到這個上傳的位置是哪裡出現的,我應該登上伺服器進行webshel查殺,進行巡檢,找找看是否被別人入侵了,是否存在後門等等情況。雖然報的是我們公司的ip位址,萬一漏掉了幾個webshell,被別人上傳成功了沒偵測出來,那伺服器被入侵瞭如何能行。所以我上去巡檢了伺服器,上傳這個webshell查殺工具進行查殺,使用netstat-anpt和iptables-L判斷是否存在後門建立,查看是否有挖礦程序佔用CPU,等等,此處不詳細展開了。萬幸的是伺服器沒有被入侵,然後

WebShell是什麼?在最初的時候,Webshell經常被用來作為Web伺服器管理員對伺服器進行遠端管理的一類腳本的簡稱。後來,隨著一些Webshell管理工具的誕生,使得獲取Web權限的過程被很大程度上地簡易化,於是逐漸被稱為Web入侵的工具腳本。 Webshell不同於漏洞,而是利用應用漏洞或伺服器漏洞(檔案上傳漏洞、檔案包含漏洞等)將腳本檔案上傳到伺服器進行後續利用,屬於滲透測試的後續利用和ATT&CK的TA0002Execution(執行)階段。圖1TA0002參考來源:https
