国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

TLS指紋模擬

這篇具有很好參考價值的文章主要介紹了TLS指紋模擬。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

深藍(lán)實驗室@lz520520

介紹

https等協(xié)議通過tls加密傳輸,大家可能覺得數(shù)據(jù)被全加密了應(yīng)該可以保證無惡意流量特征,流量側(cè)通信不會被發(fā)現(xiàn),但在加密前,會有一個tls協(xié)商過程,client和server協(xié)商交互才會生成最后加密用的密鑰,而這個協(xié)商過程就可以切切實實進(jìn)行指紋提取。這就是tls指紋。

JA3是一種創(chuàng)建SSL/TLS客戶端指紋的方法,它易于在任何平臺上生成,并且可以輕松共享以獲取威脅情報。JA3 由三位 Salesforce 成員(John Althouse、Jeff Atkinson 和 Josh Atkins)開發(fā),是一種用于根據(jù) ClientHello 數(shù)據(jù)包生成 SSL 指紋以識別建立加密連接的客戶端的技術(shù)。相同的客戶端工具所產(chǎn)生的JA3指紋總是一致的。JA3 指紋從一開始就是為了證明客戶端應(yīng)用程序是否存在惡意。

我們在使用burpsuite等工具時,經(jīng)常會遇到網(wǎng)站無法打開,去掉代理又變正常的情況,很可能是網(wǎng)站的WAF使用了JA3指紋識別到了代理工具。常見的如cloudfare waf就使用了該指紋技術(shù)。

go默認(rèn)ja3指紋89be98bbd4f065fe510fca4893cf8d9b

chromeja3指紋cd08e31494f9531f560d64c695473da9

分析

ja3

tls指紋生成過程

JA3方法用于收集Client Hello數(shù)據(jù)包中以下字段的十進(jìn)制字節(jié)值:版本、可接受的密碼、擴(kuò)展列表、橢圓曲線密碼和橢圓曲線密碼格式。然后,它將這些值串聯(lián)在一起,使用“,”來分隔各個字段,同時,使用“-”來分隔各個字段中的各個值。

版本、可接受的密碼、擴(kuò)展列表、橢圓曲線密碼和橢圓曲線密碼格式
SSLVersion,Cipher-Suites,SSLExtension,EllipticCurve,EllipticCurvePointFormat

例子

769,47-53-5-10-49161-49162-49171-49172-50-56-19-4,0-10-11,23-24-25,0

然后使用MD5 hash生成指紋

ada70206e40642a3e4461f35503241d5

具體分析

這里以go開發(fā)的frp為例

Client Hello數(shù)據(jù)包如下,ja3就是由以下圈出來的部分生成的

TLS指紋模擬

SSLVersion

這里顯示是 TLS1.2,對應(yīng)實際值是0x0303

TLS指紋模擬

轉(zhuǎn)換成十進(jìn)制為

771

Cipher-Suites

如下加密算法套件有19個,根據(jù)ja3規(guī)則,每個之間用"-"連接

TLS指紋模擬

轉(zhuǎn)換成果如下

49199-49200-49195-49196-52392-52393-49171-49161-49172-49162-156-157-47-53-49170-10-4865-4867-4866

SSLExtension

這個擴(kuò)展列表是由所有擴(kuò)展類型值組成,如下擴(kuò)展類型值有8個

TLS指紋模擬

生成結(jié)果為

5-10-11-13-65281-18-43-51

EllipticCurve

橢圓曲線密碼

即擴(kuò)展type值為10對應(yīng)的數(shù)據(jù),這里寫的是supported_group

生成結(jié)果為

29-23-24-25

EllipticCurvePointFormat

橢圓曲線格式

即擴(kuò)展type只為11對應(yīng)的數(shù)據(jù),這里數(shù)據(jù)值為0

TLS指紋模擬

生成結(jié)果為

0

最后將上面所有部分用","拼接組成最終需要hash的字符串

771,49199-49200-49195-49196-52392-52393-49171-49161-49172-49162-156-157-47-53-49170-10-4865-4867-4866,5-10-11-13-65281-18-43-51,29-23-24-25,0

進(jìn)行hash計算如下

TLS指紋模擬

通過ja3工具解析數(shù)據(jù)包結(jié)果,可以看到和我們計算結(jié)果一致

ja3s

JA3S方法會收集Server Hello數(shù)據(jù)包中以下各個字段的十進(jìn)制字節(jié)值:版本、可接受的加密算法和擴(kuò)展列表。然后,它將這些值串聯(lián)在一起,使用“,”來分隔各個字段,并通過“-”來分隔每個字段中的各個值。

SSLVersion,Cipher,SSLExtension
769,47,65281–0–11–35–5–16

PS: 因為Server Hello會因為Client Hello不同和不同,所以只能做一個參考。

計算

FRP的Server Hello數(shù)據(jù)包如下,計算需要的三部分如下

TLS指紋模擬

SSLVersion

版本

TLS指紋模擬

生成結(jié)果

771

Cipher

可接受的加密算法,只有一個

生成結(jié)果

4865

SSLExtension

擴(kuò)展列表,擴(kuò)展列表只有兩個

TLS指紋模擬

根據(jù)類型值,生成結(jié)果

43-51

將上述拼接起來

771,4865,43-51

但ja3s工具生成,加密套件這塊額外添加了參數(shù)實際算法名稱

如下,但實際表示意義也是唯一的

TLS指紋模擬

771,CipherSuite(0x1301, TLS_AES_128_GCM_SHA256),43-51

TLS指紋模擬

繞過

文章

https://mp.weixin.qq.com/s/og2IKo8lcydh8PROUPD7jQhttps://segmentfault.com/a/1190000041699815

https://github.com/refraction-networking/utls

這個庫是基于crypto/tls進(jìn)行開發(fā)的,可以模擬絕大部分情況下的ja3指紋。

和官方庫差不多的用法,如下在封裝時除了conn連接和config配置以外,需要傳入ClientHelloID,這個ID是有一些內(nèi)置的指紋可以直接調(diào)用,或者也可以自定義。

conn,?_?:=?net.DialTimeout("tcp",?"121.14.77.201:443",?10*time.Second)
uConn?:=?tls.UClient(conn,?&tls.Config{ServerName:?"www.qq.com",?InsecureSkipVerify:?true},?tls.HelloChrome_102)
uConn.Write([]byte("aaa"))

這是官方庫

u_common.go,如下有非常全的現(xiàn)成指紋信息可以用。

TLS指紋模擬

這些ID最終對應(yīng)到這個函數(shù)utlsIdToSpec里

TLS指紋模擬

后續(xù)可參考這里編寫實現(xiàn)自己的。

TLS指紋模擬

并且該庫還支持解析數(shù)據(jù)包中的client hello信息,來自動化構(gòu)建一個自定義參數(shù),實現(xiàn)模擬各種ja3指紋

瀏覽器訪問,然后抓包找到client hello包,選中tls層的數(shù)據(jù),然后復(fù)制成hex stream即可。

TLS指紋模擬

將tls的hex數(shù)據(jù)粘貼到以下位置,通過fingerprinter.FingerprintClientHello即可解析生成一個自定義spec,封裝到tlsConn里直接使用。

要注意的是ClientHelloID還設(shè)置成HelloCustom即自定義

conn,?_?:=?net.DialTimeout("tcp",?"121.14.77.201:443",?10*time.Second)
rawCapturedClientHelloBytes,?_?:=?hex.DecodeString("1603010200010001fc03037741eebedfb7afbcfcd0f49f9b59d7a9c13eb3ccd8f207b8c692ffb1b9b9f5c22017bd40c3ec96ca8c21df97de564ce5e4e88bc945ca902d7d4260f77fb980631400221a1a1301130213021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035010001918a8a000000000012001000000d7370312e62616964752e636f6d00170000ff01000100000a000a0008dada001d00170018000b00020100002300a00efd73f80bf561e25ea122de025cb65678ebfcd201e8c49325fbabe586918cdb8cfdeaac64d4798b351295c62d94aa3c48a8f4181bee25d4202025cbf7eaf074233d576018c8adfe0d4527daa496e1b05162c0490a00fb108522a31e0bf369482a97a77d62f147f1657e927b45223545e7ad54f99239d820ed81b41c172a15dc3762f5d8fd1d333e082f55daca4e38ae11456fa4caf6be4419b56e5ed36a08580010000e000c02683208687474702f312e31000500050100000000000d0012001004030804040105030805050108060601001200000033002b0029dada000100001d0020ecb49f62fef0dc89ff3e6084d99e39b27820e68d9c4d8bf24b6d367e286ce05a002d00020101002b000706baba03040303001b0003020002446900050003026832caca0001000015002800000000000000000000000000000000000000000000000000000000000000000000000000000000")
uConn?:=?tls.UClient(conn,?&tls.Config{ServerName:?"www.qq.com",?InsecureSkipVerify:?true},?tls.HelloCustom)
fingerprinter?:=?&tls.Fingerprinter{}
generatedSpec,?err?:=?fingerprinter.FingerprintClientHello(rawCapturedClientHelloBytes)
if?err?!=?nil?{
t.Fatalf("fingerprinting failed: %v",?err)
}
if?err?:=?uConn.ApplyPreset(generatedSpec);?err?!=?nil?{
t.Fatalf("applying generated spec failed: %v",?err)
}
uConn.Write([]byte("aaa"))

可以看到完全一致(wireshark好像3.6以上就支持ja3的指紋生成了)

PS: 要注意一點,SNI也會參與計算,如果ServerName為空會不插入Extension里,導(dǎo)致ja3指紋計算結(jié)果不一樣

TLS指紋模擬

這個庫還有些其他玩法,可以自行參考文檔或者他的example.go

存在小bug,如果自動握手,可能會出現(xiàn)握手失敗的問題,建議手動握手文章來源地址http://www.zghlxwxcb.cn/news/detail-453911.html

uConn?:=?tls.UClient(c,?tlsConfig,?tls.HelloChrome_Auto)
// 錯誤姿勢,如此可能會報錯
uConn.Write([]byte("a"))
// 正確姿勢

err?:=?uConn.Handshake()

到了這里,關(guān)于TLS指紋模擬的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 決策樹(實驗室會議小記)

    決策樹(實驗室會議小記)

    特征過多導(dǎo)致過擬合、有一些特征是噪音。 1、 嘗試所有組合:也是全局最優(yōu) 2、貪心算法:每次決策都是基于當(dāng)前情況去尋找最優(yōu)解。計算過程:把特征加進(jìn)去→是否更優(yōu)?→是:加入模型/否:淘汰 3、L1正則:目標(biāo)函數(shù)為損失函數(shù);特點:具有稀疏性 4、決策樹:節(jié)點代表

    2024年02月08日
    瀏覽(32)
  • 【新知實驗室】TRTC騰訊實時音視頻動手實驗

    【新知實驗室】TRTC騰訊實時音視頻動手實驗

    https://cloud.tencent.com/document/product/647/16788 應(yīng)用 TRTC 通過應(yīng)用的形式來管理不同的業(yè)務(wù)或項目。您可以在 TRTC 控制臺 給不同的業(yè)務(wù)或項目分別創(chuàng)建不同的應(yīng)用,從而實現(xiàn)業(yè)務(wù)或項目數(shù)據(jù)的隔離。每個騰訊云賬號最多可以創(chuàng)建100個 TRTC 應(yīng)用。 SDKAppID SDKAppID(應(yīng)用標(biāo)識/應(yīng)用 ID)是騰

    2024年02月01日
    瀏覽(30)
  • 新知實驗室-TRTC如此簡單

    騰訊實時音視頻(Tencent Real-Time Communication,TRTC),將騰訊多年來在網(wǎng)絡(luò)與音視頻技術(shù)上的深度積累,以多人音視頻通話和低延時互動直播兩大場景化方案,通過騰訊云服務(wù)向開發(fā)者開放,致力于幫助開發(fā)者快速搭建低成本、低延時、高品質(zhì)的音視頻互動解決方案。 1、多人音

    2023年04月27日
    瀏覽(19)
  • XShell連接實驗室服務(wù)器

    XShell連接實驗室服務(wù)器

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 前言 第一次連接實驗室服務(wù)器跑代碼,因pycharm專業(yè)版學(xué)生認(rèn)證需要時間,所以自學(xué)了XShell連接服務(wù)器以及提交任務(wù),現(xiàn)在終于裝好了,趁著熱乎勁兒總結(jié)下,也希望對你有用。作者是新手小白,如有疏漏

    2024年01月24日
    瀏覽(25)
  • 網(wǎng)絡(luò)安全實驗室2.基礎(chǔ)關(guān)

    網(wǎng)絡(luò)安全實驗室2.基礎(chǔ)關(guān)

    url:http://lab1.xseclab.com/base1_4a4d993ed7bd7d467b27af52d2aaa800/index.php 查看網(wǎng)頁源代碼的方式有4種,分別是:1、鼠標(biāo)右擊會看到”查看源代碼“,這個網(wǎng)頁的源代碼就出現(xiàn)在你眼前了;2、可以使用快捷Ctrl+U來查看源碼;3、在地址欄前面加上view-source,如view-source:https://www.baidu.com ;

    2023年04月17日
    瀏覽(26)
  • WebGL在實驗室方向的應(yīng)用

    WebGL在實驗室方向的應(yīng)用

    WebGL在實驗室方向的應(yīng)用涉及到實驗過程的可視化、數(shù)據(jù)分析、模擬等方面。以下是一些WebGL在實驗室領(lǐng)域的應(yīng)用示例,希望對大家有所幫助。北京木奇移動技術(shù)有限公司,專業(yè)的軟件外包開發(fā)公司,歡迎交流合作。 1.分子模型和化學(xué)反應(yīng)模擬: 利用WebGL,實驗室研究人員可以

    2024年01月24日
    瀏覽(21)
  • 超純試劑純化研發(fā)實驗室建設(shè)要求分析

    超純試劑通常是指用于藥品研發(fā)和生產(chǎn)的高純度化學(xué)試劑,這些試劑的純度和質(zhì)量對藥品的安全性和有效性具有重要影響。超純試劑純化研發(fā)實驗室主要是研究和開發(fā)新的超純試劑及其制備方法,以確保其符合醫(yī)藥領(lǐng)域?qū)υ噭┵|(zhì)量的要求。這些實驗室通常配備有先進(jìn)的設(shè)備和

    2024年02月05日
    瀏覽(22)
  • 在校外連接校內(nèi)實驗室服務(wù)器

    在校外連接校內(nèi)實驗室服務(wù)器

    去官網(wǎng)注冊、登錄、創(chuàng)建網(wǎng)絡(luò) zerotier官網(wǎng) 我使用微軟賬號登錄的,這個隨便 點 Create A Network NETWORK ID 點ID進(jìn)去 1. Ubuntu配置SSH 如果出現(xiàn)不在sudoers列表的問題查看這里 驗證安裝是否成功并且SSH服務(wù)正在運(yùn)行 SSH相關(guān) 2.Ubuntu安裝zerotier 3.Ubuntu加入zerotier局域網(wǎng) 以下代碼片的 NETWORK

    2024年02月14日
    瀏覽(31)
  • 實驗室信息化建設(shè)必要性

    市場監(jiān)管總局2021年9月14日發(fā)布《關(guān)于進(jìn)一步深化改革促進(jìn)檢驗檢測行業(yè)做優(yōu)做強(qiáng)的指導(dǎo)意見》明確到2025年,檢驗檢測體系更加完善,創(chuàng)新能力明顯增強(qiáng),發(fā)展環(huán)境持續(xù)優(yōu)化,行業(yè)總體技術(shù)能力、管理水平、服務(wù)質(zhì)量和公信力顯著提升,涌現(xiàn)一批規(guī)模效益好、技術(shù)水平高、行

    2024年02月11日
    瀏覽(22)
  • 【新知實驗室】騰訊云TRTC初體驗

    今年騰訊云音視頻發(fā)布了“三合一”的RT-ONE?網(wǎng)絡(luò)。該網(wǎng)絡(luò)整合了騰訊云實時通信網(wǎng)絡(luò)(TRTC)、即時通信網(wǎng)絡(luò)(IM)以及流媒體分發(fā)網(wǎng)絡(luò)(CDN)三張網(wǎng)絡(luò),為業(yè)界最完整的音視頻通信PaaS平臺構(gòu)建基座,面向教育、零售、泛娛樂等行業(yè)需求提供服務(wù)。 接下來我主要為大家展示

    2023年04月08日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包