1.冰蠍(Behinder)
下載鏈接:https://github.com/rebeyond/Behinder/releases
截止至我發貼時,冰蠍最新版本是3.0,客戶端兼容性有所提升(但仍不是所有JDK都支持的,如果你jar不能運行,看看是不是環境不滿足要求,淦)
說點老生常談的東西
冰蠍使用了Java開發、加密傳輸,而且會常常更新,猝不及防。。。良心、神器,,,基本的webshell管理功能都有,而且很強大
所以被盯上很久了
3.0以前的冰蠍采用了一個叫密鑰協商的機制
借這圖展示一下老冰蠍工作流程:
客戶端GET請求密鑰是帶密碼明文的傳輸,客戶端獲取密鑰后,采取某種加密算法加密payload,之后POST過去,然后服務端采用同樣的加密方法應答傳回客戶端
那么是如何通過檢測流量獲得冰蠍特征的呢?
首先是通過密鑰協商機制檢測
事實上,冰蠍客戶端會發出兩次請求,即二次密鑰協商,並將兩次獲得的密鑰異或來判斷密鑰可用性
這里有位師傅分析過此原理:https://xz.aliyun.com/t/7606
這就很容易被檢測到可疑行為,這部分呢,作者就是這么寫的,除非你反編譯獲得源碼,修改他本來的代碼,改掉二次密鑰協商的過程,不然不好搞
這部分,在3.0中改了(淚目),去除了動態密鑰協商機制,采用預共享密鑰,全程無明文交互,密鑰格式為md5("admin")[0:16]
一個簡單的冰蠍3.0使用教程:https://blog.csdn.net/qq_41874930/article/details/107916317
第二是通過HTTP請求特征檢測
比如那個user-agent,正常來說每個shell會從十多個自帶的ua中隨機選一個,問題是這些ua在現在會不會有些過時
如果檢測的話,也容易殺敵一千自損八百,想繞過也相對來說比第一個密鑰協商簡單,不嫌麻煩抓包改包,一勞永逸反編譯更新ua
另外冰蠍數據包總是伴隨着大量的content-type:application什么什么,無論GET還是POST,這種特征可能會被檢測出來
還有什么諸如 accept比較奇怪 、cache-control與pragma默認固定這些,好像據一些師傅反映,3.0也沒有改
具體代碼參考:https://zhuanlan.zhihu.com/p/187482560
第三可以通過行為檢測
如果發現有可疑的上傳行為,來,拉出來單練
以上是一些特征,最關鍵的密鑰協商3.0版本已經改了,剩下的一些特征多為弱類型
冰蠍魔改教程:https://www.anquanke.com/post/id/212271#h2-13
關於各種shell代碼,都可以看到,不比較了,請參考這篇文章:https://zhuanlan.zhihu.com/p/188664831
2.哥斯拉
哥斯拉Godzilla
流量加密效果更強,插件更多,號稱“流量加密過市面上全部WAF”
下載鏈接:https://github.com/BeichenDream/Godzilla/releases
截止到我發帖更新到了2.96版本(下載不了的話可能需要一些特殊方法你懂的)
不同shell的功能點有差別
三大類payload
6種加密器,6種腳本后綴
如果有需求,可以自行修改全局配置請求頭headers、加混雜數據leftData、rightData,很nice,這也導致流量層面的檢測困難增大(個人感覺)
更多功能介紹參考:https://www.freebuf.com/news/247104.html
運行原理參考:https://www.freebuf.com/sectool/252840.html
靜態的查殺概率還是比較高的,但是流量特征嘛。。。
這有一篇文章:https://www.anquanke.com/post/id/224831#h2-6
提供了一些思路。。。
參考文章:https://www.freebuf.com/articles/web/257956.html
未經允許,禁止轉載