webshell免殺技術(shù)強(qiáng)特征+加密
免殺問題基礎(chǔ)知識
知識點(diǎn):
環(huán)境準(zhǔn)備---單機(jī)系統(tǒng)&殺毒產(chǎn)品&流量差評
Webshell-----靜態(tài)對抗i&動態(tài)對抗&工具對抗
Webshell-----代碼混淆&流量繞過&源碼魔改
章節(jié)點(diǎn):
1.免殺對象----火絨/X60全家桶/DF/卡巴/Nod32/EDR產(chǎn)品等
2.源碼魔改----CS/MSF/Minikatx/冰蝎/哥斯拉/Fscan/Frp
3.靜態(tài)手法----特征碼/抗沙箱/抗調(diào)試/加密混淆&隱寫分離&內(nèi)存封裝&黑白等。
4.動態(tài)手法-----API操作/注入劫持/HOOK回調(diào)/DEP/APC/ASMI/ETW/Syscall等
5.保護(hù)手法-----待補(bǔ)充
殺毒產(chǎn)品:文件本身有問題檢測到了
檢測產(chǎn)品:檢測誰在攻擊,流量產(chǎn)品
簡要點(diǎn):
1.認(rèn)知需要免殺的對象有哪些
各類殺毒產(chǎn)品,EDR,流量產(chǎn)品
2.認(rèn)知需要免殺的目標(biāo)有哪些
webshell/內(nèi)存馬
C2/C2類遠(yuǎn)程后門
滲透測試安全工具類
紅隊(duì)APT釣魚文檔類
表面操作,行為操作,工具操作
3.認(rèn)知需要免殺的技術(shù)有哪些
靜態(tài)手法,動態(tài)手法,保護(hù)手法,源碼魔改

實(shí)驗(yàn)操作
#表面性操作
1哥斯拉普通腳本,cs普通腳文件,冰蝎
火絨 kill
360全 kill
default kill
#操作行為
2弱雞免殺工具免殺
火絨 可以放進(jìn)去 哥斯拉執(zhí)行命令無提示,哥斯拉敏感命令可以執(zhí)行
360全 可以放進(jìn)去,哥斯拉蟻劍執(zhí)行命令無提示,哥斯拉,蟻劍敏感命令被攔截(行為性操作)
default 可以放進(jìn)去,哥斯拉執(zhí)行命令無提示,哥斯拉敏感命令可以執(zhí)行
3.XG免殺工具免殺
火絨 可以放進(jìn)去,哥斯拉,蟻劍,冰蝎執(zhí)行命令無提示,哥斯拉,蟻劍敏感命令可以執(zhí)行,冰蝎的敏感命令被攔截
360全 可以放進(jìn)去 哥斯拉,蟻劍,冰蝎執(zhí)行命令無提示,哥斯拉,蟻劍,冰蝎子敏感命令可以執(zhí)行,哥斯拉冰蝎的敏感命令被攔截
default 可以放進(jìn)去,哥斯拉,蟻劍執(zhí)行命令無提示,哥斯拉,蟻劍敏感命令可以執(zhí)行
#工具指紋
源碼魔改(指紋打亂,打亂邏輯繞過)
對抗:流量產(chǎn)品,殺毒軟件
換冷門工具(自己寫的工具)讓產(chǎn)品沒來的及集成這工具的檢測導(dǎo)致繞過(特征庫)
引出問題:
webshell工具里面的后門代碼不被殺毒檢測到---混淆
webshell工具里面的功能操作不被殺毒攔截到---魔改
websehll工具里面的操作連接不被平臺捕獲到---魔改
suricata -c /etc/suricata/suricata.yaml -i ens37 -s /home/xuan/tools/suricata-rules-master/Behinder/Behinder3.rules
cd /var/log/suricata/
cat fast.log

冰蝎子反編譯
通過對冰蝎子的數(shù)據(jù)包分析
1.請求數(shù)據(jù)包頭的兩個(gè)強(qiáng)特征
2.已知數(shù)據(jù)的提交內(nèi)容加密算法
流量平臺設(shè)備可以分析數(shù)據(jù)包的強(qiáng)特征+對提交數(shù)據(jù)進(jìn)行默認(rèn)的算法去解密去分析是否冰蝎子工具攻擊連接
冰蝎子強(qiáng)特征
1 Accept: application/json. text/javascript, */*;q=0.01
2 Accept-Language:zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
#后面操作獲得的絕對路徑
C:\Users\31062\Desktop\behinder\Behinder.jar_Decompiler.com\net\rebeyond\behinder\core\Constants.java
C:\Users\31062\Desktop\behinder\Behinder.jar_Decompiler.com\net\rebeyond\behinder\core\ShellService.java
以及下面的加密部分
C:\Users\31062\Desktop\behinder\Behinder.jar_Decompiler.com\net\rebeyond\behinder\resource\transprotocol\default_xor.config
C:\Users\31062\Desktop\behinder\Behinder.jar_Decompiler.com\net\rebeyond\behinder\resource\transprotocol\aes_with_magic.config
解決1:繞過識別(魔改打亂特征,新增加密算法)
解決2:繞過查殺(魔改打亂特征,新增加密算法)
Jar反編譯打包構(gòu)建
反編譯jar

環(huán)境配置
新建項(xiàng)目 運(yùn)行版本 JDK1.8
lib配置:項(xiàng)目結(jié)構(gòu)--->模塊--->依賴。Behinder.jar包(behinderv4.0解壓后的里面jar文件)
反編譯后的解壓文件跟我們新創(chuàng)建的項(xiàng)目文件放同一個(gè)目錄
main配置:項(xiàng)目結(jié)構(gòu)--->工件----從模塊中創(chuàng)建jar---選擇主類main(behinder)
后續(xù)會用到數(shù)據(jù)庫文件,data.sql(behinderv4.0解壓后的lib里面的lib里面sql文件),導(dǎo)入同一個(gè)文件下

主類

修改強(qiáng)特征
搜索強(qiáng)特征的文件位置,復(fù)制過去src中,用到哪一個(gè)修改哪一個(gè)

找到相應(yīng)文件,修改里面的強(qiáng)特征
修改位:
Accept:aaatext/html,image/webp,image/apng,/q;=0.8
Accept-Language:qazwsxen;q=0.7
"User-Agent","qqqwwweeeerutooioooooo"
打包:構(gòu)建項(xiàng)目--->構(gòu)建工件在out中打包成jar,運(yùn)行jar包查看效果

強(qiáng)特征修改成功,下面是解密操作

傳輸協(xié)議配置
加密數(shù)據(jù)調(diào)整
搜索這算法的關(guān)鍵字在哪一個(gè)位置
復(fù)制路徑的路徑,驗(yàn)證
新增加密協(xié)議
1.找到了存放配置地方
怎么寫好后如何集成進(jìn)去
存放配置地方,我們可以看源文件中是寫入的數(shù)據(jù)是那種json格式。在冰蝎子里面有換行的
先查看冰蝎子的自身功能,【新建協(xié)議功能】我們新建一個(gè)加密算法,內(nèi)容復(fù)制上面的加密解密算法,兩個(gè)寫的對應(yīng)可以保存成功。然后點(diǎn)擊分享,就生成了我們需要的【源代碼中的json格式】
[{"encode":"private byte[] Encrypt(byte[] data) throws Exception\n{\n ......


算法協(xié)議
ai去寫deepseek,按照之前的加密算法+rot13生成新的加密算法,解密算法
打包之后再【冰蝎子的傳輸協(xié)議】上生成服務(wù)端,會出現(xiàn)shell的新文件
然后我們放入win10全360服務(wù)器中,沒有kill,刪除了shell的新文件
關(guān)于傳輸協(xié)議只顯示4個(gè)的問題
跟我們上傳的后綴名有關(guān),如果是php腳本文件,傳輸協(xié)議顯示跟php有關(guān)傳輸協(xié)議

出現(xiàn)問題:只有jsp腳本,其他語言腳本如何解決
【冰蝎子的傳輸協(xié)議】上點(diǎn)擊遠(yuǎn)程
deepseek問在上面的代碼基礎(chǔ)上改用php代碼寫
直接生成服務(wù)器 ,生成的shell.php代碼,360沒殺毒
連接自定義的php代碼,文件可以連接上,數(shù)據(jù)包發(fā)生更改,強(qiáng)特征被更改
下面的加密數(shù)據(jù)被修改
例子:冰蝎4.0流量分析及魔改--先知社區(qū)
360可以正常連接

打包合成
文件集合
之前文件里面的其他文件,自己的behinder.jar包,自己編譯出來的out里面的server里面的文件執(zhí)行自己的包,連接360。查看命令執(zhí)行方面
net user源碼再怎么修改仍然無法執(zhí)行,權(quán)限太低了


哥斯拉反編譯
環(huán)境測試
準(zhǔn)備工作java decompiler online /APK decompiler-Decompiler.com進(jìn)行反編譯下載
使用IDEA,在lib里面放入哥斯拉文件里面的除了jar外的其他文件
main配置:項(xiàng)目結(jié)果---工件---從模塊中創(chuàng)建jar---選擇主類main(ui)

哥斯拉上點(diǎn)擊關(guān)于,出現(xiàn)版本作者信息,我們先從這里修改,查看是否能修改成功
先進(jìn)行copy,去src里面修改,刪掉可以解決編譯速度問題,解決錯(cuò)誤問題修改的文件可能也引用了其他的類,改相關(guān)問題, 其他有報(bào)錯(cuò)問題刪除,保證自己修改的不報(bào)錯(cuò)即可
它會校驗(yàn)是否是官方版本,我們需要把它關(guān)閉掉【關(guān)鍵字查找/報(bào)錯(cuò)信息】沒查到關(guān)鍵字,4.01找版本校驗(yàn)失敗直接退出,一直修改校驗(yàn)邏輯(if里面注釋),一種去掉exit
#版本信息路徑
C:\Users\31062\Desktop\gesila\godzilla\core\ui\MainActivity.java
#校驗(yàn)文件
if(hashString!=null)
{
if(jarFile != null)
{
if(!jarHashString.equals(hashString))
}
}

環(huán)境配置成功,環(huán)境正常

流量特征修改
1.流量分析特征代碼
2.特征對應(yīng)代碼端
3.修改代碼端打擾魔改
關(guān)閉360服務(wù)器里面的軟件,我們上傳2個(gè)shell查看強(qiáng)特征
#強(qiáng)特征
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
加密數(shù)據(jù)
#header路徑
C:\Users\31062\Desktop\gesila\godzilla\core\ui\component\frame\ShellSetting.java
#加密數(shù)據(jù)
C:\Users\31062\Desktop\gesila\godzilla\shells\cryptions\phpXor\PhpXorRaw.java
C:\Users\31062\Desktop\gesila\godzilla\shells\cryptions\phpXor\PhpXor.java
User-Agent: User-AgentMyTestAgent
Accept: Acceptappl1QAAXXWn/xml;q=0.9,image/webp
Accept-Language: Accept-LEDCagezen-US,en;q=0.9
數(shù)據(jù)修改成功

Webshell生成
使用工具集集成免殺webshell
生成php3個(gè)模式的后門,分別保存為1.php 2.php 3.php
放到360【360軟件關(guān)閉】,狀態(tài):哥斯拉連接成功
查看源代碼,后門代碼是有專門生成shell的模板文件,里面也包含pass和key是其他文件傳遞過來我們直接修改模板文件,直接修改為免殺的shell,參考XG狀態(tài)webshell免殺工具
注意:工具生成的免殺有一個(gè)問題,里面的一個(gè)變量echo base64_decode/**/($G1WNEr),變量不能以數(shù)字開頭,否則連接不上


浙公網(wǎng)安備 33010602011771號