SPI(Service Provider Interface),是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要是被框架的开发人员使用,比如java.sql.Driver接口,其他不同厂商可以针对同一接口做出不同的实现,MySQL和PostgreSQL都有不同的实现提供给用户,而Java的SPI机制可以为某个接口寻找服务实现。以JDBC为例
❤1
远程文件包含漏洞形式和本地文件包含漏洞差不多,在远程包含漏洞中,攻击者可以通过访问外部地址来加载远程代码。
远程包含漏洞前提,如果使用的是include和require函数,则需要php.ini配置如下(php5.4.34):
allow_url_fopen=on //默认打开
allow_url_include=on //默认关闭
写入一句话木马,危害极大。
远程包含漏洞前提,如果使用的是include和require函数,则需要php.ini配置如下(php5.4.34):
allow_url_fopen=on //默认打开
allow_url_include=on //默认关闭
写入一句话木马,危害极大。
它主要是从 Web 页面入侵到服务器主机,再从服务器主机渗透到域内环境的一个过程,而从 Web 到服务器的入侵也就是渗透测试的基础。一般来说,渗透测试基础可以分为四个方面,它们分别为目标确认、信息搜集、漏洞发现以及漏洞利用
最新盛大跑分系统源码 多功能完美运营微信+支付宝+银行卡+云闪付+抢单系统跑分系统源码+完整数据
做码商的那时候都知道的,功能以及各方面都是很牛的一个。
完美运营无BUG。VUE + ThinkPHP5 前后端分离
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
做码商的那时候都知道的,功能以及各方面都是很牛的一个。
完美运营无BUG。VUE + ThinkPHP5 前后端分离
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
利用社交工程技巧来引诱目标提供个人信息、密码、银行账户信息或其他敏感数据。他们可能会编织一个令人信服的故事,例如说目标的账户存在风险,需要立即提供密码来解决问题。或者他们可能会发送钓鱼邮件,伪装成信任的机构,要求目标点击恶意链接或下载恶意附件。
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
Private Relay
这个功能在“Apple ID => iCloud => Private Relay”中,相当于苹果提供的一个官方VPN,在Safari中浏览网页时会走代理,并且会提供两层跳转。第一层是苹果自己的服务器,第二层是第三方服务器
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
这个功能在“Apple ID => iCloud => Private Relay”中,相当于苹果提供的一个官方VPN,在Safari中浏览网页时会走代理,并且会提供两层跳转。第一层是苹果自己的服务器,第二层是第三方服务器
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
Hijacking,在与 Celer Network 团队进行沟通讨论后得到出问题的域名信息:cbridge-prod2.celer.network,并且根据用户的反馈,在攻击期间浏览器并没有提示证书错误,因此先排查下 DNS Hijacking 的可能性。(这里特别感谢 Twitter 用户 @greysign1 的帮助,协助我们快速排查 DNS Hijacking 的可能性)
很明显证书突然发生了变化,原来 Let’s Encrypt 签发的证书被替换为 GoGetSSL 签发的伪造证书。
GoGetSSL 可以签发免费 90 天的证书,cbridge-prod2.celer.network 很长一段时间都解析到 44.235.216.69,由于 44.235.216.69 的 AS 出现了异常,初步推测问题可能出现在 BGP 上,于是团队继续和 Celer Network 团队进行沟通获得攻击 IP: 54.84.236.100 ,对 IP: 54.84.236.100 进行分析,发现该 IP 所在的 AS14618 也出现了异常,继续对攻击 IP: 54.84.236.100 进行调查,发现该 IP 已被标记为恶意 IP
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
很明显证书突然发生了变化,原来 Let’s Encrypt 签发的证书被替换为 GoGetSSL 签发的伪造证书。
GoGetSSL 可以签发免费 90 天的证书,cbridge-prod2.celer.network 很长一段时间都解析到 44.235.216.69,由于 44.235.216.69 的 AS 出现了异常,初步推测问题可能出现在 BGP 上,于是团队继续和 Celer Network 团队进行沟通获得攻击 IP: 54.84.236.100 ,对 IP: 54.84.236.100 进行分析,发现该 IP 所在的 AS14618 也出现了异常,继续对攻击 IP: 54.84.236.100 进行调查,发现该 IP 已被标记为恶意 IP
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
该产品由Michael Stepankin利用第三方库中的预认证反序列化不受信任数据漏洞攻陷。Michael必须发挥创造力,使用自定义 Java 小工具链来利用该漏洞。jato
Oracle 访问管理器 (OAM)
Peter Json和Jang 在博客中发表了有关影响旧版本 OAM 的预认证不受信任数据反序列化漏洞的文章。
VMWare Workspace ONE 访问
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
Oracle 访问管理器 (OAM)
Peter Json和Jang 在博客中发表了有关影响旧版本 OAM 的预认证不受信任数据反序列化漏洞的文章。
VMWare Workspace ONE 访问
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
JARM 指纹混淆随机化技术实现
基于JARM指纹的C2识别
JARM的工作原理是主动向目标TLS服务器发送10个特殊构造的TLS Client Hello包,以在TLS服务器中提取独特的响应,并捕获TLS Server Hello响应的特定属性,然后以特定的方式对聚合的TLS服务器响应进行散列,产生JARM指纹。
因为Client Hello中的参数不同,最终返回的Server Hello都是不相同的,通过发送特殊构造的Client Hello握手包,以获取与之对应的特殊Server Hello响应,以此作为依据,最终产生TLS Server指纹。
JARM以不同的顺序发送不同的TLS版本、密码和扩展,以收集唯一的响应。
服务器是否支持TLS 1.3协议?
它会用1.2个密码来协商TLS 1.3吗?
如果我们将密码从弱到强排序,它会选择哪个密码?
这些是JARM本质上要求服务器提取最独特响应的异常问题类型。然后对这10个响应进行哈希处理以产生JARM指纹。
TLS Client Hello请求流量
Wireshark Filter:
ssl.handshake.type == 1
TLS Server Hello响应
多数情况下JARM指纹都是用以佐证TLS服务并进行标记,从而关联服务。当然,最理想的状态下,我们能够通过JARM指纹唯一的指向目标C2设施,但是实际来讲JARM指纹对于不同服务器部署的C2设施并不是唯一的,有很多因素都会对其扫描的结果造成影响。所以我们并不能作为行为测绘的指纹直接关联到某个C2的服务,仅能作为佐证的效果。
在开发RedGuard的过程中我发现,因为本身来讲RG的作用就是进行前置流量的控制,从而实现后端C2服务的隐匿性,在蓝队对流量交互进行分析的时候,针对RG的JARM指纹扫描结果在多数差异的环境下都是相同的,也就是说,在分析的过程中,这个指纹是可以起到佐证攻击设施的作用,从而破坏我们想要预期达到的隐匿性。
基础设施的更改(例如,IP 地址、托管平台)不会影响JARM签名,这使得常规的方式难以对其进行规避。
影响服务端JARM指纹的因素:
操作系统及版本
使用的库及版本
调用库的顺序
自定义配置
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
基于JARM指纹的C2识别
JARM的工作原理是主动向目标TLS服务器发送10个特殊构造的TLS Client Hello包,以在TLS服务器中提取独特的响应,并捕获TLS Server Hello响应的特定属性,然后以特定的方式对聚合的TLS服务器响应进行散列,产生JARM指纹。
因为Client Hello中的参数不同,最终返回的Server Hello都是不相同的,通过发送特殊构造的Client Hello握手包,以获取与之对应的特殊Server Hello响应,以此作为依据,最终产生TLS Server指纹。
JARM以不同的顺序发送不同的TLS版本、密码和扩展,以收集唯一的响应。
服务器是否支持TLS 1.3协议?
它会用1.2个密码来协商TLS 1.3吗?
如果我们将密码从弱到强排序,它会选择哪个密码?
这些是JARM本质上要求服务器提取最独特响应的异常问题类型。然后对这10个响应进行哈希处理以产生JARM指纹。
TLS Client Hello请求流量
Wireshark Filter:
ssl.handshake.type == 1
TLS Server Hello响应
多数情况下JARM指纹都是用以佐证TLS服务并进行标记,从而关联服务。当然,最理想的状态下,我们能够通过JARM指纹唯一的指向目标C2设施,但是实际来讲JARM指纹对于不同服务器部署的C2设施并不是唯一的,有很多因素都会对其扫描的结果造成影响。所以我们并不能作为行为测绘的指纹直接关联到某个C2的服务,仅能作为佐证的效果。
在开发RedGuard的过程中我发现,因为本身来讲RG的作用就是进行前置流量的控制,从而实现后端C2服务的隐匿性,在蓝队对流量交互进行分析的时候,针对RG的JARM指纹扫描结果在多数差异的环境下都是相同的,也就是说,在分析的过程中,这个指纹是可以起到佐证攻击设施的作用,从而破坏我们想要预期达到的隐匿性。
基础设施的更改(例如,IP 地址、托管平台)不会影响JARM签名,这使得常规的方式难以对其进行规避。
影响服务端JARM指纹的因素:
操作系统及版本
使用的库及版本
调用库的顺序
自定义配置
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang