Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86386418

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

一、概述在網絡安全領域,隱蔽隧道是一種基於主流常規協議將惡意流量偽裝成正常通信起到夾帶偷傳數據、下發控制指令等作用,同時對數據進行加密以最大限度的規避網絡安全設備檢測的傳輸技術。由於隱蔽隧道更容易繞過網絡安全設備的檢測,因此黑客對其的使用越來越廣泛,在攻防演練中,隱蔽隧道更是攻擊中必不可少的一環,在攻擊隊完成初始打點後,通常會建立外聯隱蔽隧道以維持內網權限,並進一步通過橫向移動最終獲得靶標,而隱蔽隧道的種類繁多,從協議的視角來看,常見的隧道種類有HTTP隧道、DNS隧道、ICMP隧道、SSH隧道、TCP隧道、UDP隧道等,這其中最為常見的當屬HTTP隧道,所以了解HTTP隱蔽隧道的特點及其對應的黑客工具,對於防禦方來說是至關重要的。

二、HTTP隧道詳解HTTP隧道是一種基於HTTP協議實現的網絡隧道,可以將任意類型的網絡流量通過HTTP協議的數據包進行傳輸,從而實現對網絡流量的加密和隱藏,WebShell、代理轉發、遠控回連等場景都能看到HTTP隧道活躍的身影。 HTTP隧道的主要特點包括:高效穩定、靈活隱蔽、適合加密,本文將詳細介紹HTTP隧道的主要特點和常用工具。

1、HTTP隧道的主要特點高效穩定:得益於作為隧道載體的HTTP協議成熟且強大,攻擊者可以使用標準HTTP協議帶來的一切便利,例如:簡單請求-響應模式帶來的穩定性、支持長連接與數據壓縮帶來的高傳輸性能與易於控制和管理等,這讓它可以很容易的適用於不同類型的網絡環境和應用場景。

靈活隱蔽:HTTP隧道良好擴展性帶來的高度可定制化能力,它可以自由的將需要傳輸的數據放在HTTP請求/響應頭或者HTTP載荷數據中的任意位置,不必局限於固定的某個字段,並且偷傳數據的同時還可以偽裝成正常的上網行為或者普通的HTTP業務流量,在網絡基礎設施高度發達的今天,還有CDN、雲函數等正經業務被用作其保護傘,這種隱蔽性非常強,可以很好的避免其被流量檢測設備和防火牆檢測出來,有效提高了隧道通信的存活能力。

【攻防演练篇】攻防演练场景中面临的常见加密威胁-HTTP隐蔽隧道-v2(4)874.png

圖1利用CDN傳輸數據

適合加密:HTTP隧道天生適合加密傳輸數據,因為HTTP協議本身就支持了URL編碼、Base64編碼、Gzip編碼、Deflate編碼、二進制編碼、Multiformat編碼等各式各樣的加密、壓縮與傳輸編碼方式,所以在此之上再對數據進行一層從簡單如XOR到復雜如AES的加密就讓真實的攻擊更難被與正常業務流量區分開來。不僅如此,HTTP隧道很多時候還可以披上TLS的外衣搖身一變成為HTTPS協議,這種嵌套加密技術成本極低,但檢測難度卻變的極大。

【攻防演练篇】攻防演练场景中面临的常见加密威胁-HTTP隐蔽隧道-v2(4)1135.png

圖2疊加了多種編碼方式的加密數據

2、支持HTTP隧道的常用工具攻擊者常用的黑客工具很多都支持HTTP隧道功能:

image.png

1. Chaos:一款C2工具,客戶端上線後能夠執行Shell、截屏、文件上傳下載、訪問指定url等功能。通信只使用HTTP協議,兩秒一次的心跳包,通信全程沒有加密,部分內容使用了Base64編碼。

2. CobaltStrike:Cobalt Strike是一款流行的滲透測試工具,由Raphael Mudge開發。它提供了一個高級的圖形界面,可用於通過社會工程學技術、漏洞利用和後期特權升級攻擊等手段入侵受控機器,並支持使用命令和控制服務器(C2)對受感染的主機進行遠程控制。它支持動態HTTP隧道,即在隧道連接過程中可以更改隧道參數,增加隧道的安全性,同時具有豐富的配置選項,可以根據具體的攻擊需求進行定制,包括端口號、請求頭、響應頭與各種編碼、加密方式等。

3.Empire:Empire是一款開源的滲透測試工具,可用於生成、編碼和部署各種類型的攻擊負載(Payload),並通過HTTP/HTTPS等協議與攻擊目標進行通信。 Empire提供了一個強大的命令行界面,可用於建立、配置和控制攻擊載荷,支持模塊化插件架構,使其可以輕鬆地擴展功能。這款工具結合了HTTP摔倒與TCP隧道:木馬發送HTTP請求時服務端會通過tcp返回指令內容,tcp載荷全部加密傳輸,當指令傳輸完畢,服務端會返迴響應200,該響應的載荷也是加密的。

4.Octopus:Octopus旨在與C2進行通信時保持高度隱秘,它的第一次請求url是生成木馬時自定義設置的,同時返回體中定義了aes-key、aes-iv、心跳時間以及後續使用的臨時命令下發url與心跳url,在這之後將隧道使用AES-256的方式加密。在此之上還可以通過為C2服務器配置有效的證書以使用HTTPS加強隱秘性。

5.ABPTTS:ABPTTS是NCC Group在2016年blackhat推出的一款將TCP流量通過HTTP/HTTPS進行流量轉發,在目前云主機的大環境中,發揮了比較重要的作用,可以通過腳本進行RDP,SSH,Meterpreter的交互與連接。這也意味著這樣可以建立一個通過80端口的隧道流量出站來逃避防火牆。與其它http隧道不同的是,abptts是全加密。但是可惜的是,ABPTTS只支持aspx和jsp。

三、總結由於HTTP隱蔽隧道擁有靈活且隱蔽的特性,傳統字符串與弱特徵匹配的檢測方式容易被繞過,並且從單包和單會話層面想找到隧道的明顯特點也非常困難。觀成科技安全研究團隊經過研究發現,對於HTTP隧道,可以從隧道通信的行為本身,以及攻擊者對HTTP協議的使用與正常業務的區別等方面挖掘特徵進行檢測。