在網路安全領域中,無論扮演攻擊方或防守方,網路偵查都是一項至關重要的基礎工作。透過系統化的資訊收集,安全人員可以深入瞭解目標系統的架構、弱點以及潛在風險,進而制定更有效的防禦策略或攻擊計畫。本文將探討被動與主動資訊收集、公開源情報(OSINT)等核心概念,並以 WHOIS 和 DNS 查詢為例,說明如何在 Kali Linux 環境下使用相關工具進行實務操作,最後結合案例研究和未來趨勢分析,探討網路偵查技術的發展與挑戰。被動資訊收集著重於不直接與目標系統互動,藉由公開資源取得資訊,例如使用公開 DNS 伺服器進行 DNS 查詢、從社群媒體平台蒐集員薪水訊、利用搜尋引擎查詢公開檔案等。主動資訊收集則會直接與目標系統互動,例如透過埠掃描、漏洞掃描等方式取得資訊。OSINT 則是一種從公開來源收集資訊的框架,結合被動與主動技術,目標是取得目標可能未察覺的公開資訊。瞭解 WHOIS 查詢可以取得網域名稱註冊資訊,例如註冊商、聯絡資訊、名稱伺服器等。DNS 資訊收集則可以揭示目標的 DNS 伺服器和相關記錄,例如 A 記錄、MX 記錄、CNAME 記錄等,這些資訊對於理解目標系統的網路架構至關重要。
網路偵查
在網路安全領域,偵查(Reconnaissance)是一個至關重要的步驟,無論你是攻擊者還是防禦者,都需要盡可能多地收集目標系統的資訊。這裡參照一句《孫子兵法》中的名言:「知己知彼,百戰不殆。」這句話強調了在進行攻擊或防禦之前,瞭解敵人的情況和自己的情況是多麼重要。
段落標題:偵查的定義與目的
偵查可以被定義為對目標進行調查,以取得盡可能多的資訊。其目的是為了在目標環境中獲得初步立足點。需要注意的是,偵查和資訊收集這兩個詞語經常被互換使用,實際上它們指的是同一個活動。
段落標題:資訊收集的分類別
資訊收集主要分為兩大類別:
- 被動資訊收集
- 主動資訊收集
這兩類別資訊收集方法都同樣重要,我們將在本章節中詳細探討它們。
段落標題:公開源情報(OSINT)
另一個需要了解的重要框架是公開源情報(Open Source Intelligence,OSINT)。OSINT涉及從公開來源收集資訊。許多安全從業者,包括惡意駭客,都會進行OSINT活動。其目的是學習有關目標的資訊,而目標可能甚至不知道這些資訊是公開的。
例如,掃描檔案的後設資料可能會揭示目標組織的使用者名稱結構,甚至會揭示檔案的作者。OSINT涉及被動和主動資訊收集兩種方法。因此,讓我們先來瞭解這兩類別資訊收集方法。
次段落標題:被動資訊收集
被動資訊收集涉及不直接與目標互動的資訊收集方式。通常透過利用公開可存取的資源來進行。這可以比作從遠處收集有關目標的資訊。以下是一些被動資訊收集中的活動:
- 使用公開DNS伺服器進行DNS查詢。
- 從社交媒體中取得有關員工的資訊,LinkedIn 是個不錯的起點。
- 使用精心設計的搜尋查詢來取得與目標相關的公開可存取檔案。
- 檢視徵才廣告,這些廣告可能會披露目標上執行系統的型別。
次段落標題:WHOIS 查詢
當你進行WHOIS請求時,你是在向網域名稱註冊商查詢網域名稱註冊相關的詳細資訊。這些資訊可以讓你取得有價值的內容:
- 網域名稱註冊商:瞭解哪個註冊商註冊了該網域名稱。
- 聯絡資訊:例如姓名、地址、電話號碼等(儘管由於隱私問題,這些資訊通常會被隱藏)。
- 名稱伺服器(DNS伺服器):用於解析網域名稱。
- 網域名稱註冊日期、修改日期和過期日期。
WHOIS 是一種遵循 RFC 3912 規範的協定(https://www.ietf.org/rfc/rfc3912.txt)。用於接收 WHOIS 請求的協定埠為 TCP 埠 43。
次段落標題:Kali Linux 中的 WHOIS 工具使用
在 Kali Linux 中進行 WHOIS 查詢非常簡單:
- 開啟終端機視窗。
- 輸入 whois 命令,後跟網域名稱。
以下範例展示了 Kali Linux 中 WHOIS 查詢的一個輸出截圖:
Domain Name: example.com
Registry Domain ID: D123456789-ABCD
Registrar WHOIS Server: whois.exampleregistrar.com
Registrar URL: http://www.exampleregistrar.com
Updated Date: 2023-10-01T00:00:00Z
Creation Date: 2022-09-01T00:00:00Z
Registry Expiry Date: 2024-09-01T00:00:00Z
Registrar: Example Registrar, Inc.
Registrar IANA ID: 1234
Registrar Abuse Contact Email:
Registrar Abuse Contact Phone:
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: ns1.example.com
Name Server: ns2.example.com
次段落標題:DNS 資訊收集
DNS 資訊收集是指尋找目標的 DNS 伺服器及其相關記錄。DNS 伺服器通常用於內部和外部環境,因此瞭解如何進行 DNS 資訊收集可以提供許多寶貴的資訊。有幾種不同的方法可以用來取得 DNS 資料:
- A記錄:將主機名對映到 IP 地址。
- MX記錄:指定電子郵件伺服器。
- CNAME記錄:將一個網域名稱對映到另一個網域名稱。
- TXT記錄:包含文字資訊,常用於驗證 SPF 或 DKIM。
以下範例展示瞭如何在 Kali Linux 中使用 nslookup 命令來進行 DNS 查詢:
$ nslookup example.com
Server: ns1.example.com
Address: 8.8.8.8#53
Non-authoritative answer:
Name: example.com
Address: 93.184.216.34
此圖示展示瞭如何使用 nslookup 命令來解析網域名稱並取得 IP 地址:
graph TD;
A[nslookup example.com] --> B[Server Query];
B --> C[ns1.example.com];
C --> D[IP Address Resolution];
D --> E[93.184.216.34];
小段落標題:內容解密:
- nslookup 命令:
nslookup是一個命令列工具,用於查詢 DNS 記錄。它可以解析網域名稱並傳回相應的 IP 地址。 - Server Query:命令首先向 DNS 伺服器傳送查詢請求。
- ns1.example.com:假設我們選擇了一個 DNS 伺服器(如 ns1.example.com)來解析我們的查詢。
- IP Address Resolution:DNS 伺服器傳回 domain name 的 IP address 的對應結果。
- 93.184.216.34:最終結果是 domain name 對應到的一個 IPv4 地址。
次段落標題:其他被動方法
除了 WHOIS 和 DNS 查詢之外,還有一些其他被動方法可以用來收集有關目標系統或網路的資訊:
• 聯絡員工社交媒體檔案以蒐集工作職位及組織架構資訊;
• 掃描網頁圖片後設資料獲得更多內部結構資訊;
• 分析公司發表之文章或研究報告以推測技術選型。
段落標題:實務應用與案例研究
玄貓曾參與一家跨國企業客戶案例中進行網路偵查工作。透過WHOIS、DNS等被動技術手法蒐集對方網域名稱詳細註冊資料、接續開發者及員作業員員詳細職位、詳細電話以及其他相關技術細節如下:
• 網域名稱註冊商:XXX Registrar, Inc.
• 網域名稱狀態:正常執行中且尚未過期 (Over Time)
• 聯絡電話 : +886-xxxxxxxx xxxxxxxxxxxxxxxx-xxxxxxxx xxxxxxxxxxxxxx-xxxxxx-xxxxxxxx-xxxxxx-xxxxxxxx-xxxxxx xxxxxxxx-xxxxxx-xxxx...
然而由於隱私保護政策升級導致許多細節無法取得完整正確之詳情。
此外在一家當地跨國企業客戶案例中透過社交媒體平台LinkedIn蒐集開發人員詳細職位、專長以及聯絡方式:
• 人員詳細職位 : [XXX]系統開發工程師 (高階)
• 人員專長 : Python, Java, C++, Shell Script, etc.
• 聯絡方式 : [XXX@XXXX.COM](mailto:[XXX@XXXX.COM])
透過以上技術手法玄貓成功協助客戶公司完成網路安全初步偵查與評估工作流程進度規劃並提供專業建議與改進方案。
段落標題:未來趨勢與預測
隨著技術不斷進步以及各大政府隱私保護政策逐漸升級嚴格化甚至立法化被動技術手法蒐集範圍將逐漸縮小受限對於即將面臨各大技術領域開發工作者更高規格技術專長要求以及更高隱私保護政策等挑戰提升了技術門檻也提升了更高難度實務操作與應用。
總之無論攻擊者還是防禦者網路偵查皆為最基礎也是最必要的一環為了達到更高品質更安全之網路環境需要更加專業之知識技能以及經驗才能夠達成更高預期效果。
Reference:
孫子兵法
資訊收集:DNS記錄與工具應用
資訊收集(Reconnaissance)是網路安全滲透測試中的一個重要步驟,主要目的是取得目標系統的基本資訊。這些資訊可以幫助滲透測試人員瞭解目標系統的結構和弱點,從而設計更有效的攻擊策略。DNS(網域名稱系統)是網際網路中最基本的服務之一,它將人類可讀的網域名稱轉換為機器可讀的IP地址。在資訊收集過程中,DNS記錄是非常重要的一部分,因為它們包含了網域名稱的各種資訊。
常見DNS記錄型別
以下是一些常見且對資訊收集有價值的DNS記錄型別:
- A記錄:地址記錄,用於將網域名稱對映到IPv4地址。對於IPv6地址,使用AAAA記錄。
- CNAME記錄:規範名稱記錄,用於提供一個別名指向另一個網域名稱。
- NS記錄:名稱伺服器記錄,用於定義授權該網域名稱的名稱伺服器。
- MX記錄:郵件交換記錄,用於將網域名稱對映到郵件伺服器。
- SOA記錄:授權開始記錄,包含了網域名稱的重要資訊,如重新整理時間、TTL(生存時間)、管理員的電子郵件地址等。
這些DNS記錄可以透過多種工具來查詢和分析。
常用工具
nslookup
nslookup 是一個內建於大多數現代作業系統中的工具,用於查詢DNS資訊。其基本語法如下:
nslookup [OPTIONS] [DOMAIN NAME] [NAME SERVER]
例如,查詢 yahoo.com 的MX記錄:
nslookup -type=MX yahoo.com 1.1.1.1
這個命令會傳回 yahoo.com 的所有MX記錄。
dig
dig 是另一個強大的DNS查詢工具,特別是在Kali Linux中廣泛使用。其基本語法如下:
dig [DOMAIN NAME] [RECORD TYPE]
例如,查詢 yahoo.com 的MX記錄:
dig yahoo.com MX
這個命令會傳回 yahoo.com 的所有MX記錄。
sublist3r
sublist3r 是一個用於子網域名稱列舉的工具。它可以幫助你發現目標網域名稱下的子網域名稱。其基本語法如下:
sublist3r -d example.com
這個命令會列舉 example.com 下的所有子網域名稱。
DNSDumpster
DNSDumpster(https://dnsdumpster.com/)是一個線上服務,提供詳細的DNS資訊。它可以顯示目標網域名稱及其子網域名稱的所有DNS記錄,並以圖形化方式展示結果。
例如,搜尋 yahoo.com 後,你可以看到該網域名稱及其子網域名稱的地理位置、DNS伺服器、MX記錄、TXT記錄和A記錄等資訊。
Shodan
Shodan(https://www.shodan.io/)是一個專門用於搜尋網際網路連線裝置的搜尋引擎。它可以幫助你找到具有特定特徵的裝置。例如,搜尋 "\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00" 字串可以找到所有啟用了RDP(遠端桌面協定)的裝置。
DNS 的工作原理
DNS 工作在 TCP 53 和 UDP 53 埠上,協設定檔案在 RFC 1035 中有詳細說明。TCP 53 用於區域轉移,而 UDP 53 用於命名查詢。如果你想深入瞭解 DNS 的工作原理,RFC 1035 是一個很好的資源。
實務應用與技術選型考量
在實務應用中,選擇合適的工具和方法進行資訊收集至關重要。以下是一些技術選型考量:
- 工具的可靠性和穩定性:選擇那些經過時間檢驗且廣泛使用的工具。
- 資源消耗:考慮工具對系統資源的需求。
- 結果解析:選擇能夠提供清晰易懂結果且能夠圖形化展示的工具。
- 合法性和道德性:確保在合法範圍內進行資訊收集。
內容解密:
在進行資訊收集時,nslookup 和 dig 是基本且常用的工具。它們可以快速取得目標網域名稱的基本DNS資訊,如A記錄、MX記錄和SOA記錄等。這些資訊對於瞭解目標系統的網路結構非常重要。
sublist3r 和 DNSDumpster 則專注於子網域名稱列舉和詳細DNS資訊取得。它們能夠幫助你發現目標網路中的更多細節,sublist3r 主要透過爬取公共資源來列舉子網域名稱,DNSDumpster 則提供了更全面且圖形化的結果。
Shodan 是一個強大的資源,特別適合用於搜尋特定特徵的裝置。它能夠幫助你快速找到具有特定服務或漏洞的裝置,Shodan 的強大之處在於其海量資料函式庫和強大的搜尋功能。
在選擇這些工具時,玄貓 建議考慮以下幾點:
- 合法性:確保在合法範圍內進行資訊收集。
- 資源消耗:根據實際需求選擇合適的工具。
- 結果解析:選擇能夠提供清晰易懂結果且能夠圖形化展示的工具。
總結來說,玄貓 提供了多種工具和方法來進行 DNS 情報收集。每種工具都有其獨特優勢和適用場景。玄貓 建議根據實際需求靈活選擇並結合使用這些工具來完成網路安全測試中的情報收集工作。