《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于樹莓派的隱蔽式滲透測試方法
基于樹莓派的隱蔽式滲透測試方法
2016年電子技術(shù)應(yīng)用第6期
陶曉玲1,2,伍 欣2,亢蕊楠2
1.桂林電子科技大學(xué) 廣西高校云計算與復(fù)雜系統(tǒng)重點實驗室,廣西 桂林541004; 2.桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林541004
摘要: 隨著APT攻擊的逐年增長,常規(guī)的滲透測試方法已經(jīng)無法滿足當(dāng)前環(huán)境下對網(wǎng)絡(luò)安全檢測多元化的需求。由此,針對隱蔽式滲透方法進行研究,以常被忽視的物理安全漏洞為出發(fā)點,提出一種以樹莓派作為間諜機的植入式PT滲透方法。該方法利用隧道技術(shù)與偽裝技術(shù),將控制流偽裝成HTTPS流,實現(xiàn)樹莓派與C&C服務(wù)器之間的隱蔽通信;同時,使用Tor網(wǎng)絡(luò),實現(xiàn)滲透人員的匿名控制,最終達(dá)到隱蔽的效果。最后,通過滲透測試模擬實驗,證明了該方法的隱蔽性,說明了此類攻擊可能導(dǎo)致的潛在威脅,為安全人員對APT/PT攻擊的防御與檢測提供參考。
中圖分類號: TP315
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.06.026
中文引用格式: 陶曉玲,伍欣,亢蕊楠. 基于樹莓派的隱蔽式滲透測試方法[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.
A raspberry pi based evasive penetration test approach
Tao Xiaoling1,2,Wu Xin2,Kang Ruinan2
1.Guangxi Colleges and Universities Key Laboratory of Cloud Computing and Complex Systems, Guilin University of Electronic Technology,Guilin 541004,China; 2.School of Information and Communication,Guilin University of Electronic Technology,Guilin 541004,China
Abstract: With the increase of APT attacks year by year, conventional penetration test approaches cannot meet the requirements of the diverse network security detections in current network environment. In this paper, evasive penetration test methods are investigated from the physically security vulnerabilities. A PT penetration test approach that seeding the raspberry pi as a spy is proposed as well. The approach disguises the control flows as the HTTPS flows using the tunnel technologies and camouflage techniques, which enable secure communication between raspberry pi and C&C server. Meanwhile, to achieve the evasive effects eventually, the Tor network is used to realize the anonymity for penetration testers. Finally, the experiment results show the evasive of the approach and clarify the threats that such attack can cause. The proposed approach provides reference for the security for officer to defend and detect the APT/PT attack.
Key words : penetration test;raspberry pi;evasive;persistent threat;tunnel;Tor network

0 引言

    自2010年Google報道“極光行動”之后[1],APT(Advanced Persistent Threat)攻擊便成為安全界熱議的話題。特別的針對性、高度的復(fù)雜性以及極強的隱蔽性是APT攻擊的主要特點[2],從暗鼠行動的魚叉式郵件釣魚攻擊,到夜龍行動的多攻擊向量組合攻擊,再到震網(wǎng)病毒的多0day漏洞利用攻擊可見一斑。APT攻擊有愈演愈烈的趨勢,由于其隱蔽性的特點,導(dǎo)致其可在目標(biāo)環(huán)境進行長期的潛伏而難以被發(fā)現(xiàn),對信息安全造成了持續(xù)性的巨大危害,同時,這也是當(dāng)前安全防護與檢測的技術(shù)難點[3]。

    PT(Persistent Threat)攻擊是APT攻擊的組成部分,相對于APT攻擊,其缺少復(fù)雜強大的針對性攻擊載荷,但其擁有隱蔽的通信手段,可通過偽裝、加密、混淆等技術(shù)實現(xiàn)攻擊代碼的隱藏與網(wǎng)絡(luò)后門的建立,能夠長期對目標(biāo)環(huán)境進行信息竊取與主機操控等活動[4]。例如Rootkit、后門程序以及一些僵尸網(wǎng)絡(luò)等攻擊屬于PT攻擊的范疇,而SQL注入、XSS、DDos等攻擊不屬于這一范疇。目前,針對APT/PT攻擊的滲透測試方法研究相對較少,由此本文針對其隱蔽性的特點進行研究,以滲透測試的形式進行模擬實驗,為幫助安全人員了解攻擊者的意圖、看到系統(tǒng)的潛在威脅提供信息支持。

1 滲透測試模型

    本文的滲透測試模型如圖1所示,模型主要由樹莓派、C&C服務(wù)器和Tor網(wǎng)絡(luò)三部分組成。其中,樹莓派是一款基于Linux系統(tǒng)的卡片式電腦,雖然只有信用卡的大小,卻具有電腦的所有基本功能。由于其具有極高的性價比以及很好的兼容性與可擴展性,使得它成為物理后門植入載體的首選。滲透測試過程中,為其寫入的是當(dāng)前最為流行的Kali Linux樹莓派定制版系統(tǒng),其中集成了許多必要的滲透工具,為進行滲透測試提供幫助[5]。C&C服務(wù)器使用具有公網(wǎng)IP的云服務(wù)器進行模擬,并運行Ubuntu 14.04 Server實例。Tor被安裝在一臺Ubuntu 14.04主機上,供滲透測試使用。

tx1-t1.gif

    滲透測試工作流程如下:

    (1)以一臺有root權(quán)限的實例作為C&C服務(wù)器;(2)配置樹莓派,并將其植入目標(biāo)環(huán)境;(3)樹莓派上電后,穿過防火墻限制,自動與C&C服務(wù)器建立起持久的隱蔽隧道;(4)滲透人員與Tor網(wǎng)絡(luò)建立連接而獲得匿名;(5)滲透人員通過Tor網(wǎng)絡(luò)登陸到C&C服務(wù)器;(6)滲透人員通過C&C服務(wù)器對內(nèi)網(wǎng)環(huán)境的樹莓派進行控制。

    由此,滲透人員與樹莓派之間建立起了一條通信鏈路,滲透人員可向樹莓派發(fā)送操作指令,通過樹莓派對目標(biāo)環(huán)境進行持續(xù)的滲透測試。

2 隱蔽式隧道建立方法

    本文采取反向SSH實現(xiàn)外網(wǎng)C&C服務(wù)器對樹莓派的控制;使用Stunnel對SSH通信進行加密,并將其偽裝成HTTPS流,從而避開防火墻和IDS/IPS的攔截與檢測。

2.1 反向SSH隧道建立

    反向SSH隧道建立有兩個目的:一方面是實現(xiàn)外網(wǎng)C&C服務(wù)器對內(nèi)網(wǎng)樹莓派的Shell控制;另一方面利用SSH對數(shù)據(jù)流加密的性質(zhì),實現(xiàn)控制信息的隱蔽[6]。其連接過程如圖2所示。

tx1-t2.gif

    反向SSH連接建立過程如下:

    (1)樹莓派向C&C服務(wù)器發(fā)起反向SSH請求;(2)通過認(rèn)證后,樹莓派與C&C服務(wù)器之間建立起了一條隧道,同時在C&C服務(wù)器的Port1端口上開啟監(jiān)聽,任何在C&C服務(wù)器上使用SSH連接Port1端口的用戶,將會反向連接到樹莓派上;(3)滲透人員登錄C&C服務(wù)器的SSH服務(wù);(4)滲透人員通過SSH訪問C&C服務(wù)器上的Port1監(jiān)聽端口,從而獲得內(nèi)網(wǎng)中樹莓派root權(quán)限下的Shell;(5)對樹莓派的操作指令通過SSH隧道進行發(fā)送,實現(xiàn)了對內(nèi)網(wǎng)樹莓派的控制。

    自此,樹莓派與滲透人員之間相當(dāng)于建立起了一條VPN隧道, 隧道內(nèi)的信息對外不可見。

2.2 使用Stunnel對SSH進行偽裝

    SSH的數(shù)據(jù)包會被協(xié)議分析器解析出來,網(wǎng)絡(luò)管理人員通常為安全考慮,會禁止這類VPN隧道的建立與數(shù)據(jù)包的傳輸。為了達(dá)到更好的隱蔽性,本文使用Stunnel,將SSH流偽裝為HTTPS流。

    在將SSH流偽裝成HTTPS流之前,需要對HTTPS的工作過程進行一些分析。HTTPS是安全版的HTTP,它在HTTP下增加了SSL/TLS層,從而對通信數(shù)據(jù)進行了加密,實現(xiàn)CA認(rèn)證功能,提高了使用的安全性。而Stunnel是一個為應(yīng)用程序之間進行安全通信而設(shè)計開發(fā)的自由跨平臺軟件,它使用OpenSSL庫,在應(yīng)用層下增加SSL/TLS層,完成客戶端與服務(wù)器之間的通信加密[7],而這與HTTPS加密方式類似,本文利用這一特性,將SSH流偽裝成HTTPS流,其偽裝過程如圖3所示。

tx1-t3.gif

    在為樹莓派和C&C服務(wù)器分別配置好Stunnel 客戶端和Stunnel服務(wù)器后,就可將SSH流偽裝為HTTPS流,其過程如下:

    (1)樹莓派向本機Stunnel客戶端的監(jiān)聽端口Port2發(fā)起反向SSH連接請求;

    (2)樹莓派的Stunnel客戶端與C&C服務(wù)器的Stunnel服務(wù)器進行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ù)包,對其解密后,反向SSH連接請求被轉(zhuǎn)發(fā)到本機SSH服務(wù)的22端口;

    (4)反向SSH請求成功后,C&C服務(wù)器在Port1端口開啟監(jiān)聽,并建立一個反向SSH隧道;

    (5)滲透人員登錄C&C服務(wù)器的SSH服務(wù);

    (6)滲透人員通過反向SSH監(jiān)聽端口,登錄樹莓派SSH服務(wù);

    (7)滲透人員向樹莓派發(fā)送的指令操作都被進行兩次封包,并最終偽裝為HTTPS流。

3 匿名遠(yuǎn)程控制方法

    滲透人員對樹莓派進行遠(yuǎn)程控制時,會留下面包屑,容易被追蹤到,無法達(dá)到隱蔽的效果,由此,本文使用Tor網(wǎng)絡(luò)進行匿名,并最終實現(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é)點的選擇、電路(Circuit)建立、數(shù)據(jù)包發(fā)送與接收等代理工作;DS主要負(fù)責(zé)匯總Tor網(wǎng)絡(luò)的運行狀態(tài),并向OP發(fā)布最新的Tor路由節(jié)點列表;OR主要由Tor網(wǎng)絡(luò)志愿者組成,用于對數(shù)據(jù)包進行重路由,從而實現(xiàn)匿名效果。在Tor網(wǎng)絡(luò)建立連接的過程中,OP會隨機選擇3個可用的OR分別作為Tor網(wǎng)絡(luò)的入口節(jié)點(Guard Node,GN)、中繼節(jié)點(Relay Node,RN)和出口節(jié)點(Exit Node,EN),在使用Diffie-Hellman依次進行密鑰協(xié)商后,得到3個會話密鑰,并用其依次對消息進行加密,最后OP將3次加密的數(shù)據(jù)包發(fā)送至GN。GN、RN和EN依次使用共享的會話密鑰對數(shù)據(jù)包進行解密,并發(fā)往下一跳,使得數(shù)據(jù)包最終由EN以明文的形式發(fā)送至目標(biāo)站點。數(shù)據(jù)包的返回,在依次經(jīng)過EX、RN和GN時,被各節(jié)點使用共享會話密鑰進行加密,最終GN將3次加密的數(shù)據(jù)包發(fā)送給OP,OP再通過3個共享會話密鑰進行依次解密,最后將得到的明文傳遞給Tor用戶。

    由于入口節(jié)點只知道數(shù)據(jù)包的發(fā)送者,中繼節(jié)點不知道任何關(guān)鍵信息,而出口節(jié)點也僅知道數(shù)據(jù)包的接收者和明文信息,總之沒有一個節(jié)點可以獲得消息的發(fā)送者、消息的接收者和消息的內(nèi)容這一完整信息,也無法同時得到消息發(fā)送者和消息內(nèi)容這兩個關(guān)鍵信息的組合,從而實現(xiàn)了匿名。

3.2 匿名SSH實現(xiàn)

    雖然Tor網(wǎng)絡(luò)主要用于匿名傳輸HTTP/HTTPS流,但只要是以TCP為傳輸層協(xié)議的應(yīng)用,都可以通過Tor網(wǎng)絡(luò)進行傳輸,達(dá)到匿名效果。SSH是基于TCP上的應(yīng)用,故其數(shù)據(jù)流可通過Tor網(wǎng)絡(luò)進行傳輸,但需要進行端口轉(zhuǎn)發(fā)工作。要將SSH端口的數(shù)據(jù)轉(zhuǎn)發(fā)到Tor端口,可以使用Sock4/Socks5代理服務(wù)器實現(xiàn)。本文在Ubuntu 14.04環(huán)境下,使用Proxychains代理工具,成功通過Tor網(wǎng)絡(luò)匿名傳輸SSH流,實現(xiàn)了匿名的遠(yuǎn)程控制。

4 滲透測試實驗

    首先,為了檢驗本文提出的滲透方法的隱蔽性,通過在樹莓派上使用Wireshark工具,對樹莓派與C&C服務(wù)器之間的連接與通信數(shù)據(jù)包進行捕獲,捕獲的數(shù)據(jù)包如圖4所示(黑底白字是樹莓派發(fā)送至C&C服務(wù)器的數(shù)據(jù)包,白底黑字的是反向數(shù)據(jù)包)。

tx1-t4.gif

    由圖4可以看出,Wireshark沒有解析出任何的SSH數(shù)據(jù)包,SSH流已被偽裝成HTTPS流。較之于正常的HTTPS流,偽裝的HTTPS流內(nèi)包含惡意的控制流,而較之于常規(guī)的控制流,偽裝的HTTPS流由于內(nèi)部信息對外不可見,使其可避開防火墻的攔截與IDS/IPS的檢測,而難以被發(fā)現(xiàn),達(dá)到了隱蔽的效果。

    接著,為了揭露本文提出的滲透測試方法可能會導(dǎo)致的威脅,故對此進行滲透測試實驗,為安全人員對此類攻擊的識別與防范提供參考。滲透測試流程圖如圖5所示。

tx1-t5.gif

    滲透測試過程中,首先將樹莓派偽裝成一臺網(wǎng)絡(luò)監(jiān)控攝像機[9],可用于家庭或企業(yè)的遠(yuǎn)程監(jiān)控管理;其次,使用本文提出的隱蔽式滲透方法為樹莓派植入后門,同時編寫開機啟動項腳本程序,利用SSH公鑰認(rèn)證、autossh自動重連功能,實現(xiàn)樹莓派一經(jīng)上電聯(lián)網(wǎng),即刻與C&C服務(wù)器建立起隱蔽的穩(wěn)固隧道;再者,將樹莓派置于一臺已聯(lián)網(wǎng)的路由器后上電,并在路由器網(wǎng)絡(luò)外,使用一臺配置好的Ubuntu主機,通過Tor網(wǎng)絡(luò)匿名控制樹莓派;最后,利用樹莓派進行拍照、錄像以及文件回傳等操作,實現(xiàn)對遠(yuǎn)程監(jiān)控錄像的竊取與篡改,并利用nmap對網(wǎng)絡(luò)環(huán)境進行掃描,開始實施橫向擴展攻擊。

    通過實驗了解到,雖然該類攻擊相對隱蔽,可避開常規(guī)的防御檢測,但可以通過加強對進出人員的管理,以及使用正規(guī)渠道獲得的電子設(shè)備,來減少遭受到此類攻擊的可能性。同時,可以通過對網(wǎng)絡(luò)關(guān)鍵位置進行定期的物理排查,以及對內(nèi)網(wǎng)環(huán)境進行異常流檢測等措施,及時發(fā)現(xiàn)攻擊源,以減少損失。

5 結(jié)束語

    本文闡述了一種基于樹莓派的隱蔽式滲透測試方法,該方法通過對樹莓派進行配置與植入,對通信數(shù)據(jù)進行加密與偽裝,對滲透人員的操作進行匿名,最終實現(xiàn)一種基于樹莓派的PT攻擊。實驗表明,網(wǎng)絡(luò)的安全不應(yīng)只關(guān)注對網(wǎng)絡(luò)邊界的防御,還應(yīng)了解潛在的物理漏洞可能導(dǎo)致的內(nèi)部網(wǎng)絡(luò)風(fēng)險,同時通過對攻擊的理解,更好地提高網(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的研究與實現(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。