電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區
創(chuàng )作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內不再提示
創(chuàng )作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>FindShell內存馬查殺工具

FindShell內存馬查殺工具

2022-05-06 | zip | 1.08 MB | 次下載 | 免費

資料介紹

授權協(xié)議 Apache-2.0
開(kāi)發(fā)語(yǔ)言 Java
操作系統 跨平臺
軟件類(lèi)型 開(kāi)源軟件
所屬分類(lèi) 管理和監控、 漏洞檢測掃描和評估

軟件簡(jiǎn)介

FindShell 是一個(gè)自動(dòng)的內存馬查殺工具,可以用于普通內存馬和Java Agent內存馬。

尤其針對難以查殺的Java Agent型內存馬,例如冰蝎等主流工具的內存馬都是Java Agent

主要分為以下四步:

  • 利用JDK提供的sa-jdiAPI基于黑名單dump存在于JVM真正的字節碼
  • 這種字節碼在很多情況下是非法的,所以我修改了ASM源碼以分析非法字節碼
  • 基于ASM做普通的分析和模擬棧幀做深入的分析
  • 如果發(fā)現內存馬將會(huì )嘗試自動(dòng)修復目標(利用Java Agent動(dòng)態(tài)恢復原始字節碼)

檢測

基本檢測:java -jar FindShell.jar --pid [目標JVM的PID]

這個(gè)pid的獲取方式可以通過(guò)jps命令找到你需要的目標JVMpid

這種情況下默認必檢測的類(lèi)有以下四個(gè)(最常見(jiàn)的Java Agent內存馬出現的地方)

類(lèi)名 方法名
javax/servlet/http/HttpServlet service
org/apache/catalina/core/ApplicationFilterChain doFilter
org/springframework/web/servlet/DispatcherServlet doService
org/apache/tomcat/websocket/server/WsFilter doFilter

并對以下的黑名單類(lèi)進(jìn)行檢測(如果類(lèi)名出現關(guān)鍵字則dump并分析該類(lèi)字節碼)

keyword.add("shell");
keyword.add("memshell");
keyword.add("agentshell");
keyword.add("exploit");
keyword.add("payload");
keyword.add("rebeyond");
keyword.add("metasploit");

注意:

  • 修改org.sec.Constant代碼可以自定義黑名單和關(guān)鍵字
  • 加入--debug參數保留從JVMdump出的字節碼供自行分析
  • 并不是所有類(lèi)的字節碼都可以dump成功,但常見(jiàn)的這些類(lèi)測試中沒(méi)問(wèn)題

修復

目前僅做了Java Agent內存馬的自動(dòng)修復,支持最常見(jiàn)的HttpServletApplicationFilterChain

檢測和修復:java -jar FindShell.jar --pid [PID] --repair

根目錄存在一個(gè)RepairAgent.jar文件,這不屬于該項目,但我將代碼放在org.sec.repair包中供參考

注意:修復手段僅靶機測試成功,在真實(shí)環(huán)境中使用請慎重

原理

  • 為什么不直接用Java AgentAlibaba Arthas工具對JVM當前字節碼進(jìn)行dump

Java Agent內存馬是調用redefineClass方法對字節碼進(jìn)行修改的。而調用retransformClass方法的時(shí)候參數中的字節碼并不是調用redefineClass后被修改的類(lèi)的字節碼。對于冰蝎來(lái)講,根本無(wú)法獲取被冰蝎修改后類(lèi)的字節碼。我們自己寫(xiě)Java Agent清除內存馬的時(shí)候,同樣也是無(wú)法獲取到被redefineClass修改后的字節碼,只能獲取到被retransformClass修改后的字節碼。通過(guò)JavaassistASM工具獲取到類(lèi)的字節碼,也只是讀取磁盤(pán)上響應類(lèi)的字節碼,而不是JVM中的字節碼

  • 那么怎樣獲得存在于JVM真正的字節碼

之前有寬字節安全的師傅提到利用sa-jdi工具對真正的當前字節碼進(jìn)行dump后反編譯結合人工分析,該工具也是基于JDK自帶的sa-jdi庫實(shí)現的,不過(guò)加入了一些過(guò)濾的選項

  • 什么情況下這樣的字節碼為什么是非法的

當目標類(lèi)存在lambda表達式的時(shí)候會(huì )導致非法字節碼,具體可以參考我的文章

  • 修改了哪些源碼以解析非法字節碼

參考連接:修改源碼說(shuō)明

  • 為什么要結合普通字節碼分析和模擬棧幀分析兩種呢

因為Runtime.exec這種調用很不常見(jiàn)且過(guò)程簡(jiǎn)單,用普通的字節碼分析即可解決。但是冰蝎的反射調用defineClass并反射invoke以實(shí)現代碼執行效果的方式,過(guò)程比較復雜,且反射調用是程序中的常見(jiàn)功能,簡(jiǎn)單的分析會(huì )導致誤報

  • 什么是模擬棧幀分析

參考文章:詳解Java自動(dòng)代碼審計工具實(shí)現??基于污點(diǎn)分析的JSP Webshell檢測

免責聲明

工具僅用于安全研究以,由于使用該工具造成的任何后果使用者負責

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開(kāi)關(guān)電源設計實(shí)例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動(dòng)電路設計》 溫德?tīng)栔?zhù)
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會(huì )AVR單片機與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看