自動化您的 VirtualBox 配置html
原文地址:medium.com/disruptive-…react
原文做者:medium.com/@0xbharath安全
發佈時間:2017年6月7日 - 4分鐘閱讀bash
咱們在一些軟件上常常會遇到一些不爲人知但卻很是方便的功能。VirtualBox就有這樣一個功能,命令行。markdown
VBoxManage是VirtualBox的命令行界面。有了它,你徹底能夠在主機操做系統的命令行中控制VirtualBox。VBoxManage支持GUI給你提供的全部功能,但它支持的功能遠不止這些。它公開了虛擬化引擎的全部功能,甚至是那些沒法(還不能)從GUI訪問的功能。網絡
幸運的是,VBoxManage有大量的文檔,使生活變得簡單。它涵蓋了VBoxManage中的全部可用選項。若是你發現本身在使用 VBoxManage,文檔是你的參考資料。less
VBoxManage文檔oop
與其說是在官方文檔中已經普遍涉及的內容,讓本文成爲VBoxManage的又一教程,不如說是我最近使用VirtualBox命令行解決的一個問題。ui
我開始在一個開放的安全社區舉辦研討會。在開放社區舉辦研討會的好處是,很難預測人們帶着什麼樣的軟件/硬件走進來。你必須意識到軟件依賴性和硬件要求。spa
咱們計劃舉辦一個關於網絡偵查的研討會。做爲實驗室設置的一部分,咱們面臨着一系列的挑戰。
這時,咱們沒有太多選擇,只能求助於老牌的VirtualBox,這時我認真考慮了VirtualBox命令行。
咱們建立了一堆虛擬機。其中一些虛擬機做爲受害者,一個虛擬機做爲實驗室中的攻擊者。咱們使用VirtualBox GUI從咱們的Linux機器中導出OVA格式的虛擬機。這時咱們有一個目錄,裏面有全部OVA格式的實驗室虛擬機。
*nix
建立了一個bash腳本,爲Windows建立了一個批處理文件,以使用VBoxManage自動導入實驗室設置。bash腳本導入實驗室虛擬機。
#!/usr/bin/env bash
VBoxManage import "victim1.ova"
VBoxManage import "victim2.ova"
VBoxManage import "attacker.ova"
printf "\n\nList of all the VMs\n------------------------\n"
VBoxManage list vms
複製代碼
batch腳原本導入實驗室虛擬機。
PATH=%PATH%;C:\Program Files\Oracle\VirtualBox
vboxmanage import "victim1.ova"
vboxmanage import "victim2.ova"
vboxmanage import "attacker.ova"
echo. && echo 'List of all VMs' && echo. && echo '-------------------------'
vboxmanage list vms
cmd \k
複製代碼
*nix
的bash腳本和Windows的批處理文件來運行實驗室。bash腳原本啓動實驗室。
#!/usr/bin/env bash
vboxmanage startvm "victim1" --type headless
vboxmanage startvm "victim2" --type headless
vboxmanage startvm "attacker"
printf "\n\nList of all the VMs running\n------------------------------\n"
vboxmanage list runningvms
複製代碼
batch腳原本啓動實驗室。
PATH=%PATH%;C:\Program Files\Oracle\VirtualBox
vboxmanage modifyvm "victim1" --nic1 hostonly --hostonlyadapter1 "VirtualBox Host-Only Ethernet Adapter"
vboxmanage modifyvm "victim2" --nic1 hostonly --hostonlyadapter1 "VirtualBox Host-Only Ethernet Adapter"
vboxmanage modifyvm "attacker" --nic1 hostonly --hostonlyadapter1 "VirtualBox Host-Only Ethernet Adapter"
vboxmanage startvm "victim1" --type headless
vboxmanage startvm "victim2" --type headless
vboxmanage startvm "attacker"
echo. && echo 'List of all the running VMs' && echo. && echo '-------------------------'
vboxmanage list runningvms
cmd \k
複製代碼
*nix
的bash腳本和Windows的批處理文件來優雅地關閉實驗室。vboxmanage controlvm
有一個選項能夠關閉正在運行的虛擬機。bash腳原本中止實驗室。
#!/usr/bin/env bash
vboxmanage controlvm "victim1" poweroff
vboxmanage controlvm "victim2" poweroff
vboxmanage controlvm "attacker" poweroff
printf "\n\nList of all the VMs running\n------------------------------\n"
vboxmanage list runningvms
複製代碼
批量文件來中止實驗室。
PATH=%PATH%;C:\Program Files\Oracle\VirtualBox
vboxmanage controlvm "victim1" poweroff
vboxmanage controlvm "victim2" poweroff
vboxmanage controlvm "attacker" poweroff
echo. && echo 'List of all the running VMs' && echo. && echo '-------------------------'
vboxmanage list runningvms
cmd \k
複製代碼
VBoxManage是VirtualBox提供的一個很是整潔而強大的界面。當你試圖自動化你的虛擬環境時,特別是當你試圖分發你的環境時,它就會很方便。本文探討了這樣一個問題的解決方案,這還不是冰山一角,找到一個問題/挑戰,閱讀VBoxManage文檔,並享受其中的樂趣!
經過www.DeepL.com/Translator(免費版)翻譯