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