Windows 網路環境的偵查與網路資源的窮舉(Enumeration)
這篇文章主要說明對於 Windows網路環境在進行滲透式測試前,
針對Windows網路環境的偵查常用幾種工具與技巧。
對網路整體的環境做偵查( “Enumeration” ),的主要目的就是:
盡可能列出該網路所有的電腦,所有的服務,所有的檔案分享等。
接下來才可以針對這些電腦與服務的弱點進一步分析,
因此特別對於Windows的網路環境與電腦,有哪些工具可以使用達到 Enumeration,
就是這篇會討論的範圍。
網路封包監聽
網路封包監聽就必須提到 WireShark or TCPDump,網路封包監聽可以獲得許多資訊,
包含(不限於):
- SNMP community strings
- Windows 廣播的 hostname, domain names.
- 廣播ARP,MAC Address
- 在網路上傳播的 protocol
NMAP
Nmap: the Network Mapper – Free Security Scanner
NMAP除了可以做網路上的掃描,還是可進行特定服務的弱點攻擊與偵測 (包含 SQL Injection, XSS 攻擊!)
關於 NMAP 常用的用法與說明可參考筆者另外一篇文章,”NMAP常用指令”
NMAP 參考文章 http://resources.infosecinstitute.com/nmap-cheat-sheet/
透過 NSE (Script Engine)可以讓 NMAP 變身成為攻擊的工具(包含 SQL Injection, XSS or HTTPS 等攻擊!)
相關 NSE 套件下載可以參考: https://nmap.org/nsedoc/index.html
Net指令
這個指令是 Windows Command console 所提供的內建指令,
這個指令主要用來列出 Windows 網路上的電腦名稱與網域。
因為執行這樣的指令不需要認證,所以非常方便使用。
net help view |
net view |
new view /domain |
new view /domain:<domainName> |
net view /domain ? |
發覺 Domain Controller
nltest /server:10.1.1.1 /dclist:workgroup |
透過這個指令就可以列出該電腦 10.1.1.1這個 domain group “workgroup”所有的 Domain Controller
在知道所有的 Domain Controller 電腦名稱與 IP 位址後,接下來再針對這些電腦的弱點進行偵測
電腦DNS Name list
列出特定網段電腦的 DNS Name
nmap -sL -oA “c:\\output” 10.1.99.* |
nmap -p80 –script dns-brute google.com |
NetBIOS 電腦名稱
透過 IP 位址反向查詢電腦名稱
nbtstat -A 10.1.1.1 |
nbtSCAN
Windows 內建的nbstat 僅能查詢一台電腦,
http://www.unixwiz.net/tools/nbtscan.html
另外介紹一個工具可以查詢整個網域電腦IP的電腦名稱
C:\> nbtscan 192.168.1.0/24
192.168.1.3 MTNDEW\WINDEV SHARING DC
192.168.1.5 MTNDEW\TESTING
192.168.1.9 MTNDEW\WIZ SHARING U=STEVE
192.168.1.99 MTNDEW\XPDEV SHARING
|
SNMP
SNMP可以告知我們許多的訊息!
但是需要知道 SNMP 的 community string。
有些時候需要猜測,或是透過 WireShark 攔截網路封包得知,
或是透過一個完整的 SNMP Wordlist來做 bruteForce 取得。
知道 SNMP Community String 後,可以使用 NMAP 或是 MetaSploit 的進行進一步資訊的收集
MetaSploit
msf > use auxiliary/scanner/snmp/community |
SNMP NMAP brute
https://nmap.org/nsedoc/scripts/snmp-brute.html
微軟提供評估工具
http://technet.microsoft.com/en-us/security/advisory
https://technet.microsoft.com/en-us/security/cc297183
- Microsoft Baseline Security Analyzer (MBSA)
- Cloud Security Readiness Tool
- Microsoft Assessment and Planning Toolkit
- Microsoft Security Compliance Manager Tool (SCM)
Angry IP Scanner
另外筆者建議可以使用這個工具,它可以針對整個網路掃描,
判斷哪些主機NetBIOS information (computer name, workgroup name, and currently logged in Windows user)等資訊。
Python 模組
http://www.coresecurity.com/corelabs-research/open-source-tools/impacket
這個模組可以針對網路上Windows電腦,該電腦使用者權限與清單做列舉
參考這篇文章 : http://www.hackingdna.com/2012/12/samrdump-on-backtrack-5.html