畢曉東
(浙江經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院,浙江 杭州 310018)
在數(shù)字化時(shí)代,網(wǎng)絡(luò)空間安全議題已上升到國(guó)家戰(zhàn)略層面,受到各國(guó)高度重視。網(wǎng)絡(luò)安全的問(wèn)題復(fù)雜而突出,這對(duì)網(wǎng)絡(luò)安全人才的培養(yǎng)提出了更高的要求。
在網(wǎng)絡(luò)安全人才培養(yǎng)過(guò)程中需要提供實(shí)戰(zhàn)環(huán)境。通過(guò)網(wǎng)絡(luò)安全仿真技術(shù),快速、低成本的構(gòu)建仿真網(wǎng)絡(luò)安全靶場(chǎng)環(huán)境,支撐用戶在該環(huán)境中開(kāi)展真實(shí)的大范圍網(wǎng)絡(luò)攻防演練、應(yīng)急演練、培訓(xùn)教育,測(cè)試和評(píng)估網(wǎng)絡(luò)環(huán)境安全和網(wǎng)絡(luò)設(shè)施的薄弱環(huán)節(jié),幫助用戶預(yù)防未知威脅和攻擊,提升安全防護(hù)能力。美國(guó)2009年1月啟動(dòng)了“國(guó)家網(wǎng)絡(luò)靶場(chǎng)”項(xiàng)目,并于2011 年10 月完成了原型開(kāi)發(fā)。通過(guò)模擬真實(shí)的電子對(duì)抗和網(wǎng)絡(luò)攻擊,用來(lái)對(duì)未來(lái)可能發(fā)生的網(wǎng)絡(luò)戰(zhàn)爭(zhēng)進(jìn)行推演。目前高校網(wǎng)絡(luò)安全專業(yè)在網(wǎng)絡(luò)安全人才培養(yǎng)方面,網(wǎng)絡(luò)靶場(chǎng)也有著重要應(yīng)用價(jià)值,可以為網(wǎng)絡(luò)安全技術(shù)研究、學(xué)習(xí)、攻防對(duì)抗演練等提供安全、仿真的實(shí)驗(yàn)實(shí)訓(xùn)攻防環(huán)境。近幾年,針對(duì)網(wǎng)絡(luò)安全人才培養(yǎng)開(kāi)發(fā)的網(wǎng)絡(luò)靶場(chǎng)實(shí)訓(xùn)平臺(tái),在高校人才培養(yǎng)中發(fā)揮著十分重要的作用。
Docker 是基于Go 語(yǔ)言實(shí)現(xiàn)的開(kāi)源項(xiàng)目,其可以通過(guò)對(duì)應(yīng)用組件的封裝、開(kāi)發(fā)、部署、運(yùn)行等生命周期的管理,使用戶的機(jī)器運(yùn)行環(huán)境能夠做到“一次封裝,到處運(yùn)行”。Docker 可以輕松創(chuàng)建,運(yùn)行和分發(fā)應(yīng)用程序。應(yīng)用程序打包了運(yùn)行應(yīng)用程序所需的所有內(nèi)容。該技術(shù)保證容器可以在每個(gè)Docker運(yùn)行環(huán)境上運(yùn)行。
Docker技術(shù)具有以下優(yōu)點(diǎn):
●再生性:使用Docker時(shí),可以確保軟件產(chǎn)品(應(yīng)用程序,數(shù)據(jù)分析,預(yù)測(cè)模型等)在所有docker 運(yùn)行時(shí)環(huán)境中運(yùn)行。因?yàn)槿萜靼\(yùn)行工程所需的一切,它不僅分發(fā)代碼,還分發(fā)環(huán)境。
●一致性:Docker提供了一個(gè)統(tǒng)一且一致的運(yùn)行環(huán)境,適用于各種軟件產(chǎn)品。它減少了系統(tǒng)管理的時(shí)間,更專注于核心工作。Docker 類似于整個(gè)軟件生態(tài)系統(tǒng)。
●可追溯性:Docker 容器是根據(jù)腳本構(gòu)建的,該腳本在必要的軟件依賴和環(huán)境下是可讀摘要的。這種腳本可以受版本控制。腳本完全可以通過(guò)這種方式跟蹤;Docker 容器可以存儲(chǔ)在組織內(nèi)的存儲(chǔ)庫(kù)中,從而以這種方式保留整個(gè)版本的歷史記錄。
● 可移植性:Docker 容器可以輕松地從一個(gè)Docker環(huán)境移植到另一個(gè)Docker環(huán)境。DockerSwarm(或Kubernetes)允許自動(dòng)擴(kuò)展應(yīng)用程序,從而減少系統(tǒng)管理和操作的成本。
●輕量化:在一臺(tái)機(jī)器上運(yùn)行的多個(gè)Docker容器可以共享這臺(tái)機(jī)器的操作系統(tǒng)內(nèi)核;能快讀的啟動(dòng),而只需占用很少的計(jì)算和內(nèi)存資源。鏡像是通過(guò)文件系統(tǒng)層進(jìn)行構(gòu)造的,并共享一些公共文件,這樣就能盡量降低磁盤用量,并能更快地下載鏡像。
●安全:Docker賦予應(yīng)用隔離性,不僅彼此隔離,還獨(dú)立于底層的基礎(chǔ)設(shè)施。默認(rèn)提供最強(qiáng)的隔離,因此應(yīng)用出了問(wèn)題,隔離在單個(gè)容器內(nèi),不會(huì)波影響到整臺(tái)機(jī)器。
本靶場(chǎng)設(shè)計(jì)以醫(yī)療行業(yè)為背景,基于真實(shí)醫(yī)院網(wǎng)絡(luò)場(chǎng)景,模擬出內(nèi)部網(wǎng)絡(luò)、生產(chǎn)網(wǎng)絡(luò)、外部網(wǎng)絡(luò),拓?fù)鋱D如圖1 所示。其中攻擊機(jī)采用KaliLinux,而靶機(jī)采用CentOS,充分仿真真實(shí)的攻擊場(chǎng)景。
圖1 行業(yè)網(wǎng)絡(luò)安全仿真靶場(chǎng)拓?fù)湓O(shè)計(jì)
①外網(wǎng)設(shè)計(jì)
博客服務(wù)器部署在外網(wǎng),外網(wǎng)上的服務(wù)器可以直接訪問(wèn)博客服務(wù)器。在博客服務(wù)器上使用Joomla3.4部署了一個(gè)博客網(wǎng)站(這個(gè)版本的Joomla 包含一個(gè)嚴(yán)重的SQL 注入漏洞,這里是滲透的一個(gè)關(guān)鍵入口)??梢岳眠@個(gè)漏洞獲得管理員的賬號(hào)密碼。
②內(nèi)網(wǎng)設(shè)計(jì)和實(shí)現(xiàn)
醫(yī)院門戶網(wǎng)站服務(wù)器和醫(yī)院FTP服務(wù)器所在的網(wǎng)絡(luò)屬于內(nèi)網(wǎng),處于防火墻之后,需要通過(guò)路由網(wǎng)關(guān)訪問(wèn)。
網(wǎng)站服務(wù)器上使用yxcms 部署了一個(gè)門戶網(wǎng)站,可以在登錄后臺(tái)后通過(guò)掛馬來(lái)連接服務(wù)器后門(服務(wù)器的系統(tǒng)為CentOS6.5,其內(nèi)核存在贓牛漏洞,可以用于提權(quán),作為內(nèi)網(wǎng)滲透的跳板機(jī))。
FTP 服務(wù)器采用VSFTP2.3.4,這個(gè)版本的VSFTP存在著名的笑臉漏洞,可以利用此漏洞獲取服務(wù)器權(quán)限。
③生產(chǎn)網(wǎng)設(shè)計(jì)和實(shí)現(xiàn)
VPN服務(wù)器和數(shù)據(jù)服務(wù)器所在的網(wǎng)絡(luò)屬于生產(chǎn)網(wǎng),需要通過(guò)VPN 才能訪問(wèn)。VPN 服務(wù)器采用openvpn部署,連接VPN 服務(wù)器后才能訪問(wèn)生產(chǎn)網(wǎng)中的數(shù)據(jù)服務(wù)器。
數(shù)據(jù)服務(wù)器使用MySQL 部署,數(shù)據(jù)庫(kù)中的數(shù)據(jù)就是最終目標(biāo)。此服務(wù)器root 賬號(hào)使用了弱密碼,攻擊者可以通過(guò)暴力破解獲得root 權(quán)限,最后得到目標(biāo)數(shù)據(jù)。
●信息取證(磁盤恢復(fù)、內(nèi)存分析、PDF 審計(jì)、注冊(cè)表審計(jì))
●滲透測(cè)試評(píng)估網(wǎng)絡(luò)系統(tǒng)安全
●Web服務(wù)器、ftp服務(wù)器滲透、提權(quán)
●攻擊WPA/WPA2 保護(hù)的無(wú)線網(wǎng)絡(luò)(獲取WiFi密碼、網(wǎng)絡(luò)嗅探)
●破解密碼(離線破解哈希密碼、在線破解網(wǎng)站登錄密碼)
●逆向工程(將android、Java、C++編寫(xiě)的程序反編譯成代碼)
靶場(chǎng)主要靶機(jī)漏洞包括JoomlaSQL 注入漏洞、Linux內(nèi)核贓牛漏洞、VSFTP笑臉漏洞。
①Joomla
是一套自由、開(kāi)放源代碼的內(nèi)容管理系統(tǒng),以PHP撰寫(xiě),用于發(fā)布內(nèi)容在萬(wàn)維網(wǎng)與內(nèi)部網(wǎng),通常被用來(lái)搭建商業(yè)網(wǎng)站、個(gè)人博客、信息管理系統(tǒng)、Web 服務(wù)等,還可以進(jìn)行二次開(kāi)發(fā)以擴(kuò)展使用范圍。其功能包含可提高性能的頁(yè)面緩存、RSS饋送、頁(yè)面的可打印版本、新聞?wù)?、博客、投票、網(wǎng)站搜索、與語(yǔ)言國(guó)際化。
②臟牛漏洞(CVE-2016-5195)
是公開(kāi)后影響范圍最廣和最深的漏洞之一,Linuxkernel>=2.6.22(2007年發(fā)行,到2016年10月18日才修復(fù))的Linux 版本,包括Android、桌面版和服務(wù)器版都受到其影響。惡意攻擊者通過(guò)該漏洞可以輕易地繞過(guò)常用的漏洞防御方法,對(duì)幾百萬(wàn)的用戶進(jìn)行攻擊。
③VSFTP
VSFTP是一個(gè)基于GPL發(fā)布的類Unix系統(tǒng)上使用的FTP 服務(wù)器軟件,VSFTP2.3.4 版本存在惡意后門,遠(yuǎn)程攻擊者可利用這個(gè)問(wèn)題控制受影響系統(tǒng)。使用ftp 客戶端連接含有漏洞的FTP 服務(wù)器,輸入用戶名時(shí)以笑臉?lè)?hào):)結(jié)尾,含有漏洞的VSFTP 程序便會(huì)在服務(wù)器上開(kāi)啟后門,連接此后門就可以控制服務(wù)器。
攻擊測(cè)試以黑客視角,從外網(wǎng)來(lái)滲透,整個(gè)過(guò)程設(shè)置多個(gè)節(jié)點(diǎn),主要考察使用者多種網(wǎng)絡(luò)滲透能力,近乎實(shí)戰(zhàn)場(chǎng)景,可以通過(guò)黑客視角,了解和掌握攻擊方法和手段。有助于網(wǎng)絡(luò)安全人才更好的提升網(wǎng)絡(luò)安全防御思維和能力。
①第一步:掃描醫(yī)院門戶網(wǎng)站獲取有效信息。
通過(guò)對(duì)門戶CMS 網(wǎng)站信息探查cms 服務(wù)器地址為192.168.1.2,接著,查看robots.txt 訪問(wèn)http://192.168.1.2/robots.txt,發(fā)現(xiàn)沒(méi)有可以利用的信息,接下來(lái)進(jìn)行網(wǎng)站敏感文件掃描,獲得敏感信息。
②第二步:利用上一步得到敏感信息進(jìn)行社工,找到博客網(wǎng)站。
在敏感文件中發(fā)現(xiàn)一個(gè)特殊的200][application/zip][2.87mb]、使用瀏覽器訪問(wèn)下載后解壓,發(fā)現(xiàn)是網(wǎng)站的源代碼備份,查找網(wǎng)站內(nèi)可以利用的信息(發(fā)現(xiàn)管理員的個(gè)人博客地址192.168.1.222)
③第三步:利用博客網(wǎng)站漏洞獲取管理員賬號(hào)密碼。
訪問(wèn)博客。發(fā)現(xiàn)博客是基于joomla 搭建,首先嘗試訪問(wèn)joomla 的默認(rèn)后臺(tái)地址http://192.168.1.222/administrator/,可以訪問(wèn),但是沒(méi)有賬戶密碼,使用默認(rèn)賬戶密碼嘗試猜解,沒(méi)有成功,進(jìn)一步訪問(wèn)http://192.168.1.222/README.txt獲取更多信息(發(fā)現(xiàn)joomla的版本為3.4,根據(jù)這個(gè)信息來(lái)搜索漏洞完成入侵)。接下來(lái)使用kali,打開(kāi)Mestasploit 執(zhí)行攻擊命令,借助XBruteForcer 工具,并設(shè)置字典進(jìn)行暴力破解,獲得賬號(hào)、密碼存放在同文件夾下的Result.txt中。
④第四步:嘗試用上一步得到的賬號(hào)密碼登錄門戶網(wǎng)站。
猜測(cè)cms網(wǎng)站管理員賬戶密碼與博客網(wǎng)站賬戶密碼相同,嘗試使用上文得到的后臺(tái)路徑和賬戶密碼登入后臺(tái),成功登錄后,在kali 上用weevely 工具完成此操作,使用命令安裝,安裝成功后,創(chuàng)建木馬文件(具體命令weevelygeneratehellohook.php)
⑤第五步:進(jìn)入門戶網(wǎng)站后臺(tái),植入木馬后門。把木馬文件上傳到cms 網(wǎng)站,經(jīng)測(cè)試沒(méi)有找到可以直接上傳php 的地方,因此采用新建的方式代替。具體操作:登錄cms網(wǎng)站的管理員后臺(tái),然后在cms網(wǎng)站管理界面依次點(diǎn)擊管理首頁(yè)->前臺(tái)模板->管理模板文件->新建取名為hook.php,最后把生成的php 文件的內(nèi)容粘貼上去,如圖2所示。
圖2 通過(guò)后臺(tái)管理功能添加后門程序文件
⑥ 第六步:連接植入的木馬后門,并利用贓牛漏洞提權(quán)。
后門創(chuàng)建成功,就可以直接訪問(wèn)。為了維持控制權(quán)限,就要進(jìn)行提權(quán)操作,使用命令uname-a查看操作系統(tǒng)的內(nèi)核版本信息,發(fā)現(xiàn)內(nèi)核版本為2.6.32-431.el6.x86_64(此版本含有贓牛漏洞),接下來(lái)使用贓牛漏洞實(shí)現(xiàn)提權(quán)。在終端執(zhí)行nc -vv -l -p12388 命令來(lái)監(jiān)聽(tīng)反彈shell。
⑦第七步:滲透內(nèi)網(wǎng),掃描到FTP服務(wù)器,并利用笑臉漏洞獲取權(quán)限。
在第六步獲取的cms 服務(wù)器的rootshell 中,安裝nmap(yuminstall -y nmap),并對(duì)內(nèi)網(wǎng)進(jìn)行掃描(nmap-p21,22,80192.168.1.0/24),掃描后,發(fā)現(xiàn)內(nèi)網(wǎng)ftp 服務(wù)器,進(jìn)一步對(duì)ftp 服務(wù)器掃描,發(fā)現(xiàn)版本為vsftp2.3.4(此版本的vsftp 含有笑臉漏洞),利用漏洞進(jìn)行攻擊。
⑧第八步:在FTP 服務(wù)器上找到包含VPN 賬號(hào)密碼信息的文件,連接VPN。
⑨第九步:通過(guò)VPN 連入生產(chǎn)環(huán)境后掃描到數(shù)據(jù)服務(wù)器,暴力破解root賬戶。
⑩ 第十步:使用root 權(quán)限修改mysql 數(shù)據(jù)庫(kù)密碼,連接數(shù)據(jù)庫(kù),獲得數(shù)據(jù)庫(kù)敏感信息。
最終完成全部滲透流程。通過(guò)以上步驟可以掌握主流的漏洞利用技術(shù),提升網(wǎng)絡(luò)滲透能力,使學(xué)生以攻擊者視角去理解攻擊全流程,從而提升培養(yǎng)網(wǎng)絡(luò)安全意識(shí)和網(wǎng)絡(luò)加固技術(shù),做到“知攻能防”。進(jìn)而全方位提升學(xué)生整體網(wǎng)絡(luò)安全運(yùn)維和防護(hù)能力。
基Docker 的網(wǎng)絡(luò)安全虛擬仿真靶場(chǎng)可以模擬真實(shí)企業(yè)網(wǎng)絡(luò)場(chǎng)景,提供真實(shí)仿真的企業(yè)實(shí)戰(zhàn)環(huán)境,方便快速部署各種常見(jiàn)的服務(wù)和漏洞,這種模式具有輕量化、易部署、易管理的特點(diǎn)。該靶場(chǎng)在網(wǎng)絡(luò)安全專業(yè)的項(xiàng)目實(shí)訓(xùn)室有著廣泛的應(yīng)用前景。目前該平臺(tái)還缺少整個(gè)過(guò)程的記錄,不能把實(shí)驗(yàn)數(shù)據(jù)實(shí)時(shí)反饋給學(xué)生,接下來(lái)還要在此平臺(tái)上融入實(shí)訓(xùn)評(píng)價(jià)系統(tǒng),使該平臺(tái)成為具備網(wǎng)絡(luò)攻防實(shí)訓(xùn)和測(cè)評(píng)、學(xué)生畫(huà)像數(shù)據(jù)分析、反饋功能的綜合仿真實(shí)訓(xùn)平臺(tái)。