通过分析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
JNDI高版本新思路利用LDAP
遇到高版本java,但是目标又只能打JNDI,实战中10个jndi,8个都是这种情况,因为jdk版本限制得太死了,不过好在我们有绕过的手法
目前就两个
RMI打本地工厂类
LDAP 高版本一直以来都是打的返回反序列化数据
LDAP+JNDI 介绍
漏洞复现
首先我们需要熟悉利用 LDAP 协议的一个基础流程
我们看看低版本是如何利用的
可以使用 java 代码构建一个 ldap 服务
当然为了更方便,我们可以使用工具来起一个 ldap 的服务
弹出计算器
服务端发送我们的恶意代码
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
遇到高版本java,但是目标又只能打JNDI,实战中10个jndi,8个都是这种情况,因为jdk版本限制得太死了,不过好在我们有绕过的手法
目前就两个
RMI打本地工厂类
LDAP 高版本一直以来都是打的返回反序列化数据
LDAP+JNDI 介绍
漏洞复现
首先我们需要熟悉利用 LDAP 协议的一个基础流程
我们看看低版本是如何利用的
可以使用 java 代码构建一个 ldap 服务
当然为了更方便,我们可以使用工具来起一个 ldap 的服务
弹出计算器
服务端发送我们的恶意代码
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
👍1
高版本绕过
我们将不能再加载远程类,这时我们又该如何利用呢
在关键步骤中
核心的数据都是源于 obj 对象,而我们的 obj 对象如下获取的,我们跟踪 decodeObject 方法,看看是否可以破局
这里主要说打本地工厂类
一共有三种类型
而第一个就是我们的以前 ldap 返回反序列化数据的打法
看到decodeRmiObject
跟进这个方法
返回了一个 Reference 对象,传入的是 classname 和 addr
然后来到 c_lookup 的
跟进,其实也就是我们 jndi 的 sink 点
首先判断我们的 obj 是不是 Reference 类型,如果是就看有没有工厂类,如果没有就看有没有远程的地址,这里我们是可以控制的,所以可以打一个低版本的 jndi 注入
看到decodeReference
这个没有!VersionHelper.isSerialDataAllowed()的限制
这里我们可以传入 Attributes attrs
可以看到依次从我们的 attrs 获取工厂类那些属性
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
我们将不能再加载远程类,这时我们又该如何利用呢
在关键步骤中
核心的数据都是源于 obj 对象,而我们的 obj 对象如下获取的,我们跟踪 decodeObject 方法,看看是否可以破局
这里主要说打本地工厂类
一共有三种类型
而第一个就是我们的以前 ldap 返回反序列化数据的打法
看到decodeRmiObject
跟进这个方法
返回了一个 Reference 对象,传入的是 classname 和 addr
然后来到 c_lookup 的
跟进,其实也就是我们 jndi 的 sink 点
首先判断我们的 obj 是不是 Reference 类型,如果是就看有没有工厂类,如果没有就看有没有远程的地址,这里我们是可以控制的,所以可以打一个低版本的 jndi 注入
看到decodeReference
这个没有!VersionHelper.isSerialDataAllowed()的限制
这里我们可以传入 Attributes attrs
可以看到依次从我们的 attrs 获取工厂类那些属性
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
❤1
记一次实战因网络架构引发的源码审计
初略看了下项目,目标系统为一个典型的基于Struts2框架的Java Web应用。
● 路由机制:由struts-config.xml等配置文件管理,将.action请求映射到对应的Action类。
● 视图层:使用JSP文件进行页面渲染,其中也夹杂部分业务逻辑。
● 业务层:核心业务代码封装在Java类中,部分功能可能被打包在Jar库内。
审计准备:使用JD-GUI等反编译工具,将项目中的所有.class文件及依赖库.jar文件反编译,恢复为可读的Java代码,以便进行后续分析
鉴权分析
首先从全局配置入手,查看项目xml,寻找鉴权代码
发现三个filter,这里一个个点开分析下
CommonCharEnc
处理请求和响应的字符编码设置
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
初略看了下项目,目标系统为一个典型的基于Struts2框架的Java Web应用。
● 路由机制:由struts-config.xml等配置文件管理,将.action请求映射到对应的Action类。
● 视图层:使用JSP文件进行页面渲染,其中也夹杂部分业务逻辑。
● 业务层:核心业务代码封装在Java类中,部分功能可能被打包在Jar库内。
审计准备:使用JD-GUI等反编译工具,将项目中的所有.class文件及依赖库.jar文件反编译,恢复为可读的Java代码,以便进行后续分析
鉴权分析
首先从全局配置入手,查看项目xml,寻找鉴权代码
发现三个filter,这里一个个点开分析下
CommonCharEnc
处理请求和响应的字符编码设置
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
❤1