在之前的章節中,我討論了對面試公司制作安全態勢評估報告。在本節中,我將介紹一些基本工具,以幫助你進行風險偵察和外部態勢評估。
文/屠震

進行風險評估前,首先需要了解公司的數位足跡,其中包括網路上可見的服務和 IP 位址。最佳的調查方法是查看公司的 DNS 伺服器資訊,該資訊會將網域轉換為實際的 IP 位址。你可以使用 DNS Lookup 網站,輸入公司的網域查看其紀錄。
數位足跡
使用 DNS Lookup 進行風險評估時,需要注意 DNS 紀錄中的以下資訊:
‧IP 位址:識別與公司網域名稱關聯的 IP 位址,例如公司官方網站,通常它會寫在 DNS A 記錄中。
‧A 紀錄:此紀錄將網域名稱對應到 IP 位址,通常對應到公司官方網站的 IP 位址。
‧CNAME(標準名稱)紀錄:將域名(別名)對應到真實名稱。
‧MX 紀錄:記錄哪個郵件伺服器負責接收該網域的電子郵件,以及有關電子郵件伺服器的 IP 位址和優先順序的資訊。
‧NS(名稱伺服器)紀錄:指定對網域名稱有權威的名稱伺服器。
‧TXT 紀錄:關於網域的附加資訊,例如 SPF(寄件者政策框架)紀錄,指定哪些伺服器被授權代表網域發送電子郵件。
接下來,我將使用線上網域工具 MxToolBox(https://mxtoolbox.com/)進行說明,以網域 ocde.us 為例。(註:此風險報告已與 ocde.us 安全團隊分享。)

● A 紀錄: 209.79.85.8 是 ocde.us 官網的 IP 位址。
● NS 紀錄和 MX 紀錄:在 SuperTool 中,輸入 ocde.us,選擇「MX Lookup 或 DNS Check」選單選項,可以在下方找到搜尋結果。


MX 紀錄顯示該組織有兩個入站郵件伺服器,兩者的優先順序相同,均為 10,並且兩台伺服器位於相同的子網中。
兩個伺服器位於相同的子網中表示該組織沒有接受電子郵件的備用路徑。建議有一台優先順序較低的備份郵件伺服器,如優先順序 20,位於備用的網際網路入站路徑。
NS 伺服器負責存放公司的 DNS 記錄,如果這些紀錄遭到攻擊,他人將無法訪問公司的外部服務。
● TXT 紀錄是一種 DNS 紀錄,包含有關網域的資訊,其中一種資訊類型是 SPF 紀錄。
SPF 紀錄用於指定哪些電子郵件伺服器有權代表網域傳送電子郵件。這有助於防止電子郵件網路釣魚攻擊,因為它讓其他電子郵件伺服器可以檢查聲稱來自某個網域的電子郵件是真實的。
如果網域沒有 SPF 紀錄,或者 SPF 紀錄設定不正確,攻擊者就可以更輕鬆地發送看似來自該網域的詐騙電子郵件。對於組織來說,正確設定 SPF 紀錄對於電子郵件通訊的安全非常重要。
你可以使用 MxTool 選單選項 Email Health 來確認 SPF 紀錄是否存在。
使用 Dig 指令查詢 DNS
接下來我會用以下網站中的資訊來示範 Linux 中 dig 命令的用法。
https://medium.com/r/?url=https%3A%2F%2Fphoenixnap.com%2Fkb%2Flinux-dig-command-examples


(資料來源:PhoenixNAP 的 Linux Dig 指令範例)。


※注意:作為安全控制的一環,必須保護 DNS 紀錄不會受到未經授權的紀錄轉儲,也就是所謂的區域傳輸(Zone Transfer)。
在 DNS 查詢中,dig ANY 指令可以獲得與特定域名相關的所有類型的 DNS 資料記錄 ,你可以在 DNS 伺服器的設定檔中拒絕「any」查詢類型,或實施 DNSSEC。
DNSSEC( Domain Name System Security Extensions)是一項安全協議,用來驗證 DNS 紀錄的真實性。通過實施 DNSSEC,可以防止未經授權的使用者修改 DNS 紀錄,並確保只有授權的使用者才能存取正確的資訊。
如果你不熟悉 Linux,有一個 Dig 工具的網頁版:https://www.digwebinterface.com。
圖 8 是 Dig 工具的網頁版介面:

(資料來源:Dig Web Interface 線上 Dig 指令介面)。
Dig 與 nslookup 挖掘與 nslookup
Dig 和 nslookup 都是用來查詢 DNS 的命令列工具。然而,兩者之間存在一些差異。
‧輸出格式:dig 的輸出格式比 nslookup 更詳細、資訊更豐富。Dig 會提供關於 DNS 查詢和回應的更詳細資訊,例如:使用的 DNS 伺服器、查詢所需的時間以及回應代碼。
‧支援進階 DNS 功能:Dig 支援 DNSSEC、EDNS 和 TSIG 等進階 DNS 功能,而 nslookup 不支援這些功能。
‧可用性:Dig 可在大多數基於 Unix 的系統上使用,包括 Linux 和 macOS,而 nslookup 可在基於 Unix 的系統和 Windows 上使用。
‧互動模式:nslookup 有互動模式,可以讓你查詢多筆 DNS 記錄,不必每次都退出程式。Dig 沒有互動模式。
總的來說,dig 是一個比 nslookup 更強大、更豐富的工具,但兩者對於基本的 DNS 查詢都很有用。
查找漏洞
檢查 DNS 紀錄後,你已經有了所有與域名相關的暴露在網際網路的服務和伺服器 IP 位址。
接下來,我會使用通訊埠掃描器檢查開放的通訊埠和服務。稍後,我會再使用漏洞掃描器來識別潛在的漏洞。
▪使用通訊埠掃描器
Nmap 是一個非常受歡迎的免費通訊埠掃描器。
要使用 Nmap 掃描公司網路上開放的通訊埠,可以執行以下命令:
nmap -sS -T4 -A -v [IP 位址]
這會在指定的 IP 位址上啟動 TCP SYN 掃描,偵測作業系統和版本,同時以詳細模式顯示結果。掃描將顯示哪些通訊埠是開啟的,以及這些通訊埠上正在執行哪些服務。
▪使用通訊埠掃描器時應該注意什麼?
使用通訊埠掃描器時,你應該尋找以下資訊:
‧開啟的通訊埠:通訊埠掃描器會顯示哪些通訊埠是開啟的,並且正在等待連線。此資訊可用於識別潛在的漏洞。
‧在開啟的通訊埠上執行的服務:通訊埠掃描器會識別在開放通訊埠上執行的服務。此資訊可用於了解系統上執行的伺服器或應用程式的類型,並識別與這些服務相關的潛在漏洞。
‧作業系統識別:通訊埠掃描器可用於識別目標系統上執行的作業系統。此資訊可用於識別作業系統特有的漏洞。
‧橫幅(Banner)抓取:通訊埠掃描器還可以執行橫幅抓取。此資訊可用於識別系統上執行的應用程式的版本和類型,並識別潛在的漏洞。
‧防火牆設定:通訊埠掃描器可用於識別防火牆設定並識別基於安全原因應關閉的通訊埠。
一般來說,防火牆必須阻擋管理通訊埠不對外開放,例如 SSH 通訊埠 22、RDP 通訊埠 3389、Telnet 通訊埠 23。
‧NS 伺服器(網域名稱伺服器)只能開啟通訊埠 53。
‧Web 伺服器只能開啟通訊埠 80 和 443。
‧MX 伺服器必須只開啟 SMTP 通訊埠 25 以接收入站電子郵件。
進行定期掃描開啟的通訊埠和服務、確保僅開放必要的通訊埠、不僅可以減少攻擊面, 還能降低漏洞管理的努力和時間。
▪使用漏洞掃描器
https://hostedscan.com/ 提供漏洞掃描服務。有關漏洞掃描程式的更多資訊,可以參閱 Core Security 部落格上的「Top 14 Vulnerability Scanners for Cybersecurity Professionals」。
圖 9 是來自 hostedscan.com 的漏洞報告範例:

漏洞掃描器通常有兩種類型:一種是為網路基礎架構設計的,另一種是為 Web 應用程式設計的。
▪公司網路存在哪些弱點?
可以使用 Nessus、OpenVAS 和 Qualys 等工具。
Nessus 的指令是「nessus -h -h」,再加上需要掃描的主機 IP 位址。
▪公司的 Web 應用程式安全狀況如何?
若要評估 Web 應用程式的安全級別,你可以使用 Burp Suite、OWASP ZAP 等 Web 應用程式掃描器。
‧Burp Suite
Burp Suite 是一款常見的 Web 應用程式安全工具,可讓你測試各種漏洞,包括 SQL 注入(SQL injection)、跨網站腳本(XSS)。它還提供一個代理伺服器,可讓你攔截和修改瀏覽器與你正在測試的 Web 應用程式之間的 HTTP/HTTPS 流量。
‧OWASP ZAP
OWASP ZAP 是另一個常見的 Web 應用程式安全工具,具備用於測試 Web 應用程式的各種功能,包括自動掃描、手動測試和 API 測試。它也提供一個代理伺服器,類似於 Burp Suite。
總體而言,綜合利用 DNS 分析、通訊埠掃描、漏洞掃描和 Web 應用程式掃描等技術和工具,就能夠幫助你進行有效的資安風險偵察和外部態勢評估。
▪其他掃描器列表:
Top 14 Vulnerability Scanners for Cybersecurity Professionals | Core Security Blog
網路安全專業人員必備的 14 款頂級漏洞掃描器 | 核心安全博客
https://www.coresecurity.com/blog/top-14-vulnerability-scanners-cybersecurity-professionals
(本文授權非營利轉載,請註明出處:CIO Taiwan)















