获取JA3指纹

admin 2025年2月19日14:39:51评论14 views字数 945阅读3分9秒阅读模式

前言

JA3指纹是通过本地发起TLS握手阶段时,根据Client Hello中的TLS版本、支持的加密套件、使用的扩展等字段加密生成。因此基于JA3指纹(现在已经有JA4+指纹)可以识别如Cobalt Strike beacon的攻击,而不一定去解密TLS报文。在渗透测试过程中,白帽子们也常常使用Burpsuite代理工具,因此也可以通过识别Burpsuite的JA3指纹来发现是否有白帽子进行测试。

抓包获取JA3指纹

这里介绍两种方式,一种是wireshark,一种是python脚本。首先是wireshark,wireshark是支持展示JA3的,可以输入以下搜索语句来检索client hello报文(如果知道IP的话,直接ip.addr == ip来尝试找到client hello包):

tls.handshake.extensions_server_name!=""

获取JA3指纹

然后点击报文,在如下菜单最下方即可看到JA3等其他指纹:

获取JA3指纹

获取JA3指纹

脚本的话麻烦点,先抓包保存成pcap,然后使用https://github.com/salesforce/ja3进行测试:

获取JA3指纹

JA3指纹实操

因为JA3指纹是客户端的,因此无法做到统一指纹,比如CobaltStrike beacon是使用Windows套接字进行TLS通信,因此不同的操作系统都会产生不同的指纹,如下为windows 11+cs4.8 beacon JA3指纹如下:

获取JA3指纹

这个指纹无法在网上搜到相关信息。

而windows server 2016+cs4.8 beacon 的JA3指纹就变了:

获取JA3指纹

而这个指纹就能在网上搜到相关信息了:

获取JA3指纹

网上说更改c2 profile可以解决JA3指纹:

获取JA3指纹

测试并不能,因为profile并不能控制TLS的Client Hello信息,最多可以控制到JA3S或者是新的JA4H的指纹,而不能控制JA3指纹。

通过监测Burpsuite JA3指纹可以拿来判断当前网站是不是有人正在做渗透测试,只要让浏览器走Burpsuite代理,然后使用上述方法即可获取到Burpsuite的JA3指纹:

获取JA3指纹

总结

本文演示了获取JA3指纹的方法,在甲方防御中可以考虑使用JA3指纹来监测Cobalt Strike beacon、Burpsuite。

原文始发于微信公众号(中国白客联盟):获取JA3指纹

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月19日14:39:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   获取JA3指纹https://cn-sec.com/archives/3758505.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息