如何快速搭建漏洞環境

長期以來我都自己搭靶場環境,麻煩的要死,後來發現一個神器,推薦給大家

 

 

0x00 前言

當復現、分析漏洞的時候,我們首先需要完成的前提工作是找到可利用的漏洞環境。當我們有了可利用的漏洞環境之後既可以快速測試自己寫的或者從網絡上獲取的漏洞檢測腳本是否有效,也可以進一步調試程序從而分析漏洞原理,所以說獲取漏洞環境可以說是漏洞研究的前提。目前找到漏洞環境的方法大概有以下幾種:漏洞環境靶場、Docker Hub 拉取鏡像、網絡空間搜索引擎搜索、本地搭建、虛擬機搭建。這幾種方法都有各自的特點,每種方法都有各自的優缺點,我們可以根據實際情況選擇。下面我們對這幾種方法進行簡單的分析,並且說明一下每種方法的使用方法。

0x01 獲取漏洞環境方法的介紹

漏洞環境靶場

爲了讓安全研究人員更快速的獲取漏洞環境、更方便的研究漏洞,目前已有一些靶場專門收集漏洞環境以供安全研究人員使用,例如國內的 vulhub、vulfocus,國外的 vulnhub 等等。使用這些靶場往往只需要一條命令或者簡單的操作就可以獲取到漏洞環境,我們只需要按照靶場的使用說明就可以比較輕鬆的獲取到靶場已提供的漏洞環境。使用這種方法的好處是方便快速,不需要我們去折騰漏洞環境的搭建,靶場已經幫我們隱藏掉了漏洞環境的配置細節,開箱即用。

當然使用靶場也是有缺點的,一是獲取到的漏洞環境一般不在本地所以我們很難對漏洞環境進行調試,二是靶場所提供的漏洞環境一般都是有限的,靶場的數量和更新速度可能並不能滿足你的需求。總結一下就是,使用靶場獲取漏洞環境的方法比較適合復現漏洞、測試 Poc&Exp 是否可用、對安全工作者的考覈或者 CTF等等。

vulfocus 使用方法說明:訪問 vulfocus.fofa.so 啓動相應漏洞環境即可。

微信截圖_20200527113112.png

vulfocus.png

vulhub 使用方法說明:下載 vulhub,在相應漏洞環境目錄執行 docker-compose up -d 即可。

vulhub.png

優點:簡單、快速、無需配置

缺點:靶場環境有限

難度:⭐

推薦指數:⭐⭐⭐⭐⭐

Docker Hub 拉取漏洞環境鏡像

隨着容器技術的發展,目前 Docker 已經被大範圍地運用到了生產環境中,很多軟件也在 Docker Hub 中存在着不同版本的鏡像。每個漏洞都會有對應的軟件版本,那麼作爲安全研究人員可以安裝 Docker 從 Docker Hub 拉取所需要的鏡像在本地運行來搭建相應的漏洞環境。此外,很多安全研究人員也開始使用 Docker 來搭建自己的漏洞環境,比如前文提到的漏洞靶場 vulhub、vulfocus 都是基於 Docker 來搭建的。我們在 Docker Hub 發現了新的漏洞環境或者我們自己從 Dockerfile build 的新漏洞環境除了自己使用也可以貢獻給社區。使用這種方法的特點和使用靶場類似,相比靶場的好處是 Docker Hub 上面的軟件更多、版本也更豐富,所以漏洞環境相比靶場來說也更豐富;相比靶場的缺點是從 Docker Hub 拉回來的鏡像有時需要我們進行簡單的配置或者容器間配合啓動,相比靶場會操作複雜一些。

Docker Hub 拉取漏洞環境說明:在 Docker Hub 搜索相應漏洞環境或者相應版本的軟件,選擇鏡像的標籤後拉取鏡像。

docker1.png

docker2.png

優點:相對簡單、相比靶場漏洞環境更豐富

缺點:需要一點命令行和容器基礎知識

難度:⭐⭐

推薦指數:⭐⭐⭐⭐⭐

網絡空間搜索引擎搜索漏洞環境

隨着網絡資產管理、網絡空間搜索的概念被重視,相應的產品也逐漸成熟,例如國內的 FOFA、ZoomEye 和國外的 Shodan 等等。使用這些網絡空間搜索引擎可以快速地獲取運行某軟件的服務器 IP 地址、端口和其他信息。當新的漏洞被披露之後,我們一般會使用這些搜索引擎搜索該漏洞影響的軟件,從而從結果中獲取該漏洞在全球的大致影響範圍。那麼如果我們想要獲取實際的漏洞環境也可以使用這些網絡空間搜索引擎的相應語法進行搜索來查找目標。這種方法的優點是可以快速獲取大量真實的漏洞目標;但是缺點也很明顯,如果對這些真實目標進行測試可能會對目標業務造成一定的影響。使用這種方式的另一個缺點就是目前的網絡空間搜索引擎一般並不支持對版本的搜索,所以我們並不能精確地搜索到漏洞對應軟件的正確版本。

FOFA 使用簡介:搜索運行 WebLogic 中間件的主機。

fofa.png

優點:簡單、可獲取大量真實的目標

缺點:如果對真實目標測試,有一定的法律風險

難度:⭐

推薦指數:⭐⭐⭐⭐

本地搭建漏洞環境

使用前幾種方法,我們可以非常方便快速地搭建起漏洞環境。但是由於前幾種方法都是使用別人提供好的漏洞環境,所以漏洞環境不會很全,有些漏洞環境在靶場或者 Docker Hub 會找不到。當想要的漏洞環境找不到的時候,我們只能選擇自己本地搭建漏洞環境了。這種方法需要我們做的事情就比較多了,需要我們下載存在漏洞的相應版本的軟件進行配置、運行。這個過程就會比較費時間,不過我們還是可以藉助一些集成工具簡化這個過程的,例如 PHPStudy、XAMPP 等等。使用集成工具搭建漏洞環境可以幫助我們省去安裝配置一些基礎軟件,例如使用 PHPStudy 就可以幫助我們安裝配置好 Apache、MySQL、PHP 等軟件,我們只需要將需要運行的 Web 網站部署到指定位置即可。使用這種方式搭建漏洞環境的缺點已經很明顯了,就是費時、步驟繁瑣;但是使用這種方式的優點也比較明顯,因爲環境在本地我們可以更詳細地分析漏洞原理,更方便我們去調試程序。

PHPStudy 的使用簡介:在控制面板啓動相應軟件,部署好 Web 網站即可。

phpstudy.png

website.png

優點:漏洞環境在本地,可以更方便地分析、調試程序

缺點:搭建漏洞環境費時、步驟繁瑣

難度:⭐⭐⭐

推薦指數:⭐⭐⭐

虛擬機搭建漏洞環境

使用虛擬機搭建漏洞環境和本地搭建漏洞環境的方式相似,差別在於我們需要安裝 VMware、VirtualBox 等虛擬化軟件,然後在安裝好的虛擬機中搭建漏洞環境。這種方式可以說是本地搭建漏洞環境的方法的補充。這種方法相較於本地搭建漏洞環境的優點是在虛擬機搭建不會影響自己本地的系統,不用擔心搭建漏洞環境對自己本地電腦的影響;另外一點好處就是,虛擬機文件可以打包進行分享,比如前面提到的 vulnhub 就是使用這種方法搭建的漏洞環境並且將虛擬機文件進行分享;使用這種方法的缺點就是,因爲虛擬機文件佔用的硬盤空間很大導致打包共享的漏洞環境也會很大,上傳下載比較浪費時間。

優點:相較於本地搭建漏洞環境,不會對本地環境造成影響;可以對虛擬機打包進行共享

缺點:需要安裝 VMware、VirtualBox 等虛擬化軟件,在虛擬機中搭建漏洞環境,費時、步驟繁雜;虛擬機文件比較大,共享不方便

難度:⭐⭐⭐

推薦指數:⭐⭐⭐

0x02 總結

前面介紹獲取漏洞環境方法的順序,大致也是我平時尋找漏洞環境方法的使用順序。大致流程如下:

flow.png

作爲研究漏洞的前提,漏洞環境的搭建相對來說是一個不讓人那麼重視的問題,這篇文章主要將我自己在尋找漏洞環境時所用的方法總結了一下。總的來說,獲取漏洞環境的方法有很多,但是每種方法都有各自的優缺點,我們應該在特定的場景選擇合適的方法搭建漏洞環境。在搭建好漏洞環境之後,我們就可以愉快地進行之後的操作了,或復現漏洞或漏洞調試。在之後的文章中,我會繼續討論有關漏洞環境的獲取和漏洞的 PoC&Exp 編寫相關的內容,歡迎大家關注 :-)。

Reference

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章