beacon差异性分析
module_x86
首先,采用默认的C2Profile生成beacon文件,至于生成beacon的流程可以参考这篇文章。然后测试一下module_x86属性。修改C2Profile文件的stage块。添加set module_x86 "xpsservices.dll";这个语句。module_x86这个语句的作用是加载module_x86指定的模块,然后将beacon复写到该模块的内存区域。
在MalleablePE.java的pre_process会根据c2profile的set命令获取相对于的值,然后根据值对PE进行对于的操作。
在setModuleStomp这个方法中,首先将设置Characteristic为0x4000。然后在PE偏移为0x40的地方,添加大小为0x40的随机数据,接着在将C2Profile解析到的模块名(xpsservices.dll)写入PE偏移为0x40的地方,相当于重新覆盖直接写的随机数据的一部分。由此完成操作。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
module_x86
首先,采用默认的C2Profile生成beacon文件,至于生成beacon的流程可以参考这篇文章。然后测试一下module_x86属性。修改C2Profile文件的stage块。添加set module_x86 "xpsservices.dll";这个语句。module_x86这个语句的作用是加载module_x86指定的模块,然后将beacon复写到该模块的内存区域。
在MalleablePE.java的pre_process会根据c2profile的set命令获取相对于的值,然后根据值对PE进行对于的操作。
在setModuleStomp这个方法中,首先将设置Characteristic为0x4000。然后在PE偏移为0x40的地方,添加大小为0x40的随机数据,接着在将C2Profile解析到的模块名(xpsservices.dll)写入PE偏移为0x40的地方,相当于重新覆盖直接写的随机数据的一部分。由此完成操作。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
👍2
初始命令会调出如下所示的操作员控制台。操作员控制台包括我们从零售空间克隆的 SSID(CORP-RETAIL),并作为开放网络呈现给客户。控制台还包括列表中的一些已知网络(SFO FREE WIFI、FREE WIFI、Hotel 等)。已建立的客户端连接也显示在此处。同样有趣的是,一旦 Windows 客户端连接,我们就会看到该客户端尝试连接到 windowsupdat【e.】com 和 msftconnecttes【t.】com
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
👍1
利用 Supabase 进行数据泄露
在之前的报告中,我们介绍了恶意软件使用的各种 C2 服务器。然而,这种恶意软件因其对开源数据库服务 Supabase 的独特使用而引人注目。Supabase 是一种开源后端即服务,类似于 Firebase,提供基于 PostgreSQL 的数据库、身份验证、实时功能和存储。它可以帮助开发人员快速构建应用程序,而无需管理后端基础设施。此外,它还支持 RESTful API 来管理其数据库。该恶意软件利用这些 API 来存储被盗数据
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
在之前的报告中,我们介绍了恶意软件使用的各种 C2 服务器。然而,这种恶意软件因其对开源数据库服务 Supabase 的独特使用而引人注目。Supabase 是一种开源后端即服务,类似于 Firebase,提供基于 PostgreSQL 的数据库、身份验证、实时功能和存储。它可以帮助开发人员快速构建应用程序,而无需管理后端基础设施。此外,它还支持 RESTful API 来管理其数据库。该恶意软件利用这些 API 来存储被盗数据
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
适用于Tomcat 8,9,10,因为8以下不能调用getContextClassLoader()获取到StandardContext,但是可以用于shiro回显
从ApplicationFilterChain找request和response还是太深的调用栈了。
从最开始的Http11Processor开始看起
其核心方法肯定是service(),在service()方法内,调用了getAdapter().service(request,response),其中的参数request,response静态变量分别是Request和Response对象
获取Request、Response,那参照上面JSP获取StandardContext的方法2
我草,直接在Http11Processor反射取request和response字段的值不就完了,那怎么获取当前环境的Http11Processor呢?
request和response并不是Http11Processor的字段,而是其父类AbstractProcessor的字段
找下看request和response在哪赋的值,栈里面可以看出在Http11Processor.service的上两帧,调用了AbstarctProtocol$ConnectionHandler#process
在调用到AbstractProcessorLight之前,有两个processor == null的if块。第一个是从recycledProcessors出栈,也就是看看缓存表里是否已有Processor了;第二个if块内,也就是缓存表里没有Processor,就调用createProcessor()新建一个。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
从ApplicationFilterChain找request和response还是太深的调用栈了。
从最开始的Http11Processor开始看起
其核心方法肯定是service(),在service()方法内,调用了getAdapter().service(request,response),其中的参数request,response静态变量分别是Request和Response对象
获取Request、Response,那参照上面JSP获取StandardContext的方法2
我草,直接在Http11Processor反射取request和response字段的值不就完了,那怎么获取当前环境的Http11Processor呢?
request和response并不是Http11Processor的字段,而是其父类AbstractProcessor的字段
找下看request和response在哪赋的值,栈里面可以看出在Http11Processor.service的上两帧,调用了AbstarctProtocol$ConnectionHandler#process
在调用到AbstractProcessorLight之前,有两个processor == null的if块。第一个是从recycledProcessors出栈,也就是看看缓存表里是否已有Processor了;第二个if块内,也就是缓存表里没有Processor,就调用createProcessor()新建一个。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
LDAP概述
对于那些并不熟悉Lightwieght Directory Access Protocol (LDAP)人来讲,它大概像是一个目录信息。虽然LDAP在很多平台被使用,但在windows的域环境中它却是 Active Directory Services (ADS)的核心,ADS负责windows域的认证和授权,但也储存了大量的信息,这些信息包括但不限于域用户,计算机用户,域用户组,安全策略和软件更新。每一个对象都有多种属性与之关联,并且其中大部分的属性都可以通过LDAP查询。比如每一个用户都有一个”Created”的属性包含了账号创建时间。同样的每一个账户都有一个” ServicePrincipleName”属性,这也是本文接下来的重点。
微软的文档中是这样陈述的:”ServicePrincipleName(SPN)是客户端用来唯一标识一个服务实例的名称”,在略读后发现这大概为了便利widnows域中的Kerberos认证,但我们可以用它来做一些其他的事,对于我们来说,多值的ServicePrincipleName是很方便的。因为在Active Directory中任何一个用户和计算机对象都储存了账户在域中的运行的服务信息。所以这就可以很方便的定位像IIS、SQL Server,及LDAP。同样也可以很方便的查询到对应的用户在哪里登陆(比如域管理员)。这相对来说要简单些,因为SPN有一个标准化的命令约定。SPN格式为SERVICE/HOST,但有时也会包含端口像 SERVICE/HOST:PORT。 比如,如果一个域用户曾在acme.com域中运行DNS和SQL Server服务
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
对于那些并不熟悉Lightwieght Directory Access Protocol (LDAP)人来讲,它大概像是一个目录信息。虽然LDAP在很多平台被使用,但在windows的域环境中它却是 Active Directory Services (ADS)的核心,ADS负责windows域的认证和授权,但也储存了大量的信息,这些信息包括但不限于域用户,计算机用户,域用户组,安全策略和软件更新。每一个对象都有多种属性与之关联,并且其中大部分的属性都可以通过LDAP查询。比如每一个用户都有一个”Created”的属性包含了账号创建时间。同样的每一个账户都有一个” ServicePrincipleName”属性,这也是本文接下来的重点。
微软的文档中是这样陈述的:”ServicePrincipleName(SPN)是客户端用来唯一标识一个服务实例的名称”,在略读后发现这大概为了便利widnows域中的Kerberos认证,但我们可以用它来做一些其他的事,对于我们来说,多值的ServicePrincipleName是很方便的。因为在Active Directory中任何一个用户和计算机对象都储存了账户在域中的运行的服务信息。所以这就可以很方便的定位像IIS、SQL Server,及LDAP。同样也可以很方便的查询到对应的用户在哪里登陆(比如域管理员)。这相对来说要简单些,因为SPN有一个标准化的命令约定。SPN格式为SERVICE/HOST,但有时也会包含端口像 SERVICE/HOST:PORT。 比如,如果一个域用户曾在acme.com域中运行DNS和SQL Server服务
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
❤1
Zabbix SQL Injection
该漏洞存在于httpmon.php脚本中,未登录用户也可访问。
这是由于Zabbix预先设定了一个guest用户,未登录用户都被设定为guest用户的访问权限。
如果guest用户被禁用,将不能访问httpmon.php脚本,利用该漏洞。
可以在管理员的管理面板中禁用guest用户。
从下图中可以看出来applications参数存在sql注入。
进入了$application变量中,跟踪add2favorites函数
进入$values数组的value_id中,再往下跟踪就可以发现变量没有经过任何过滤进入到sql语句中
变量处理经过了一层mysql_real_escape_string函数的过滤。
在上面那个漏洞中,下面的语句可以读取管理员的用户名与密码md5的hash值
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
该漏洞存在于httpmon.php脚本中,未登录用户也可访问。
这是由于Zabbix预先设定了一个guest用户,未登录用户都被设定为guest用户的访问权限。
如果guest用户被禁用,将不能访问httpmon.php脚本,利用该漏洞。
可以在管理员的管理面板中禁用guest用户。
从下图中可以看出来applications参数存在sql注入。
进入了$application变量中,跟踪add2favorites函数
进入$values数组的value_id中,再往下跟踪就可以发现变量没有经过任何过滤进入到sql语句中
变量处理经过了一层mysql_real_escape_string函数的过滤。
在上面那个漏洞中,下面的语句可以读取管理员的用户名与密码md5的hash值
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
❤1