文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.06.026
中文引用格式: 陶曉玲,,伍欣,亢蕊楠. 基于樹莓派的隱蔽式滲透測(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)的魚叉式郵件釣魚攻擊,,到夜龍行動(dòng)的多攻擊向量組合攻擊,再到震網(wǎng)病毒的多0day漏洞利用攻擊可見一斑,。APT攻擊有愈演愈烈的趨勢(shì),,由于其隱蔽性的特點(diǎn),,導(dǎo)致其可在目標(biāo)環(huán)境進(jìn)行長期的潛伏而難以被發(fā)現(xiàn),對(duì)信息安全造成了持續(xù)性的巨大危害,,同時(shí),,這也是當(dāng)前安全防護(hù)與檢測(cè)的技術(shù)難點(diǎn)[3]。
PT(Persistent Threat)攻擊是APT攻擊的組成部分,,相對(duì)于APT攻擊,,其缺少復(fù)雜強(qiáng)大的針對(duì)性攻擊載荷,但其擁有隱蔽的通信手段,,可通過偽裝,、加密、混淆等技術(shù)實(shí)現(xiàn)攻擊代碼的隱藏與網(wǎng)絡(luò)后門的建立,,能夠長期對(duì)目標(biāo)環(huán)境進(jìn)行信息竊取與主機(jī)操控等活動(dòng)[4],。例如Rootkit、后門程序以及一些僵尸網(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所示,模型主要由樹莓派,、C&C服務(wù)器和Tor網(wǎng)絡(luò)三部分組成,。其中,樹莓派是一款基于Linux系統(tǒng)的卡片式電腦,,雖然只有信用卡的大小,,卻具有電腦的所有基本功能。由于其具有極高的性價(jià)比以及很好的兼容性與可擴(kuò)展性,,使得它成為物理后門植入載體的首選,。滲透測(cè)試過程中,為其寫入的是當(dāng)前最為流行的Kali Linux樹莓派定制版系統(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)配置樹莓派,,并將其植入目標(biāo)環(huán)境;(3)樹莓派上電后,,穿過防火墻限制,,自動(dòng)與C&C服務(wù)器建立起持久的隱蔽隧道;(4)滲透人員與Tor網(wǎng)絡(luò)建立連接而獲得匿名,;(5)滲透人員通過Tor網(wǎng)絡(luò)登陸到C&C服務(wù)器,;(6)滲透人員通過C&C服務(wù)器對(duì)內(nèi)網(wǎng)環(huán)境的樹莓派進(jìn)行控制。
由此,,滲透人員與樹莓派之間建立起了一條通信鏈路,,滲透人員可向樹莓派發(fā)送操作指令,通過樹莓派對(duì)目標(biāo)環(huán)境進(jìn)行持續(xù)的滲透測(cè)試,。
2 隱蔽式隧道建立方法
本文采取反向SSH實(shí)現(xiàn)外網(wǎng)C&C服務(wù)器對(duì)樹莓派的控制,;使用Stunnel對(duì)SSH通信進(jìn)行加密,并將其偽裝成HTTPS流,,從而避開防火墻和IDS/IPS的攔截與檢測(cè),。
2.1 反向SSH隧道建立
反向SSH隧道建立有兩個(gè)目的:一方面是實(shí)現(xiàn)外網(wǎng)C&C服務(wù)器對(duì)內(nèi)網(wǎng)樹莓派的Shell控制;另一方面利用SSH對(duì)數(shù)據(jù)流加密的性質(zhì),,實(shí)現(xiàn)控制信息的隱蔽[6],。其連接過程如圖2所示。
反向SSH連接建立過程如下:
(1)樹莓派向C&C服務(wù)器發(fā)起反向SSH請(qǐng)求,;(2)通過認(rèn)證后,,樹莓派與C&C服務(wù)器之間建立起了一條隧道,同時(shí)在C&C服務(wù)器的Port1端口上開啟監(jiān)聽,,任何在C&C服務(wù)器上使用SSH連接Port1端口的用戶,,將會(huì)反向連接到樹莓派上;(3)滲透人員登錄C&C服務(wù)器的SSH服務(wù),;(4)滲透人員通過SSH訪問C&C服務(wù)器上的Port1監(jiān)聽端口,,從而獲得內(nèi)網(wǎng)中樹莓派root權(quán)限下的Shell;(5)對(duì)樹莓派的操作指令通過SSH隧道進(jìn)行發(fā)送,,實(shí)現(xiàn)了對(duì)內(nèi)網(wǎng)樹莓派的控制,。
自此,樹莓派與滲透人員之間相當(dāng)于建立起了一條VPN隧道,, 隧道內(nèi)的信息對(duì)外不可見,。
2.2 使用Stunnel對(duì)SSH進(jìn)行偽裝
SSH的數(shù)據(jù)包會(huì)被協(xié)議分析器解析出來,網(wǎng)絡(luò)管理人員通常為安全考慮,,會(huì)禁止這類VPN隧道的建立與數(shù)據(jù)包的傳輸,。為了達(dá)到更好的隱蔽性,,本文使用Stunnel,將SSH流偽裝為HTTPS流,。
在將SSH流偽裝成HTTPS流之前,,需要對(duì)HTTPS的工作過程進(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ì)開發(fā)的自由跨平臺(tái)軟件,它使用OpenSSL庫,,在應(yīng)用層下增加SSL/TLS層,,完成客戶端與服務(wù)器之間的通信加密[7],而這與HTTPS加密方式類似,,本文利用這一特性,,將SSH流偽裝成HTTPS流,其偽裝過程如圖3所示,。
在為樹莓派和C&C服務(wù)器分別配置好Stunnel 客戶端和Stunnel服務(wù)器后,,就可將SSH流偽裝為HTTPS流,其過程如下:
(1)樹莓派向本機(jī)Stunnel客戶端的監(jiān)聽端口Port2發(fā)起反向SSH連接請(qǐng)求,;
(2)樹莓派的Stunnel客戶端與C&C服務(wù)器的Stunnel服務(wù)器進(jìn)行SSL/TSL握手,,握手成功后建立起Stunnel隧道,加密后的SSH數(shù)據(jù)包通過Stunnel隧道發(fā)送至C&C服務(wù)器的Stunnel服務(wù)器443監(jiān)聽端口,;
(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端口開啟監(jiān)聽,并建立一個(gè)反向SSH隧道,;
(5)滲透人員登錄C&C服務(wù)器的SSH服務(wù);
(6)滲透人員通過反向SSH監(jiān)聽端口,,登錄樹莓派SSH服務(wù),;
(7)滲透人員向樹莓派發(fā)送的指令操作都被進(jìn)行兩次封包,并最終偽裝為HTTPS流,。
3 匿名遠(yuǎn)程控制方法
滲透人員對(duì)樹莓派進(jìn)行遠(yuǎn)程控制時(shí),,會(huì)留下面包屑,容易被追蹤到,,無法達(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主要為Tor用戶完成路由節(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ò)建立連接的過程中,OP會(huì)隨機(jī)選擇3個(gè)可用的OR分別作為Tor網(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)過EX、RN和GN時(shí),,被各節(jié)點(diǎn)使用共享會(huì)話密鑰進(jìn)行加密,,最終GN將3次加密的數(shù)據(jù)包發(fā)送給OP,OP再通過3個(gè)共享會(huì)話密鑰進(jìn)行依次解密,,最后將得到的明文傳遞給Tor用戶,。
由于入口節(jié)點(diǎn)只知道數(shù)據(jù)包的發(fā)送者,中繼節(jié)點(diǎn)不知道任何關(guān)鍵信息,,而出口節(jié)點(diǎn)也僅知道數(shù)據(jù)包的接收者和明文信息,,總之沒有一個(gè)節(jié)點(diǎn)可以獲得消息的發(fā)送者,、消息的接收者和消息的內(nèi)容這一完整信息,也無法同時(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)用,,都可以通過Tor網(wǎng)絡(luò)進(jìn)行傳輸,,達(dá)到匿名效果。SSH是基于TCP上的應(yīng)用,,故其數(shù)據(jù)流可通過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代理工具,,成功通過Tor網(wǎng)絡(luò)匿名傳輸SSH流,,實(shí)現(xiàn)了匿名的遠(yuǎn)程控制。
4 滲透測(cè)試實(shí)驗(yàn)
首先,,為了檢驗(yàn)本文提出的滲透方法的隱蔽性,,通過在樹莓派上使用Wireshark工具,對(duì)樹莓派與C&C服務(wù)器之間的連接與通信數(shù)據(jù)包進(jìn)行捕獲,,捕獲的數(shù)據(jù)包如圖4所示(黑底白字是樹莓派發(fā)送至C&C服務(wù)器的數(shù)據(jù)包,,白底黑字的是反向數(shù)據(jù)包)。
由圖4可以看出,,Wireshark沒有解析出任何的SSH數(shù)據(jù)包,,SSH流已被偽裝成HTTPS流。較之于正常的HTTPS流,,偽裝的HTTPS流內(nèi)包含惡意的控制流,,而較之于常規(guī)的控制流,偽裝的HTTPS流由于內(nèi)部信息對(duì)外不可見,,使其可避開防火墻的攔截與IDS/IPS的檢測(cè),,而難以被發(fā)現(xiàn),達(dá)到了隱蔽的效果,。
接著,,為了揭露本文提出的滲透測(cè)試方法可能會(huì)導(dǎo)致的威脅,故對(duì)此進(jìn)行滲透測(cè)試實(shí)驗(yàn),,為安全人員對(duì)此類攻擊的識(shí)別與防范提供參考。滲透測(cè)試流程圖如圖5所示,。
滲透測(cè)試過程中,,首先將樹莓派偽裝成一臺(tái)網(wǎng)絡(luò)監(jiān)控?cái)z像機(jī)[9],,可用于家庭或企業(yè)的遠(yuǎn)程監(jiān)控管理;其次,,使用本文提出的隱蔽式滲透方法為樹莓派植入后門,,同時(shí)編寫開機(jī)啟動(dòng)項(xiàng)腳本程序,利用SSH公鑰認(rèn)證,、autossh自動(dòng)重連功能,,實(shí)現(xiàn)樹莓派一經(jīng)上電聯(lián)網(wǎng),即刻與C&C服務(wù)器建立起隱蔽的穩(wěn)固隧道,;再者,,將樹莓派置于一臺(tái)已聯(lián)網(wǎng)的路由器后上電,并在路由器網(wǎng)絡(luò)外,,使用一臺(tái)配置好的Ubuntu主機(jī),,通過Tor網(wǎng)絡(luò)匿名控制樹莓派;最后,,利用樹莓派進(jìn)行拍照,、錄像以及文件回傳等操作,實(shí)現(xiàn)對(duì)遠(yuǎn)程監(jiān)控錄像的竊取與篡改,,并利用nmap對(duì)網(wǎng)絡(luò)環(huán)境進(jìn)行掃描,,開始實(shí)施橫向擴(kuò)展攻擊。
通過實(shí)驗(yàn)了解到,,雖然該類攻擊相對(duì)隱蔽,,可避開常規(guī)的防御檢測(cè),但可以通過加強(qiáng)對(duì)進(jìn)出人員的管理,,以及使用正規(guī)渠道獲得的電子設(shè)備,,來減少遭受到此類攻擊的可能性。同時(shí),,可以通過對(duì)網(wǎng)絡(luò)關(guān)鍵位置進(jìn)行定期的物理排查,,以及對(duì)內(nèi)網(wǎng)環(huán)境進(jìn)行異常流檢測(cè)等措施,及時(shí)發(fā)現(xiàn)攻擊源,,以減少損失,。
5 結(jié)束語
本文闡述了一種基于樹莓派的隱蔽式滲透測(cè)試方法,該方法通過對(duì)樹莓派進(jìn)行配置與植入,,對(duì)通信數(shù)據(jù)進(jìn)行加密與偽裝,,對(duì)滲透人員的操作進(jìn)行匿名,最終實(shí)現(xiàn)一種基于樹莓派的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í)通過對(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] 甘長華.網(wǎng)絡(luò)安全協(xié)議SSH的研究與實(shí)現(xiàn)[D].天津:天津大學(xué),2007.
[7] 彭樂.網(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.