红队小工具 | 利用DCERPC协议,无需认证获取Windows机器主机信息和多网卡信息
工具主要用于探测内网Windows机器的操作系统信息、域名、主机名以及多网卡信息,可以辅助红队快速定位多网卡主机,以及判断机器是否在域内
优点: 无需认证,只要目标的135端口开放即可获得信息
工具主要用于探测内网Windows机器的操作系统信息、域名、主机名以及多网卡信息,可以辅助红队快速定位多网卡主机,以及判断机器是否在域内
优点: 无需认证,只要目标的135端口开放即可获得信息
针对数据包加密、签名保护的安全测试场景,借助burp插件自动解密数据包密文,自动绕过接口的签名保护,最后借助密文数据天然过waf的优势结合Xray等漏扫工具完成半自动的安全测试(逻辑漏洞还得需要手工测)
AutoBypassEncryptAndSign
PS:项目中的插件并不是通用的,因为不同厂商针对自己业务的数据包加密算法、签名保护算法各种各样,需要先还原加密算法(或者签名保护算法),再对应的修改插件的加密算法(或者签名保护算法),笔者通过几个案例介绍这类业务的通用测试流程:常见加密算法分析流程、burp插件开发、联动Xray半自动化挖洞,主要是通过介绍这类业务的通用测试方法,降低安全测试的人力成本
AutoBypassEncryptAndSign
PS:项目中的插件并不是通用的,因为不同厂商针对自己业务的数据包加密算法、签名保护算法各种各样,需要先还原加密算法(或者签名保护算法),再对应的修改插件的加密算法(或者签名保护算法),笔者通过几个案例介绍这类业务的通用测试流程:常见加密算法分析流程、burp插件开发、联动Xray半自动化挖洞,主要是通过介绍这类业务的通用测试方法,降低安全测试的人力成本
一款基于fofa api语句的资产收集工具,用于红队快速收集顶级域名或者ip相关关联的资产
新增计划
新增资产存活检测 已完成
新增资产指纹识别 未完成
新增xray工具联动 未完成
新增awvs工具联动 未完成
新增afrog工具联动 已完成
新增关联资产爬虫 未完成
新增WAF识别 未完成
新增多线程资产存活探测 未完成
新增其他测绘平台 未完成
新增数据自动去重 未完成
新增子域名资产穷举 未完成
新增fofa语句插件 已完成
新增计划
新增资产存活检测 已完成
新增资产指纹识别 未完成
新增xray工具联动 未完成
新增awvs工具联动 未完成
新增afrog工具联动 已完成
新增关联资产爬虫 未完成
新增WAF识别 未完成
新增多线程资产存活探测 未完成
新增其他测绘平台 未完成
新增数据自动去重 未完成
新增子域名资产穷举 未完成
新增fofa语句插件 已完成
😫😫😫回来吧刺激晓骑😫😫😫
😤😤😤我最骄傲的信仰😤😤😤
😎😎😎历历在目的山海😎😎😎
😭😭😭眼泪莫名在流淌😭😭😭
😍😍😍依稀记得分布式😍😍😍
😋😋😋还有给力的Xray😋😋😋
😡😡😡把棒子都给打退😡😡😡
🥴🥴🥴通宵渗透也不累🥴🥴🥴
😤😤😤我最骄傲的信仰😤😤😤
😎😎😎历历在目的山海😎😎😎
😭😭😭眼泪莫名在流淌😭😭😭
😍😍😍依稀记得分布式😍😍😍
😋😋😋还有给力的Xray😋😋😋
😡😡😡把棒子都给打退😡😡😡
🥴🥴🥴通宵渗透也不累🥴🥴🥴
👎3😁3👍1
parse-server那个原型污染漏洞导致rce的漏洞,昨天有人问的,钻研了一下,应该是网上的文章有地方没说对
复现环境说的是mongodb依赖包版本3.6.11,当BSON数据中的对象包含_bsontype键,当他的值为Code时,该对象会被判断为Code类型。在进行序列化时,系统会调用serializeCode这个函数对该对象进行序列化处理
在反序列化时,如果遇到Code类型的数据,则系统会执行js内置的eval操作。将字符串变为可执行代码。这个算是比较常规的风险代码,所以他又定义了evalFunctions这个参数,通过一个叫GridFS的流程处理metadata
如果在代码中没有设置info.appId的值,程序就会进入if语句块,如图,把fileViaJSON设置为true。如果缓存中没有info.appId的信息,程序会继续执行下去。在代码中可以找到appId的赋值操作,并且后面还有一处校验。这一步需要保证_ApplicationId是正确的appId,否则程序就会退出。根据这个逻辑网上有多种利用方式,其中一种是控制out.value.__op out.key从而污染原型的evalFunctions参数,构造一条新的调用链去在FileCoder里面汇总变量,修改create包从而修改file类型
然后网传官方的修复措施是对metadata进行过滤,但是没有修复原型污染。这个说法我钻研了一下不认同。在找新的可以上传Code类型的位置时他示例用了这个
如果按照他上文的思路,child_process模块获取空对象后在BSON库中检验evalFunction,执行的是Node.js,metadata放到fs.files表,所以还是可以构造hook函数,但补丁后把其他文件内容放到fs.chunks表里,无法通过第二个return返回key和value,所以污染位置要么是前面的restUpdate要么就是函数传出路径错误根本无法运行,这种情况下还能继续RCE反正我是不赞同的
复现环境说的是mongodb依赖包版本3.6.11,当BSON数据中的对象包含_bsontype键,当他的值为Code时,该对象会被判断为Code类型。在进行序列化时,系统会调用serializeCode这个函数对该对象进行序列化处理
在反序列化时,如果遇到Code类型的数据,则系统会执行js内置的eval操作。将字符串变为可执行代码。这个算是比较常规的风险代码,所以他又定义了evalFunctions这个参数,通过一个叫GridFS的流程处理metadata
如果在代码中没有设置info.appId的值,程序就会进入if语句块,如图,把fileViaJSON设置为true。如果缓存中没有info.appId的信息,程序会继续执行下去。在代码中可以找到appId的赋值操作,并且后面还有一处校验。这一步需要保证_ApplicationId是正确的appId,否则程序就会退出。根据这个逻辑网上有多种利用方式,其中一种是控制out.value.__op out.key从而污染原型的evalFunctions参数,构造一条新的调用链去在FileCoder里面汇总变量,修改create包从而修改file类型
然后网传官方的修复措施是对metadata进行过滤,但是没有修复原型污染。这个说法我钻研了一下不认同。在找新的可以上传Code类型的位置时他示例用了这个
delete ({}).proto.evalFunctions; require(child_process).exec('touch /tmp/123.txt')"如果按照他上文的思路,child_process模块获取空对象后在BSON库中检验evalFunction,执行的是Node.js,metadata放到fs.files表,所以还是可以构造hook函数,但补丁后把其他文件内容放到fs.chunks表里,无法通过第二个return返回key和value,所以污染位置要么是前面的restUpdate要么就是函数传出路径错误根本无法运行,这种情况下还能继续RCE反正我是不赞同的
👍3

