1. 程式人生 > 其它 >OpenStack:建立虛擬的滲透測試實驗環境 – 安裝篇

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

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和製作映像檔案基本完成了。