文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.06.026
中文引用格式: 陶曉玲,伍欣,,亢蕊楠. 基于樹(shù)莓派的隱蔽式滲透測(cè)試方法[J].電子技術(shù)應(yīng)用,,2016,42(6):94-97.
英文引用格式: Tao Xiaoling,,Wu Xin,,Kang Ruinan. A raspberry pi based evasive penetration test approach[J].Application of Electronic Technique,2016,,42(6):94-97.
0 引言
自2010年Google報(bào)道“極光行動(dòng)”之后[1],,APT(Advanced Persistent Threat)攻擊便成為安全界熱議的話題,。特別的針對(duì)性、高度的復(fù)雜性以及極強(qiáng)的隱蔽性是APT攻擊的主要特點(diǎn)[2],,從暗鼠行動(dòng)的魚(yú)叉式郵件釣魚(yú)攻擊,,到夜龍行動(dòng)的多攻擊向量組合攻擊,再到震網(wǎng)病毒的多0day漏洞利用攻擊可見(jiàn)一斑,。APT攻擊有愈演愈烈的趨勢(shì),,由于其隱蔽性的特點(diǎn),導(dǎo)致其可在目標(biāo)環(huán)境進(jìn)行長(zhǎng)期的潛伏而難以被發(fā)現(xiàn),,對(duì)信息安全造成了持續(xù)性的巨大危害,,同時(shí),這也是當(dāng)前安全防護(hù)與檢測(cè)的技術(shù)難點(diǎn)[3],。
PT(Persistent Threat)攻擊是APT攻擊的組成部分,,相對(duì)于APT攻擊,其缺少?gòu)?fù)雜強(qiáng)大的針對(duì)性攻擊載荷,,但其擁有隱蔽的通信手段,,可通過(guò)偽裝、加密,、混淆等技術(shù)實(shí)現(xiàn)攻擊代碼的隱藏與網(wǎng)絡(luò)后門(mén)的建立,,能夠長(zhǎng)期對(duì)目標(biāo)環(huán)境進(jìn)行信息竊取與主機(jī)操控等活動(dòng)[4]。例如Rootkit,、后門(mén)程序以及一些僵尸網(wǎng)絡(luò)等攻擊屬于PT攻擊的范疇,,而SQL注入、XSS,、DDos等攻擊不屬于這一范疇,。目前,針對(duì)APT/PT攻擊的滲透測(cè)試方法研究相對(duì)較少,,由此本文針對(duì)其隱蔽性的特點(diǎn)進(jìn)行研究,,以滲透測(cè)試的形式進(jìn)行模擬實(shí)驗(yàn),為幫助安全人員了解攻擊者的意圖,、看到系統(tǒng)的潛在威脅提供信息支持,。
1 滲透測(cè)試模型
本文的滲透測(cè)試模型如圖1所示,模型主要由樹(shù)莓派、C&C服務(wù)器和Tor網(wǎng)絡(luò)三部分組成,。其中,,樹(shù)莓派是一款基于Linux系統(tǒng)的卡片式電腦,雖然只有信用卡的大小,,卻具有電腦的所有基本功能,。由于其具有極高的性?xún)r(jià)比以及很好的兼容性與可擴(kuò)展性,使得它成為物理后門(mén)植入載體的首選,。滲透測(cè)試過(guò)程中,,為其寫(xiě)入的是當(dāng)前最為流行的Kali Linux樹(shù)莓派定制版系統(tǒng),其中集成了許多必要的滲透工具,,為進(jìn)行滲透測(cè)試提供幫助[5]。C&C服務(wù)器使用具有公網(wǎng)IP的云服務(wù)器進(jìn)行模擬,,并運(yùn)行Ubuntu 14.04 Server實(shí)例,。Tor被安裝在一臺(tái)Ubuntu 14.04主機(jī)上,供滲透測(cè)試使用,。
滲透測(cè)試工作流程如下:
(1)以一臺(tái)有root權(quán)限的實(shí)例作為C&C服務(wù)器,;(2)配置樹(shù)莓派,并將其植入目標(biāo)環(huán)境,;(3)樹(shù)莓派上電后,,穿過(guò)防火墻限制,自動(dòng)與C&C服務(wù)器建立起持久的隱蔽隧道,;(4)滲透人員與Tor網(wǎng)絡(luò)建立連接而獲得匿名,;(5)滲透人員通過(guò)Tor網(wǎng)絡(luò)登陸到C&C服務(wù)器;(6)滲透人員通過(guò)C&C服務(wù)器對(duì)內(nèi)網(wǎng)環(huán)境的樹(shù)莓派進(jìn)行控制,。
由此,,滲透人員與樹(shù)莓派之間建立起了一條通信鏈路,滲透人員可向樹(shù)莓派發(fā)送操作指令,,通過(guò)樹(shù)莓派對(duì)目標(biāo)環(huán)境進(jìn)行持續(xù)的滲透測(cè)試,。
2 隱蔽式隧道建立方法
本文采取反向SSH實(shí)現(xiàn)外網(wǎng)C&C服務(wù)器對(duì)樹(shù)莓派的控制;使用Stunnel對(duì)SSH通信進(jìn)行加密,,并將其偽裝成HTTPS流,,從而避開(kāi)防火墻和IDS/IPS的攔截與檢測(cè)。
2.1 反向SSH隧道建立
反向SSH隧道建立有兩個(gè)目的:一方面是實(shí)現(xiàn)外網(wǎng)C&C服務(wù)器對(duì)內(nèi)網(wǎng)樹(shù)莓派的Shell控制,;另一方面利用SSH對(duì)數(shù)據(jù)流加密的性質(zhì),,實(shí)現(xiàn)控制信息的隱蔽[6]。其連接過(guò)程如圖2所示,。
反向SSH連接建立過(guò)程如下:
(1)樹(shù)莓派向C&C服務(wù)器發(fā)起反向SSH請(qǐng)求,;(2)通過(guò)認(rèn)證后,樹(shù)莓派與C&C服務(wù)器之間建立起了一條隧道,同時(shí)在C&C服務(wù)器的Port1端口上開(kāi)啟監(jiān)聽(tīng),,任何在C&C服務(wù)器上使用SSH連接Port1端口的用戶(hù),,將會(huì)反向連接到樹(shù)莓派上;(3)滲透人員登錄C&C服務(wù)器的SSH服務(wù),;(4)滲透人員通過(guò)SSH訪問(wèn)C&C服務(wù)器上的Port1監(jiān)聽(tīng)端口,,從而獲得內(nèi)網(wǎng)中樹(shù)莓派root權(quán)限下的Shell;(5)對(duì)樹(shù)莓派的操作指令通過(guò)SSH隧道進(jìn)行發(fā)送,,實(shí)現(xiàn)了對(duì)內(nèi)網(wǎng)樹(shù)莓派的控制,。
自此,樹(shù)莓派與滲透人員之間相當(dāng)于建立起了一條VPN隧道,, 隧道內(nèi)的信息對(duì)外不可見(jiàn),。
2.2 使用Stunnel對(duì)SSH進(jìn)行偽裝
SSH的數(shù)據(jù)包會(huì)被協(xié)議分析器解析出來(lái),網(wǎng)絡(luò)管理人員通常為安全考慮,,會(huì)禁止這類(lèi)VPN隧道的建立與數(shù)據(jù)包的傳輸,。為了達(dá)到更好的隱蔽性,本文使用Stunnel,,將SSH流偽裝為HTTPS流,。
在將SSH流偽裝成HTTPS流之前,需要對(duì)HTTPS的工作過(guò)程進(jìn)行一些分析,。HTTPS是安全版的HTTP,,它在HTTP下增加了SSL/TLS層,從而對(duì)通信數(shù)據(jù)進(jìn)行了加密,,實(shí)現(xiàn)CA認(rèn)證功能,,提高了使用的安全性。而Stunnel是一個(gè)為應(yīng)用程序之間進(jìn)行安全通信而設(shè)計(jì)開(kāi)發(fā)的自由跨平臺(tái)軟件,,它使用OpenSSL庫(kù),,在應(yīng)用層下增加SSL/TLS層,完成客戶(hù)端與服務(wù)器之間的通信加密[7],,而這與HTTPS加密方式類(lèi)似,,本文利用這一特性,將SSH流偽裝成HTTPS流,,其偽裝過(guò)程如圖3所示,。
在為樹(shù)莓派和C&C服務(wù)器分別配置好Stunnel 客戶(hù)端和Stunnel服務(wù)器后,就可將SSH流偽裝為HTTPS流,,其過(guò)程如下:
(1)樹(shù)莓派向本機(jī)Stunnel客戶(hù)端的監(jiān)聽(tīng)端口Port2發(fā)起反向SSH連接請(qǐng)求,;
(2)樹(shù)莓派的Stunnel客戶(hù)端與C&C服務(wù)器的Stunnel服務(wù)器進(jìn)行SSL/TSL握手,握手成功后建立起Stunnel隧道,,加密后的SSH數(shù)據(jù)包通過(guò)Stunnel隧道發(fā)送至C&C服務(wù)器的Stunnel服務(wù)器443監(jiān)聽(tīng)端口,;
(3)C&C服務(wù)器的Stunnel服務(wù)器收到加密的SSH數(shù)據(jù)包,,對(duì)其解密后,反向SSH連接請(qǐng)求被轉(zhuǎn)發(fā)到本機(jī)SSH服務(wù)的22端口,;
(4)反向SSH請(qǐng)求成功后,,C&C服務(wù)器在Port1端口開(kāi)啟監(jiān)聽(tīng),并建立一個(gè)反向SSH隧道,;
(5)滲透人員登錄C&C服務(wù)器的SSH服務(wù),;
(6)滲透人員通過(guò)反向SSH監(jiān)聽(tīng)端口,登錄樹(shù)莓派SSH服務(wù),;
(7)滲透人員向樹(shù)莓派發(fā)送的指令操作都被進(jìn)行兩次封包,,并最終偽裝為HTTPS流。
3 匿名遠(yuǎn)程控制方法
滲透人員對(duì)樹(shù)莓派進(jìn)行遠(yuǎn)程控制時(shí),,會(huì)留下面包屑,,容易被追蹤到,無(wú)法達(dá)到隱蔽的效果,,由此,,本文使用Tor網(wǎng)絡(luò)進(jìn)行匿名,并最終實(shí)現(xiàn)匿名的遠(yuǎn)程控制,。
3.1 Tor匿名原理
Tor網(wǎng)絡(luò)主要由洋蔥代理(Onion Proxy,,OP),、目錄服務(wù)器(Directory Server,,DS)和洋蔥路由器(Onion Router,OR)三部分組成[8],。OP主要為T(mén)or用戶(hù)完成路由節(jié)點(diǎn)的選擇,、電路(Circuit)建立、數(shù)據(jù)包發(fā)送與接收等代理工作,;DS主要負(fù)責(zé)匯總Tor網(wǎng)絡(luò)的運(yùn)行狀態(tài),,并向OP發(fā)布最新的Tor路由節(jié)點(diǎn)列表;OR主要由Tor網(wǎng)絡(luò)志愿者組成,,用于對(duì)數(shù)據(jù)包進(jìn)行重路由,,從而實(shí)現(xiàn)匿名效果。在Tor網(wǎng)絡(luò)建立連接的過(guò)程中,,OP會(huì)隨機(jī)選擇3個(gè)可用的OR分別作為T(mén)or網(wǎng)絡(luò)的入口節(jié)點(diǎn)(Guard Node,,GN)、中繼節(jié)點(diǎn)(Relay Node,,RN)和出口節(jié)點(diǎn)(Exit Node,,EN),在使用Diffie-Hellman依次進(jìn)行密鑰協(xié)商后,,得到3個(gè)會(huì)話密鑰,,并用其依次對(duì)消息進(jìn)行加密,,最后OP將3次加密的數(shù)據(jù)包發(fā)送至GN。GN,、RN和EN依次使用共享的會(huì)話密鑰對(duì)數(shù)據(jù)包進(jìn)行解密,,并發(fā)往下一跳,使得數(shù)據(jù)包最終由EN以明文的形式發(fā)送至目標(biāo)站點(diǎn),。數(shù)據(jù)包的返回,,在依次經(jīng)過(guò)EX、RN和GN時(shí),,被各節(jié)點(diǎn)使用共享會(huì)話密鑰進(jìn)行加密,,最終GN將3次加密的數(shù)據(jù)包發(fā)送給OP,OP再通過(guò)3個(gè)共享會(huì)話密鑰進(jìn)行依次解密,,最后將得到的明文傳遞給Tor用戶(hù),。
由于入口節(jié)點(diǎn)只知道數(shù)據(jù)包的發(fā)送者,中繼節(jié)點(diǎn)不知道任何關(guān)鍵信息,,而出口節(jié)點(diǎn)也僅知道數(shù)據(jù)包的接收者和明文信息,,總之沒(méi)有一個(gè)節(jié)點(diǎn)可以獲得消息的發(fā)送者、消息的接收者和消息的內(nèi)容這一完整信息,,也無(wú)法同時(shí)得到消息發(fā)送者和消息內(nèi)容這兩個(gè)關(guān)鍵信息的組合,,從而實(shí)現(xiàn)了匿名。
3.2 匿名SSH實(shí)現(xiàn)
雖然Tor網(wǎng)絡(luò)主要用于匿名傳輸HTTP/HTTPS流,,但只要是以TCP為傳輸層協(xié)議的應(yīng)用,,都可以通過(guò)Tor網(wǎng)絡(luò)進(jìn)行傳輸,達(dá)到匿名效果,。SSH是基于TCP上的應(yīng)用,,故其數(shù)據(jù)流可通過(guò)Tor網(wǎng)絡(luò)進(jìn)行傳輸,但需要進(jìn)行端口轉(zhuǎn)發(fā)工作,。要將SSH端口的數(shù)據(jù)轉(zhuǎn)發(fā)到Tor端口,,可以使用Sock4/Socks5代理服務(wù)器實(shí)現(xiàn)。本文在Ubuntu 14.04環(huán)境下,,使用Proxychains代理工具,,成功通過(guò)Tor網(wǎng)絡(luò)匿名傳輸SSH流,實(shí)現(xiàn)了匿名的遠(yuǎn)程控制,。
4 滲透測(cè)試實(shí)驗(yàn)
首先,,為了檢驗(yàn)本文提出的滲透方法的隱蔽性,通過(guò)在樹(shù)莓派上使用Wireshark工具,,對(duì)樹(shù)莓派與C&C服務(wù)器之間的連接與通信數(shù)據(jù)包進(jìn)行捕獲,,捕獲的數(shù)據(jù)包如圖4所示(黑底白字是樹(shù)莓派發(fā)送至C&C服務(wù)器的數(shù)據(jù)包,白底黑字的是反向數(shù)據(jù)包),。
由圖4可以看出,,Wireshark沒(méi)有解析出任何的SSH數(shù)據(jù)包,,SSH流已被偽裝成HTTPS流。較之于正常的HTTPS流,,偽裝的HTTPS流內(nèi)包含惡意的控制流,,而較之于常規(guī)的控制流,偽裝的HTTPS流由于內(nèi)部信息對(duì)外不可見(jiàn),,使其可避開(kāi)防火墻的攔截與IDS/IPS的檢測(cè),,而難以被發(fā)現(xiàn),達(dá)到了隱蔽的效果,。
接著,,為了揭露本文提出的滲透測(cè)試方法可能會(huì)導(dǎo)致的威脅,故對(duì)此進(jìn)行滲透測(cè)試實(shí)驗(yàn),,為安全人員對(duì)此類(lèi)攻擊的識(shí)別與防范提供參考,。滲透測(cè)試流程圖如圖5所示。
滲透測(cè)試過(guò)程中,,首先將樹(shù)莓派偽裝成一臺(tái)網(wǎng)絡(luò)監(jiān)控?cái)z像機(jī)[9],,可用于家庭或企業(yè)的遠(yuǎn)程監(jiān)控管理;其次,,使用本文提出的隱蔽式滲透方法為樹(shù)莓派植入后門(mén),,同時(shí)編寫(xiě)開(kāi)機(jī)啟動(dòng)項(xiàng)腳本程序,利用SSH公鑰認(rèn)證,、autossh自動(dòng)重連功能,,實(shí)現(xiàn)樹(shù)莓派一經(jīng)上電聯(lián)網(wǎng),即刻與C&C服務(wù)器建立起隱蔽的穩(wěn)固隧道,;再者,,將樹(shù)莓派置于一臺(tái)已聯(lián)網(wǎng)的路由器后上電,,并在路由器網(wǎng)絡(luò)外,,使用一臺(tái)配置好的Ubuntu主機(jī),通過(guò)Tor網(wǎng)絡(luò)匿名控制樹(shù)莓派,;最后,,利用樹(shù)莓派進(jìn)行拍照、錄像以及文件回傳等操作,,實(shí)現(xiàn)對(duì)遠(yuǎn)程監(jiān)控錄像的竊取與篡改,,并利用nmap對(duì)網(wǎng)絡(luò)環(huán)境進(jìn)行掃描,開(kāi)始實(shí)施橫向擴(kuò)展攻擊,。
通過(guò)實(shí)驗(yàn)了解到,,雖然該類(lèi)攻擊相對(duì)隱蔽,可避開(kāi)常規(guī)的防御檢測(cè),,但可以通過(guò)加強(qiáng)對(duì)進(jìn)出人員的管理,,以及使用正規(guī)渠道獲得的電子設(shè)備,,來(lái)減少遭受到此類(lèi)攻擊的可能性。同時(shí),,可以通過(guò)對(duì)網(wǎng)絡(luò)關(guān)鍵位置進(jìn)行定期的物理排查,,以及對(duì)內(nèi)網(wǎng)環(huán)境進(jìn)行異常流檢測(cè)等措施,及時(shí)發(fā)現(xiàn)攻擊源,,以減少損失,。
5 結(jié)束語(yǔ)
本文闡述了一種基于樹(shù)莓派的隱蔽式滲透測(cè)試方法,該方法通過(guò)對(duì)樹(shù)莓派進(jìn)行配置與植入,,對(duì)通信數(shù)據(jù)進(jìn)行加密與偽裝,,對(duì)滲透人員的操作進(jìn)行匿名,最終實(shí)現(xiàn)一種基于樹(shù)莓派的PT攻擊,。實(shí)驗(yàn)表明,,網(wǎng)絡(luò)的安全不應(yīng)只關(guān)注對(duì)網(wǎng)絡(luò)邊界的防御,還應(yīng)了解潛在的物理漏洞可能導(dǎo)致的內(nèi)部網(wǎng)絡(luò)風(fēng)險(xiǎn),,同時(shí)通過(guò)對(duì)攻擊的理解,,更好地提高網(wǎng)絡(luò)的安全。
參考文獻(xiàn)
[1] STEWART J.Operation Aurora:Clues in the code[EB/OL].(2010-1-19)[2016-04-02].https://www.secureworks.com/blog/research-20913.
[2] WRIGHTSON T.Advanced persistent threat hacking:the art and science of hacking any organization[M].McGraw-Hill Education,,2014.
[3] 曹自剛,,熊剛,趙詠,,等.隱蔽式網(wǎng)絡(luò)攻擊綜述[J].集成技術(shù),,2014,3(2):1-16.
[4] BODMER S,,KILGER M,,CARPENTER G,et al.Reverse deception:organized cyber threat counter-exploitation[M].McGraw-Hill Education,,2012.
[5] MUNIL J,,LAKHANI A.Penetration testing with raspberry pi[M].Packt Publishing Ltd,2015.
[6] 甘長(zhǎng)華.網(wǎng)絡(luò)安全協(xié)議SSH的研究與實(shí)現(xiàn)[D].天津:天津大學(xué),,2007.
[7] 彭樂(lè).網(wǎng)絡(luò)穿透技術(shù)的研究[D].北京:北京郵電大學(xué),,2008.
[8] 王付剛.TOR匿名通信技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2010.
[9] JONES D.Raspberry pi-teach,,learn,,and make with raspberry pi[EB/OL].(2016)[2016].https://www.raspberrypi.org/learning/python-picamera-setup/worksheet.md.