前言
最近因資安教學,需要介紹免費的Web黑、白箱掃描工具,看網路上許多大大推薦arachni(黑箱)及SonarQube(白箱),由於筆者從事滲透測試時,經常使用Kali Linux,加上Kali有完整的第三方環境,便興起於Kali安裝這兩套工具的念頭。
網路上有很多關於arachni和SonarQube的安裝及使用說明,筆者照著做,卻踩了不少坑、撞了許多牆,便藉部落格留下紀錄,以供日後回顧。
壹、Kali環境說明
筆者是從Kali-Org直接下載現成的VMware虛擬機映像檔壓縮檔,下載後解壓縮,然後用VMware workstation Player開啟,可以省掉安裝虛擬的過程,也可簡化教學步驟。
Kali VM預設的帳號和密碼都是「kali」此帳號非系統管理員(root),很多指令必須藉由sudo讓kali暫時以系統管理員角色來執行。
進入Kali後,第一件事是執行系統更新,請開啟一個終端機(或稱主控台),並執行「 sudo apt updage && sudo apt upgrade -y 」(參考下圖)
接著以「 sudo service --status-all | grep post 」查看postgresql是否已啟動,前頭是 [ - ]表示未啟動,是 [ + ]表示已啟動。如果未啟動,請以「 sudo systemctl enable postgresql 」將它設成開機後自動啟動,並以「 sudo systemctl start postgresql 」立即啟動postgressql服務。
確認PostgreSQL啟動後,便可進行後續工作。
貳、設定PostgreSQL資料庫 (參考這篇文章)
arachni和SonarQube都支援PostgreSQL資料庫,而且Kali也已預安裝此資料系統,只須少少步驟設定,便可啟用。
確認PostgreSQL服務啟動後,可參考本段建立所需的資料庫及設定。
sudo passwd postgres #為postgres 設定新密碼(預設是無密碼)
#接著輸入新密碼及再次確認新密碼,請記住新密碼
su - postgres #切換成postgres角色的作業環境
密碼: <輸入postgres的密碼>
createuser kali #在PostgreSQL 建立新使用者,可自定使用者名稱
psql #進入PostgreSQL 資料庫命令列環境
ALTER USER kali WITH ENCRYPTED password 'kali';
#為kali設定密碼
#這裡延用 kali,是為了方便操作,也可以另定密碼,
#此密碼在OS的kali密碼並不是同一組
CREATE DATABASE sonar WITH ENCODING 'UTF8' OWNER kali TEMPLATE=template0;
#為sonar(白箱工具)建立資料庫,名為 sonar,
# 並將此資料庫擁有者設為kali (上面建立的 kali,不是OS的帳號 kali)
\q #離開 PostgreSQL 資料庫命令列環境
exit #離開PostgreSQL管理環境
叁、安裝arachni (參考這篇文章)
將 arachni安裝於 /opt 目錄,指令如下:
wget /P /tmp https://github.com/Arachni/arachni/releases/download/v1.6.1.3/arachni-1.6.1.3-0.6.1.1-linux-x86_64.tar.gz #將arachni下載至 /tmp 目錄
cd /opt #切換到 /opt 目錄,arachni 將安裝至此
sudo tar -zxvf /tmp/arachni-1.6.1.3-0.6.1.1-linux-x86_64.tar.gz #將檔案解壓至 /opt
cd arachni-1.6.1.3-0.6.1.1/.system/arachni-ui-web/db/ #切換到arachni的資料庫目錄
chmod 666 production.sqlite3 # 設定預設使用的sqlite資料庫的讀寫權限
完成安裝後,請以下列命令啟動arachni web伺服器:
cd /opt/arachni-1.6.1.3-0.6.1.1/bin # 切換到arachni的bin目錄
./arachni_web -o 0.0.0.0 -p 8888 #啟動arachni
# -o 指定來源網卡,0.0.0.0 表示此機器上的所有網卡
# 8888 表示連線端口,瀏覽器可以 http://VM-IP:8888 連線。
啟動arachni web serve後,從Kali裡的瀏覽器連線http://127.0.0.1:8888,如果出現登入畫面,就表示安裝成功了。arachnii預設的兩組帳密分別是:
user@user.user / regular_user
上面的安裝方式是使用arachni自帶的sqllite3資料庫,如果想使用PostgreSQL資料庫來保存arachni執行結果,可按下列步驟調整:
cd /opt/arachni-1.6.1.3-0.6.1.1/.system/arachni-ui-web/config/ #切換到 config 目錄
sudo mv database.yml database.yml.sqlite3 #備份原來sqlite3的連線組態
sudo mv database.yml.pgsql database.yml # 啟用postgresql的連線組態
cat database.yml #查看連線組態的內容
#要注意裡頭 username: arachni 及 password: secret 的值
cd ~ #回到kali的家目錄
接著設定arachni的資料庫。假如一開始就打算讓arachni使用PostgreSQL資料庫,可以在步驟貳完成以下的資料庫設置。
su - postgres #切換成postgres角色的作業環境
密碼: <輸入postgres的密碼>
createuser arachni # 配合database.yml裡的username值,建立新使用者
psql #進入PostgreSQL 資料庫命令列環境
ALTER USER arachni WITH ENCRYPTED password 'secret';
# 配合database.yml裡的password,為arachni帳號設定密碼
CREATE DATABASE arachni_production WITH ENCODING 'UTF8' OWNER arachni;
#建立arachni_production資料庫,並將擁有者設為arachni
ALTER USER arachni CREATEDB; #賦予arachni建立DB的權限
\q #離開 PostgreSQL 資料庫命令列環境
exit #離開PostgreSQL管理環境
完成arachni的資料庫設定後,還需要執行
./arachni_web_task db:setup
來設定arachni_production的資料庫綱要。
肆、安裝SonarQube
這裡有SonarQube的所有下載檔,筆者選用免費的社群版,並安裝於 /opt目錄。
wget -P /tmp https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.0.65466.zip # 將SonarQube下載到 /tmp 目錄
cd /opt # 將工作目錄切換到 /opt
sudo unzip /tmp/sonarqube-9.9.0.65466.zip #解壓縮 SonarQube
sudo chown -R kali:kali /opt/sonarqube-9.9.0.65466/* # 變更sonarqube的權限設定
sudo chmod 777 -R /opt/sonarqube-9.8.0.63668/temp # #變更temp的權限設定
sudo nano /opt/sonarqube/conf/sonar.properties #編輯sonar 組態檔
# DATABASE #有關資料庫連線的設定
sonar.jdbc.username=kali #帳號,見步驟貳的設定
sonar.jdbc.password=kali #帳號,見步驟貳的設定
sonar.jdbc.url=jdbc:postgresql://localhost/sonar #sonar是步驟貳建立的資料庫
# WEB SERVER #有關Web Server的設定
sonar.web.host=0.0.0.0 #指定可連入的網卡,0.0.0.0表所有IP皆供連線
sonar.web.port=9000 #指定監聽連入的端口
/opt/sonarqube-9.9.0.65466/bin/linux-x86-64/sonar.sh console #啟動SonarQube
啟動SonarQube伺服器後,由Kali裡的瀏覽器連線http://127.0.0.1:9000,若出現登入畫面,就表示安裝成功了。
至此已完成Arachni及SonarQube安裝,有空再介紹這兩套工具的基本用法。
註:若一切從頭安裝,必須逐一安裝java、PostgreSQL、Ruby,利用現成的Kali VM,將心思專注於arachni及SonarQube的安裝,省卻許多除錯程序,可大大提高成功率。
白箱掃描範例:
請KALI linux 的書會有新版的嗎?
回覆刪除碁峰暫時沒有更版計畫,短時間應該不會出新版
刪除雖然Kali這套工具每季都有新映像檔,但常用工具變化不大,現行書籍內容有八成以上都還適用。
刪除