文獻(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)攻擊便成為安全界熱議的話(huà)題。特別的針對(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ì)話(huà)密鑰,并用其依次對(duì)消息進(jìn)行加密,最后OP將3次加密的數(shù)據(jù)包發(fā)送至GN。GN、RN和EN依次使用共享的會(huì)話(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ì)話(huà)密鑰進(jìn)行加密,最終GN將3次加密的數(shù)據(jù)包發(fā)送給OP,OP再通過(guò)3個(gè)共享會(huì)話(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.