網站伺服器是惡意攻擊者最常攻擊的目標,因為在許多設備都會有 web 介面,常見的網站伺服器為 apache 與 Nginx 與 IIS。
針對 Web 伺服器的攻擊方式多半以組合的形式,目標是取得受害伺服器的可執行指令的權限,組合方式如下:
檔案上傳有漏洞,可以任意上傳檔案或是可繞過限制,而攻擊者上傳後門(webshell),上傳檔案的可以被解析,當攻擊者直接瀏覽上傳檔案路徑,可透過網頁介面執行任意指令
透過 Local File inclusion 讀取 Linux 上的 /etc/passwd 與 /etc/shadow 檔案的內容(包含帳號或密碼雜湊),並透過指定帳號進行爆破密碼
透過 Local File inclusion 讀取網站應用程式的設定檔,如內容管理系統 WordPress 的 wp-config.php,檔案可能包含密碼設定與其他敏感資料。
可以快速列舉目標伺服器上的網站伺服器與識別 Web 應用程式,並測試常見的漏洞,會針對錯誤設定、預設檔案、預設資料夾、不安全物件、未更新的軟體。
該工具透過快速與大量的請求封包,並從回傳內容確認伺服器版本、路徑等資訊,因此可能會被 web log 和 入侵偵測系統(IDS) 發現,導致被列入黑名單,因此需要注意。
確認指令幫助清單nikto -H
針對 80 port 執行一般掃描
nikto -h [target IP/hostname]
掃描結果將呈現
指定 port 進行掃描nikto -p 8080 -h [target host]
測試多個 portnikto -h [target host] -p 80,88,443
指定 port 範圍nikto -h [target host] -p 80-88
指定特定掃描類型參數
參數 | 說明 |
---|---|
0 | 檔案上傳 |
1 | 有趣的檔案,可查看 log 紀錄 |
2 | 錯誤設定、預設值 |
3 | 資訊披露 |
4 | 注入型漏洞 (XSS/Script/HTML) |
5 | Remote File Retrieval – Inside Web Root |
6 | Denial of Service 拒絕阻斷服務 |
7 | Remote File Retrieval – Server Wide |
8 | Command Execution / Remote Shell 任何執行指炩 |
9 | SQL Injection |
a | Authentication Bypass 繞過身分驗證 |
b | Software Identification 軟體識別 |
c | Remote Source Inclusion 遠端程式碼包含 |
x | 反向操作,包含指定內容以外的所有選項 |
針對網站的內容去進行掃描,可以使用內建的字典檔案,也可以用自己定義的。
掃描目標dirb [URL target host]
指定字典檔dirb [URL target host] [wordlist]
指令
參數 | 說明 |
---|---|
n | 可以跳過執行下一個字典 |
q | 暫停掃描並保存目前掃描狀態 |
r | 回傳掃描統計資料 |
可使用 GUI 介面進行掃描,該工具包含多功能與參數掃描器。
字典檔路徑/usr/share/dirbuster/wordlists/
dirb 字典檔案usr/share/wordlists/dirb/common.txt
選擇模式
選擇threads
可以透過 netcat 發送 HTTP 請求
請求 80 port 使用 HEAD methodnc [Target IP] 80
HEAD / HTTP/1.0
可以取得 Server 的版本。
請求 80 port 使用 GET methodnc [Target IP] 80
GET / HTTP/1.0
可以取得 HTML
可針對內容管理系統 WordPress 進行掃描,可以找到已知漏洞,列舉使用者、使用的主題、外掛,針對帳號進行字典檔攻擊。
更新工具wpscan --update
預設掃描
現在需要 API 有免費的 25 個 API 請求,wpscan --url [URL] --api-token [API Key]
可察看目標伺服器否開啟 XML-RPC
或是其他版本號與已知漏洞的資料。
指定參數wpscan --url [url] --enumerate [p/vp/ap/t/vt/at]
|
參數 | 說明 |
---|---|
p | 掃描外掛 |
vp | 掃描易受攻擊的外掛 |
ap | 掃描所有外掛 |
t | 掃描熱門主題 |
vt | 掃描易受攻擊的主題 |
at | 掃描所有主題 |
掃描所有熱門的外掛wpscan --url [url] --enumerate p --plugins-detection aggressive
掃描易受攻擊的外掛wpscan --url [url] --enumerate vp --plugins-detection aggressive
掃描所有外掛wpscan --url [url] --enumerate ap --plugins-detection aggressive
列舉所有使用者wpscan --url [target URL] --enumerate u