2020年11月15日 星期日

在Kali 2020.3 精簡環境安裝OpenVAS

對於滲透測試人員,NessusOpenVAS是兩套很實用(又免費)的弱掃工具,為了避免影響執行效能,筆者習慣將它們獨立安裝,這兩套工具都是使用瀏覽器作為使用者界面,獨立安裝的環境就不需要保留X-WINDOW視窗,可以讓資源充分供弱掃工具使用。

筆者著作「Kali Linux 滲透測試工具」雖然也有介紹OpenVAS的安裝方式,但隨著工具改版,現在OpenVAS的安裝又不一樣了,在此做個補充。

一、安裝Kali精簡環境

  1. kali.org 下載「Kali Linux 64-Bit (NetInstaller)」。
  2. 建立一部虛擬機,安裝方式請選擇「Install disk image file(iso)」,並以前一步驟下載的「kali-linux-2020.3-installer-netinst-amd64.iso」作為iso來源。
  3. 作業系統類型請選擇「Linux/Debian-9.x 64 bit」;並將磁碟空間設為100GB。
  4. 啟動此虛擬機,進入作業系統安裝程序,按照畫面指示安裝,為避名預設主機名稱發生衝突,請指定合 適的Hostname,筆者是使用OPENVAS2020。
  5. Kali預設不再提供root權限,安裝過程必須指定使用者帳號,筆者選用openvas作為使用者,密碼就設為toor
  6. 在選擇欲安裝的軟體時,請取消Desktop environment及top10(如下圖),只需要留下精簡環境所需的工具即可。
  7. 過程中可能出現軟體安裝失敗(如下圖),按照畫面說明,直接按「Enter」,在下一個畫面,手動選擇「Install the GRUB boot loader」,略過軟體安裝步驟!
  8. 安裝完成後會自動重開機!然後進入命令列介面。請以步驟5. 所設的帳號及密碼登入,記住,此帳號不具root權限,很多指令都必須用sudo引導!

二、請依下列更新Kali及安裝必要工具

  1. sudo apt update && apt upgrade -y    #更新作業系統環境(每隔幾天就做一次吧)
  2. sudo apt install locate curl wget          #安裝必要工具
  3. sudo apt install gvm*                            #安裝OpenVAS
  4. sudo service --status-all                     #檢查 postgresql、redis-server 及 gvmd 是否有啟動,如果沒有啟動,請手工啟動
  5. sudo service redis-server start            #手動啟動 redis-server,若出現錯誤訊息,請參考本篇底下的「備註」
  6. sudo update-rc.d redis-server enable  #若能啟動 redis-server,就將它設為開機時自動啟動
  7. sudo service postgresql start              #啟動 postgresql
  8. sudo update-rc.d postgresql enable   #將 postgresql 設定自動啟動
  9. sudo reboot                                      #重新啟動作業系統
    不要使用 su - 切換到root身分,不然執行「gvm-setup」會出現
    could not change directory to /root permission denied」的錯誤訊息

  10. sudo gvm-setup                                #執行OpenVAS設定(會花很長時間)
  11. sudo gvm-check-setup                      #執行OpenVAS檢查,看看缺少什麼東西
    注意錯誤訊息(FIX: 開頭),並按照提示修正,直到「sudo gvm-check-setup」的結果沒有需要「FIX:」的項目。
  12. sudo service --status-all                     #再次檢查 postgresql、redis-server 及 gvmd 是否有啟動
  13. sudo service gvmd start                     #手動啟動 gvmd
  14. sudo update-rc.d gvmd enable         #將 postgresql 設定自動啟動
  15. sudo gvm-start                                 #正式啟動 OpenVAS伺服器,如果有錯誤訊息,請修正

三、從外部電腦操作OpenVAS伺服器

由於OpenVAS預設只能從本機連線,但我們是安裝在精簡型Kali,本身沒有瀏覽器,必須想辦法讓外部的電腦可以連線這部OpenVAS伺服器

  1. sudo sudo nano /lib/systemd/system/greenbone-security-assistang.service 
    修改gsad的接聽範圍,請將「ExecStart=/usr/sbin/gsad --listen=127.0.0.1 --port=9392
    改成「ExecStart=/usr/sbin/gsad --listen=0.0.0.0 --port=9392」,表示接聽所有網卡的請求
  2. 存檔後,重新啟動虛擬機
  3. 重新進入虛擬機後,請執行「sudo gvm-start」啟動服務
  4. 利用外部電腦的瀏覽器連線,終於連上了,但是~~~帳號和密碼呢?

四、帳號和密碼呢?

在安裝過程中都沒有注意到OpenVAS的帳密,這下怎麼辦?別急,再回到OpenVAS伺服器,使用下列命令重設「admin」的密碼
sudo runuser -u _gvm -- gvmd --user=admin --new-password=toor

如果要增加其他使用者,可以執行下列命令:
sudo runuser -u _gvm -- gvmd --create-user=<新帳號> --password=<設定密碼>

重新使用「admin / toor」登入OpenVAS,成功!


備註:

若啟動 redis-server 時,若出現「redis-server is not running or not listening on socket: /var/run/redis-openvas/redis-server.sock」的錯誤訊息,處理方式如下:

  1. sudo nano /etc/redis/redis.conf                     #編輯 redis.conf
  2. 搜尋「unixsocket」文字,應該會找到下列兩列文字:
    # unixsocket /var/run/redis/redis.sock
    # unixsocketperm 700
  3. 只要將註解符號刪除,然後存檔,再重新啟動OpenVAS伺服器即可

7 則留言:

  1. 在 二、請依下列更新Kali及安裝必要工具
    sudo update-re.d gvmd enable #將 postgresql 設定自動啟動
    >>
    sudo update-rc.d gvmd enable #將 gvmd 設定自動啟動

    回覆刪除
  2. 詢問一下,有用該版本kali-linux-2020.4-installer-netinst-amd64安裝,但並無redis-server,手動安裝sudo service redis-server start +sudo apt update && apt upgrade -y 結果還是沒有 redis-server ,請問有遇過嗎?
    謝謝

    回覆刪除
    回覆
    1. 抱歉! 因未用到redis server功能,沒有注意到這個問題。您可以試試:
      sudo apt reinstall redis

      刪除
  3. 謝謝您的分享!目前正拜讀您的Kali Linux 第二版,準備轉職做pentester. 您的書貨真價實,切重要點,比外文書還實在,很慶幸能得此珍寶。計畫於秋季報名OSCP課程.(43歲打雜工程師)

    回覆刪除
    回覆
    1. 感謝您的支持及鼓勵,祝您轉職成功,順利取得OSCP證照!

      刪除
    2. DEVCORE(戴夫寇爾) 徵求紅隊演練工程師,有興趣的可以參考看看:
      https://devco.re/blog/2021/06/22/devcore-202106-recruit/

      刪除