安全矩阵

 找回密码
 立即注册
搜索
查看: 1530|回复: 0

内存马查杀思路

[复制链接]

260

主题

275

帖子

1065

积分

金牌会员

Rank: 6Rank: 6

积分
1065
发表于 2022-6-28 22:22:02 | 显示全部楼层 |阅读模式
本帖最后由 luozhenni 于 2022-6-28 22:21 编辑


内存马查杀思路
原文链接:内存马查杀思路
黑战士 2022-06-28 11:37 发表于广东
以下文章来源于Th0r安全 ,作者k4n5ha0

前言:

本篇文章由k4n5ha0哥哥编写,发表已经获得他本人同意,首发于:   https://my.oschina.net/9199771/blog/5529686
参考地址:
https://developer.aliyun.com/article/574406
https://mp.weixin.qq.com/s/Whta6akjaZamc3nOY1Tvxg#at
https://github.com/4ra1n/FindShell
https://blog.csdn.net/lff0305/article/details/70037807
https://blog.csdn.net/qq_31865983/article/details/98480703

1)获取 class 字节码的方法
oracle 的 jdk 的 lib 目录中 sa-jdi.jar 可以 dump 出被 javaagent “增强” 的 java 字节码(增强包括业务增强或恶意后门),也就是实际内存中执行的字节码
启动命令:
java -cp sa-jdi.jar sun.jvm.hotspot.HSDB
它通过进程 pid 直接 attach,例如使用 jps 命令

然后在 tools 目录里

选择 Class Browser 可以搜索类名

还能输入 sql 查找满足条件的类

又或者使用 js 代码进行 class 的查找
C:\jdk8>java -cp .;./lib/sa-jdi.jar sun.jvm.hotspot.tools.soql.JSDB 7540Attaching to
process ID 7540, please wait...Debugger attached successfully.Server compiler detected.JVM
version is 25.121-b13jsdb>jsdb> load("c:\\dev\\a.js");
这里提一句 java9 开始,该功能直接内置


hsdb 是 gui 模式,clhsdb 是命令行模式

2)使用哥斯拉注入实验性内存马
3)使用 Class Browser 可以直接搜索到这个类

我们把这个类写到硬盘上,点击 Create .class File 按钮

如下图,可惜 360 暂时还不查杀

4)反编译这个类
4.1)GDA 反编译

4.2)vscode 的 Decompiler


等等各种方式可以反编译得到 java 源码

5)扫描告警
不管是 class 文件还是 java 文件都可以进行进行扫描进行内存马的检测
微软的 md 对其中一种内存马的 java 源码可以进行查杀



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-19 23:09 , Processed in 0.012341 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表