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-assistant.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伺服器即可

24 則留言:

  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/

      刪除
  4. 請問查詢gvm套件己經是21.4.4版,但執行gvm-check-setup顯示"ERROR: Your GVM-21.4.3 installation is not yet complete!",後來去gvm-check-setup的版本檢查.但還是顯示"ERROR: Your GVM-21.4.3 installation is not yet complete!"
    請問這有什麼解法嗎?

    回覆刪除
    回覆
    1. FIX: Please install GVM Manager >= 21.4.3. 但去執行apt install GVM Manager ,無顯示該套件.

      刪除
    2. 再補充,後來把gvm套件移除後重裝,結果依然.

      刪除
    3. 這篇文件不曉得對您有沒有幫助:https://www.kali.org/tools/gvm/

      請您仔細檢查有「ERROR: 」開頭的訊息,應該不會只是一項「ERROR: Your GVM-21.4.3 installation is not yet complete!」

      刪除
    4. 這是執行check,吐出的訊息.後來再回去檢查版本,發現gvm的版號21.4.3版本,但去進行套件更新時,gvm單套件無21.4.4,去執行apt update or install gvm.結果依然是21.4.3版本.
      gvm-check-setup 21.4.4
      Test completeness and readiness of GVM-21.4.4
      Step 1: Checking OpenVAS (Scanner)...
      ERROR: OpenVAS Scanner too old or too new: 21.4.3
      FIX: Please install OpenVAS Scanner >= 21.4.4.
      ERROR: Your GVM-21.4.4 installation is not yet complete!

      Please follow the instructions marked with FIX above and run this
      script again.
      ----
      檢查版本.
      Package: gvm
      Version: 21.4.3~0kali1
      Priority: optional
      Section: net
      Maintainer: Debian Security Tools
      Installed-Size: 45.1 kB
      Provides: openvas
      Depends: gvmd (>= 21.4.4), openvas-scanner (>= 21.4.3), ospd-openvas (>= 21.4.3), xsltproc, psmisc, rsync
      Recommends: greenbone-security-assistant (>= 21.4.3), gvm-tools
      Breaks: greenbone-security-assistant (<< 9.0.0), openvas (<< 9.0.4), openvas-cli
      Replaces: openvas (<< 9.0.4)
      Homepage: https://www.greenbone.net/
      Download-Size: 11.9 kB
      APT-Manual-Installed: yes
      APT-Sources: http://http.kali.org/kali kali-rolling/main amd64 Packages
      Description: remote network security auditor - metapackage and useful scripts
      The Greenbone Vulnerability Manager is a modular security auditing tool,
      used for testing remote systems for vulnerabilities that should be fixed.
      .
      This package installs all the required packages. It provides scripts to setup,
      start and stop the GVM services.
      .
      The tool was previously named OpenVAS.

      刪除
    5. 雖然check會出現上述的ERROR訊息21.4.3,但還是可以執行,不過呢最詭異的是SecInfo中的NVTs會資訊,實際己經更新過了.這會衍生一個問題,要弱掃就會沒做用.但是到了下午時,就有資訊,且能正常使用弱掃的功能.
      所以感覺只能用下午的.

      刪除
    6. 很抱歉!我功力不足,從您提供的訊息,無法判斷問題出在哪裡!上網沒有找到您描述的問題之答案!

      我執行 apt-cache policy gvm* 得到各套件版本如下,供參:
      gvm: 21.4.3~OKali
      gvm-tools: 21.6.1-1
      gvmd-dbgsym:21.4.4~OKali2
      gvmd: 21.4.4~OKali2
      gvmd-common: 21.4.4~OKali2

      刪除
    7. 感謝您的幫忙.最後重裝kali目前正常work.

      刪除
  5. 補充,早上SecInfo中的NVTs沒資訊,下午過後就有資訊了.這會衍生弱掃執行有效和無效.

    回覆刪除
  6. 你好,照步驟安裝好後可以開啟網站了,可是在網站的configuration=>scan configs沒有任何資料,手動新增時出現"Failed to find config 'd21f6c81-2b88-4ac1-b7b4-a2a9f2ad4663'"的錯誤,查看網路上的相關訊息也無法解決,請問有什麼處理辦法嗎?謝謝

    回覆刪除
    回覆
    1. 我沒有遇過這個問題,上網找到兩篇類似的文章供參:
      https://www.its404.com/article/ArthasMenethil110/120260578

      https://blog.csdn.net/Aopexx/article/details/119991593?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.highlightwordscore&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.highlightwordscore

      刪除
    2. 今天終於用好了,只是到底為什麼可以處理好我也莫名其妙(我對linux完全不熟),列一下我下過的指令:
      1.sudo runuser - u _gvm --gvmd --modify-scanner [扫描仪 ID] --value [用户 ID]
      2.sudo runuser -u _gvm -- greenbone-nvt-sync --rsync
      3.sudo greenbone-scapdata-sync
      4.sudo greenbone-certdata-sync
      上述指令重開後還是沒用
      5.gvm-start => sudo gvm-feed-update => gvm-stop
      6.gvm-start => sudo apt-get upgrade gvm
      第5、6點哪一個讓它可以用我也不曉得,有看到國外大大的教學影片裏面有提到openvas有些東西需要時間進行處理,所以我等它處理好(網站的Feed Status/Status會顯示目前處理中),再上去看,這個問題就突然解決了。

      刪除
    3. 感謝您提供修正步驟。
      其實我也時常遇到「修正」,但不知其所以然!

      刪除
    4. 最近有再重裝一次,發現是 網站的Feed Status 要更新完成,才能開始使用,所以上面提到的第1~6點是不需要的,就只是等待就好了。

      刪除
  7. 修改外部連結的指定 greenbone-security-assistang.service=>greenbone-security-assistant.service

    回覆刪除