當前位置:
首頁 > 新聞 > OpenStack:建立虛擬的滲透測試實驗環境 – 安裝篇

OpenStack:建立虛擬的滲透測試實驗環境 – 安裝篇

*本文原創作者:zrools,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載


0x00 概述


對從業滲透測試的人員來說,保持技能更新是非常重要的,而更新技能的過程中,需要大量的去學習、實踐和總結,比較傳統的學習方式是通過虛擬機安裝靶機來練習,這種方式往往缺少一種真實滲透中的網路環境,而拿真實的網路來搞事往往會面臨很對未知的風險,比如被查水表什麼的。在工作中,有時候測試一個內網轉髮腳本、惡意程序或避免影響業務需要一個沙箱環境,目前比較常見的是使用GNS3(網路設備模擬器)+虛擬機來模擬網路環境,隨著雲計算技術的興起,無疑給建立虛擬環境多了一種選擇,通過虛擬技術,可以建立更加複雜的測試環境,甚至模擬一個企業網路以便測試各種攻擊場景。


0x01 環境準備


1.1 OpenStack


OpenStack是一個快源的雲計算管理平台項目,由組件組合完成具體工作,詳細介紹見OpenStack官網。OpenStack的部署方式分為手動部署和自動化部署,自動化部署工具主要有packstackdevstackFuel等,這裡使用packstack在單機+單網卡的環境進行一鍵部署。


1.2 伺服器環境




  • 磁碟容量: >= 500GB



  • 內存容量: >= 32GB



  • 操作系統: CentOS-7-x86_64-Minimal-1611



  • 網卡數量: 1


1.3 網路配置


系統安裝完後,先給伺服器配置一個靜態IP:



這裡我使用192.168.20.7作為伺服器IP,保存重啟網路:



1.4 部署OpenStack


通過yum源進行安裝packstack


使用packstack部署OpenStack:



安裝時間大概15~30分鐘左右。


1.5 橋接網卡


使用packstack安裝後,如果重啟系統,虛擬網路會無法連接外部網路,這時需要創建一個虛擬網卡:



默認安裝預設IP段是172.24.4.225/28,這裡修改為192.168.20.7/24,保存,同時修改em1網卡配置為:



保存,重啟網路服務,不成功直接重啟伺服器。

0x02 實例與映像


OpenStack默認使用VirtIO來管理實例映像,默認直接上傳ISO文件會識別不了磁碟,這時需要使用含VirtIO驅動的映像,鏡像說明文檔見:



這裡統一製作qcow2格式的映像文件。


2.1 Linux qcow2映像




  • 手動製作


以製作Kali Linux為例,下載ISO文件kali-linux-light-2017.1-amd64.iso:



然後就像正常一樣安裝系統,安裝完直接關掉。




  • 官方的映像文件


有些Linux發行版官方提供現成映像文件,下載過來就可以直接使用:



由於官方的雲鏡像是沒有提供密碼的,這時需要修改root密碼,password:冒號後邊為密碼:



2.2 Windows qcow2映像


以Windows 2008 R2為例子,其他Win系統製作過程類似,由於Windows系統默認不帶VirtIO驅動,先下載驅動程序:




  • https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso



  • https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win_amd64.vfd


生成映像文件:




  • 安裝系統


命令行啟動安裝:



手動載入驅動:【自定義(高級)】-【載入驅動程序】-【瀏覽】-【軟盤驅動器】,選擇對應操作系統版本選項,然後確定:



安裝完後關機。




  • 安裝網卡驅動


重新命令啟動虛擬機:



找到【設備管理器】-【其他設備】-【乙太網控制器】,右鍵更新驅動程序軟體:


【瀏覽】-【CD驅動器】,確定:



安裝完畢:



註:不能關閉的情況下直接kill掉進程。


0x03 Horizon


Horizon是一個用於管理、控制OpenStack服務的Web控制面板,可以通過http://192.168.20.7/dashboard/進行登錄,管理帳號是admin密碼保存在/root/keystonerc_admin


3.1 上傳映像


從http://192.168.20.7/dashboard/登錄後,【項目】-【計算】-【映像】-【創建映像】:


Horizon控制面板添加映像支持2種方式,一種是通過HTTP/HTTPS直接下載,另一種是通過本地上傳,在【映像源】選【映像文件】,將製作好的虛擬機上傳到OpenStack:



3.2 創建實例


在【映像】列表的Windows_2008_R2_x64後面點擊【啟動】,其中【詳細信息】、【源】、【flavor】、【網路】這四項為必選項:



創建完實例,在【實例】點擊實例名稱進入該實例的詳細信息頁面,切換到【控制台】即可對虛擬機進行操作:



3.3 開機恢復實例狀態


默認情況下,如果重啟OpenStack的機器,實例是不會自動恢復之前的狀態的,這時需要修改一下配置文件:


0x04 卸載


配置的過程中難免有時出錯需要重新再來,保存以下腳本為unpackstack.sh



卸載操作:

# sh unpackstack.sh

卸載後就可以使用packstack重新部署,需要注意的是,該腳本並不是100%的清除,只是刪除基本的文件,比如安裝時加入的iptables規則是不會清除的,有強迫症的建議重裝系統或在虛擬機里部署。


至此,部署OpenStack和製作映像文件基本完成了。



    *本文原創作者:zrools,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載



    喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

    本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


    請您繼續閱讀更多來自 FreeBuf 的精彩文章:

    七夕回顧 | 單身的盒子白帽竟然被叫老公!
    黑客的七夕禮物:大量IoT設備Telnet密碼列表遭泄露
    「泄露的遊戲」為什麼總能在我的TimeLine上出現?

    TAG:FreeBuf |

    您可能感興趣

    安仔課堂:滲透測試神器Cobalt Strike使用寶典!
    Web Service和Web API滲透測試指南(一)
    Scrounger:iOS和Android移動應用程序滲透測試框架
    Huntpad:為滲透測試人員設計的Notepad應用
    iOS滲透測試工具Part 1:App Decryption以及class-dump
    Windows ADS在滲透測試中的妙用
    靶機滲透測試實戰-hack the ch4inrulz
    Aqua推出開源Kubernetes滲透測試工具Kube-hunter
    滲透測試神器之PowerShell入門必備
    域滲透——Kerberoasting
    Burp Suite二十節:使用Burp,Sqlmap進行自動化SQL注入滲透測試
    kali linu滲透系統.md
    滲透技巧——Windows下NTFS文件的USN Journal
    濫用PowerShell DSC進行內網滲透
    BabySploit:一個針對初學者的滲透測試框架
    域滲透——AS-REP Roasting
    powershell滲透框架
    CrackMapExec:一款針對大型Windows活動目錄(AD)的後滲透工具
    滲透測試神器Burp Suite現已推出2.0測試版
    滲透技巧——Windows中net session的利用