OpenStack:建立虛擬的滲透測試實驗環境 – 安裝篇
*本文原創作者:zrools,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載
0x00 概述
對從業滲透測試的人員來說,保持技能更新是非常重要的,而更新技能的過程中,需要大量的去學習、實踐和總結,比較傳統的學習方式是通過虛擬機安裝靶機來練習,這種方式往往缺少一種真實滲透中的網路環境,而拿真實的網路來搞事往往會面臨很對未知的風險,比如被查水表什麼的。在工作中,有時候測試一個內網轉髮腳本、惡意程序或避免影響業務需要一個沙箱環境,目前比較常見的是使用GNS3(網路設備模擬器)+虛擬機來模擬網路環境,隨著雲計算技術的興起,無疑給建立虛擬環境多了一種選擇,通過虛擬技術,可以建立更加複雜的測試環境,甚至模擬一個企業網路以便測試各種攻擊場景。
0x01 環境準備
1.1 OpenStack
OpenStack是一個快源的雲計算管理平台項目,由組件組合完成具體工作,詳細介紹見OpenStack官網。OpenStack的部署方式分為手動部署和自動化部署,自動化部署工具主要有packstack
、devstack
及Fuel
等,這裡使用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原創獎勵計劃,未經許可禁止轉載
※七夕回顧 | 單身的盒子白帽竟然被叫老公!
※黑客的七夕禮物:大量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的利用