0x01 工具介绍
高危漏洞资产指纹识别规则103条,蜜罐特征告警规则151条,涉及敏感域名请求(jsonp)、蜜罐网页资源特征、蜜罐对本机特殊软件(如Burpsuite)的探测请求、网站流量分析与跟踪请求、敏感关键词、敏感脚本调用等。
下载地址
https://github.com/Ghr07h/Heimdallr/releases/download/v1.1.3/Heimdallr.zip
0x02 功能简介
基本功能
高危漏洞资产指纹识别和蜜罐jsonp请求识别功能无需配置,只需插件开启即可生效。
- 高危漏洞资产指纹识别规则103条,涉及框架或产品如下:
ueditor、struts2、spring、weblogic、shiro、F5 BIG-IP、致远OA、用友NC、用友畅捷通、通达OA、心通达OA、新点OA、帆软报表、蓝凌OA、红帆OA、华天动力OA、万户OA、金蝶云、协众OA、金和OA、海昌OA、泛微多个产品(生态、eoffice、ebridge、emobile)、拓尔思SSO、拓尔思内容管理系统、亿Mailmail、coremailmail、Exchangemail、若依后台管理系统、Wordpress、小鱼易连云视讯、tomcat、iis、jboss、jetty、ibm websphere、weblogic、thinkphp、showdoc、Laravel、kindeditor、fckeditor、ewebeditor、jeesite 、海康威视多个产品(网络摄像头、安防管理平台、图像综合应用平台)、dedecms、jira、confluence、java web、博达站群、dubbo、向日葵客户端、宝塔waf、宝塔面板、米拓cms、teleport堡垒机、齐治堡垒机、帕拉迪堡垒机、H3C堡垒机、绿盟防火墙、安全狗Waf
- 蜜罐特征其余规则151条,涉及敏感域名请求(jsonp)蜜、罐网页资源特征、蜜对本机特殊软件(如Burpsuite)的探测请求、网站流量分析与跟踪请求、敏感关键词、敏感脚本调用等。
为了请求的最全面捕获,Heimdallr中不进行请求种类(如script、XMLHttpRequest等)的筛选,因此插件默认只进行蜜罐请求不识别作拦截,若开启蜜罐请求拦截会影响正常访问CSDN、Github等网站的正常访问,可以通过日常使用时暂停插件(控制-暂停/开启插件)或关闭蜜罐拦截功能(策略配置-蜜罐拦截配置)解决。
因部分框架或产品(如百度网站在线客服会调用5个敏感域名、高德地图嵌入会调用高德域名)的正常使用同时出现Jsonp敏感域名的访问,故同一节点的Jsonp请求超过10个时,基本可以确定为蜜罐站点,此时将会出现系统弹窗另外(弹窗需要操作系统开启浏览器弹窗权限,该权限默认开启)。低于10个敏感域名请求,用户可根据当前站点内容与共同域名的关联度进行确定,例如百度小企业官网可能调用商桥接口实现在线客服功能,但一般不会调用虎牙直播账号接口或联通一键登录热点溯源接口。
控制
右上角三个选项分别为暂停/开启插件、清除所有嗅觉结果集、设置选项。
暂停插件之后,会清空所有页面的嗅探结果集,关闭对请求和响应的监听,扩展功能中仅WebRTC防护功能不关闭,其他的功能都会随插件暂停而暂停。
扩展功能
扩展功能由策略配置页面配置
Passport识别配置-启用响应体规则匹配
- 建议设置:仅在攻击期间对需高度关注页面(口子、靶标)开启该选项,用完即关
默认情况下,动作感知探测只对请求响应的URL、Request Header、Request Body、Response Header进行匹配,除此之外部分高危指纹在Response Body中检测,开启该选项后会启用devtools调用chrome devtools协议,检测Response Body中的指纹。但是启用该选项后会出现调试提示栏,如需关闭参考高级-4
帕帕识别配置-关闭浏览器页面缓存(强制刷新)
- 建议设置:默认开启该选项
部分包含特征规则的静态资源(如JS文件)会在磁盘中调用后存储一次,减少重复加载负载的流量和带宽。这会导致识别规则在重复刷新页面中不会重复触发。开启该选项后可以达到更完善的特征识别,这也可以防止部分情况下静态资源文件无法及时更新导致的访问异常
蜜罐拦截配置-符合蜜罐特征请求自动拦截
- 建议设置:攻击期间开启,日常使用时关闭
为保证能够识别、阻塞部分新的Jsonp请求,插件按照请求域名进行拦截,这会导致打开该选项后访问部分日常网站(CSDN、GitHub等)会被阻塞,影响日常访问因此。默认情况下插件不会拦截疑似蜜罐的Jsonp请求,需要手动开启拦截选项。日常网站被拦截也可以通过右上角的暂停插件按钮暂停,访问结束后重新启动插件。但是更建议的方式为日常使用浏览器和攻击使用浏览器分离开来,专事专用
特征对抗配置-清除所有浏览器持久化项目数据
- 建议设置:在被cookie追踪或其他持久化手段追踪浏览器特征时清除数据
清除的浏览器持久化项目包括:网站应用服务器(appcache)、网站资源服务器、网站服务器服务器、Cookie、网络文件系统、表单数据记录、索引数据库(indexDB)、localStorage、密码记录、网络SQL数据(webSQL) )
警告:清除的数据中包含密码记录,即浏览器的密码管理器的记录。如果您使用浏览器自带的密码管理器和Google账号进行密码记录和维护,清除浏览器的密码管理器记录可能导致Google账号同步的密码被设置空。再次建议将攻击主机和日常使用的主机分离,不再攻击主机上登录或保存任何私人相关的账号。
特征对抗配置-WebRTC防IP泄露严格策略
- 建议设置:安装后手动打开该选项
通过提高WebRTC策略严格防止真实IP泄露,已知Chrome v104(截至2022.9.1)仍存在该漏洞,此选项可在并建议在日常使用时也开启请勿使用策略与其他WebRTC防护插件(如WebRTC Control 或 WebRTC Leak Prevent)同时使用,各插件调节 WebRTC 策略会相互关联,暂停其他插件的使用时的 API 调用同时影响 Heimdallr 的调节逻辑。
特征对抗配置-Canves 噪声点作用脚本成分
- 建议设置:攻击期间开启,日常使用时关闭
通过对当前网页注入内容脚本添加 Canvas 噪声点来防止特征锁定,以后所有网页访问时将开启额外加载 content.js 以获取类的函数钩子操作
🔔高级
- 插件的识别对象基于【标签页】,标签页页面变更【(域名+端口)或(IP+端口)】时清空结果,切换标签页时结果会暂存,关闭标签页或窗口时删除对应结果。
- 插件默认只存在被动流量监控,不会因为敏感指纹的识别触发防火墙触发。
- 插件识别结果为页面及页面框架的请求内容,部分页面同样【请求体数据为json格式】、【请求头Content-Type为application/json格式】时,不一定是当前文档的请求,有可能是当前文档页面加载的相关页面的接口请求符合规则。
- 由于谷歌Chrome API的安全限制和Chrome内核的历史继承问题,插件对响应体的检查与其他指纹位置的检查不同,浏览器页面顶部会出现调试提示,可通过插件设置关闭响应包检查功能或添加谷歌浏览器的启动项规避提示(在Chrome快捷方式右键打开属性,在快捷方式栏的【目标】框添加启动参数--silent-debugger-extension-api)。
- 插件的目的是发现直接访问无法识别的组件或框架,请勿添加可以直接识别的组件的特征到指纹库(如spark未授权页面),增加无意义的识别流程导致识别负载增加。
0x03更新说明
更新内容:
添加了新的新浪系蜜罐特征,感谢@heikanet的问题
完善了webRTC和脚本注入的状态逻辑,根据配置显示更改为实时获取浏览器接口调用结果
0x04 使用介绍
Chrome浏览器-扩展设置-开发者模式-加载已解压的扩展程序
注意:Chrome版本需要Chrome v96,部分代码不支持edge和firefox,请勿混用于非Chrome浏览器
0x06 下载
https://github.com/Ghr07h/Heimdallr/releases/download/v1.1.3/Heimdallr.zip
原文始发于微信公众号(渗透安全HackTwo):一款指纹和蜜罐特征检测拦、截蜜罐请求、对抗浏览器特征追踪浏览器插件|漏洞探测
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论