◆宋 超 王克壘
(無錫旅游商貿高等職業技術學校 江蘇 214000)
網絡安全是當前社會的熱點,培養安全意識要從小、從學校抓起,2019 年“網絡信息安全”首次成為全國中職學校的新增專業,網絡靶機是一類的帶有漏洞的主機系統,它是網絡安全專業學生很好的實踐平臺,能幫助學生認識信息收集、漏洞檢測,入侵系統、后門植入等黑客攻擊的整個流程,提高學生對網絡安全知識內容的理解程度,然而如何搭建一個網絡靶機的環境,卻是擺在廣大中職網絡安全課程任課教師面前的一道難題。
ExploitDB 是一個面向全世界黑客的漏洞提交平臺https://www.exploit-db.com/,該平臺會公布最新漏洞的相關情況,這些可以幫助企業改善公司的安全狀況,同時也以幫助安全研究者和滲透測試工程師更好地進行安全測試工作。
本文以Linux 系統中常見的proftp 服務為例,闡述了如何從ExploitDB 網站上下載并配置proftp 服務的漏洞版本,搭建一個網絡靶機的環境,最后使用攻擊機kali Linux 成功入侵, 從而為中職安全課程網絡靶機的搭建提供一條思路。
proftp 是一個Linux 平臺上文件傳輸服務,目前最新版本為1.3.7。Proftp 作為歷史悠久且廣泛應用的一種服務,在其使用過程中由于其版本設計缺陷出現了很多問題,如2019 年7 月爆出的CVE-2019-12815 漏洞影響了100 多萬臺服務器,如2016 年 網上爆出的ProFtpd<=1.3.5 mod_copy 未授權文件復制漏洞以及2015 年 proftpd v1.3.5a 堆溢出漏洞等。以下以 Proftp 1.3.3 backdoored 漏洞為例介紹如何從exlpoit-db 網站下載、配置漏洞版本搭建網絡靶機。
(1)在exlpoit-db 網站上下載環境和攻擊模塊
進入www.exploit-db.com 網站在search 輸入proftp 如下圖所示,其中D 表示攻擊機(kali、backtrack5)可使用的攻擊模塊、A 顯示的是網絡靶機(Linux 或windwows)使用的漏洞版本,分別點擊下載在電腦出現兩個文件 16921.rb ,backdoored_proftpd-1.3.3c.
tar.gz,其中是前者是攻擊機使用的ruby 滲透模塊,后者是網絡靶機需要安裝的漏洞服務的壓縮包文件(圖1)。

圖1 proftp 服務漏洞搜索
(2)在網絡靶機中安裝和配置有漏洞的proftp 服務
在Vmware 中打開一臺CentOS6.0 的虛擬機,以此作為網絡靶機,將帶有漏洞的
proftp 服務壓縮包在CentOS6.0 系統中解壓指令如下:
[root@localhost] #tar -xzvf backdoor-proftped-1.3.3(壓縮包在桌面),
接著設置proftp 的安裝目錄:[root@localhost] #./configure --prefix = /root/proftp
由于在CentOS 中要安裝proftp 服務就必須下載安裝GCC 編輯器、編譯、安裝如下:
[root@localhost]#yum install gcc*&& make &&make install
在 proftp 服務的安裝目錄中修改 proftp 的配置文件:[root@localhost etc]#vi proftpd.conf 將文件30 行 Group 后對應的值改成nobody(系統中沒有設定ftp 服務用戶組所以配置文件設置成nobody),運行proftp 軟件并查看端口如下:
[root@localhost backdoored_proftpd-1.3.3c]# ./proftpd &&netstat -anlt |grep 2121 端口是ftp 默認端口,回顯結果為listen。
(3)在攻擊機加載漏洞模塊設置參數進行攻擊
在Vmware 中打開一臺Kali Linux 或BackTrack5(Kali Lin ux 或BackTrack5 是著名的網絡滲透集成工具內含metasploit),將16921.rb 放入kali 的/usr/share/metasploit-framework/exploits/mo dules/unix/ftp 的目錄下(此目錄是metsploit 中存放攻擊模塊的默認位置),在Linux 中輸入msfconsole 進入metasploit,查找并利用16921.rb 指令:
msf > use exploit/unix/ftp/16921,輸入 show options 這時可以看到這個模塊的參數只有設置RHOST 一項,即只需設置網絡靶機的地址,值得注意的是網絡靶機和滲透機必須相通,set rhost網絡靶機地址后exploit 攻擊,稍等片刻之后輸入id 就會出現如下代碼:
uid=0(root)gid=0(root)groups=0(root),99(nobody)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
這時已經成功入侵網絡靶機并獲得了最高權限,此外為了保證入侵的成功可以嘗試不同的 payloads 即攻擊載荷,比如cmd/unix/bind_perl、cmd/unix/reverse_perl 等。
我們對kali 攻擊機exploit 指令之后進行抓包,在wireshark中顯示如圖2:

圖2 Wireshark 抓包顯示
從圖中可以看出攻擊機首先ftp 連接網絡靶機,靶機則回顯ftp 服務的版本信息1.3.3c,之后攻擊機發送了一段指令“HELP ACIBITCHEZ”給靶機,而靶機回復如下代碼:

在代碼中靶機會反彈一個4444 端口給攻擊機,攻擊機通過此端口獲得了靶機的shell 權限。可見“HELP ACIBITCHEZ”是預先植入到proftp 中的后門指令。
以上本文介紹了如何從exlpoit-db 網站下載漏洞環境、以proftp 后門漏洞為例部署了網絡靶機,介紹了黑客入侵的全過程,最后分析了proftp 后門漏洞產生的原理。總之,部署網絡靶機在中職網絡安全課程實施中是一項富有挑戰的事。