今天我們要學習滲透測試的第一步:偵察(Reconnaissance)。
就像玩線上遊戲要先開地圖一樣,我們要先搞清楚目標環境有哪些電腦、跑什麼服務。
想像一下,公司有 1000 台電腦,如果每台都要個別設定帳號密碼,IT 人員會累死。
Active Directory 就是微軟的「中央管理系統」:
在本次的 GOAD 實驗環境中,模擬《權力遊戲》的世界:
三個王國(網域):
├── sevenkingdoms.local(七大王國)
│ └── DC: KINGSLANDING (192.168.139.10)
├── north.sevenkingdoms.local(北境)
│ ├── DC: WINTERFELL (192.168.139.11)
│ └── 成員: CASTELBLACK (192.168.139.22)
└── essos.local(厄索斯大陸)
├── DC: MEEREEN (192.168.139.12)
└── 成員: BRAAVOS (192.168.139.23)
kingslanding.sevenkingdoms.local
# 使用管理員的身分執行 apt 更新套件清單
sudo apt update
sudo
使用管理員的身分執行指令apt
Linux 中管理套件的工具名稱apt update
更新套件清單
# 使用管理員的身分執行 apt 安裝 crackmapexec
sudo apt install crackmapexec -y
sudo
使用管理員的身分執行指令apt
Linux 中管理套件的工具名稱apt install [套件/工具名稱]
安裝指定套件/工具
crackmapexec 是什麼?
網段是什麼: 網段(subnet)/網域(network):一群連在一起、使用相同網路前綴的 IP。例如 192.168.1.0/24 代表 256 個位址(含網路與廣播位址)。
為什麼需要列舉使用者
# 使用管理員的身分執行 apt 安裝 nmap
sudo apt install nmap -y
Nmap 是什麼?
# 通常系統已內建
nslookup
dig
host
ip addr
可以看到網卡 eth1
的 IP 為 192.168.139.136
,
如果你輸入指令沒有看到相同網段,請修改 VMware 的設定。
# 基本掃描指令
crackmapexec smb 192.168.139.0/24
# 或更精確的範圍
crackmapexec smb 192.168.139.10-12 192.168.139.22-23
輸出結果:
┌──(kali㉿kali)-[~]
└─$ crackmapexec smb 192.168.139.0/24
SMB 192.168.139.11 445 WINTERFELL [*] Windows 10 / Server 2019 Build 17763 x64 (name:WINTERFELL) (domain:north.sevenkingdoms.local) (signing:True) (SMBv1:False)
SMB 192.168.139.10 445 KINGSLANDING [*] Windows 10 / Server 2019 Build 17763 x64 (name:KINGSLANDING) (domain:sevenkingdoms.local) (signing:True) (SMBv1:False)
SMB 192.168.139.23 445 BRAAVOS [*] Windows Server 2016 Standard Evaluation 14393 x64 (name:BRAAVOS) (domain:essos.local) (signing:False) (SMBv1:True)
SMB 192.168.139.22 445 CASTELBLACK [*] Windows 10 / Server 2019 Build 17763 x64 (name:CASTELBLACK) (domain:north.sevenkingdoms.local) (signing:False) (SMBv1:False)
SMB 192.168.139.12 445 MEEREEN [*] Windows Server 2016 Standard Evaluation 14393 x64 (name:MEEREEN) (domain:essos.local) (signing:True) (SMBv1:True)
輸出解讀:
SMB 192.168.139.22 CASTELBLACK (domain:north.sevenkingdoms.local) signing:False
↑ 協定 ↑ IP ↑ 電腦名稱 ↑ 所屬網域 ↑ SMB簽章狀態
重點觀察:
signing:True
= DC 或重要伺服器(較安全)signing:False
= 可能成為中繼攻擊目標(較危險)進階用法:
為什麼要「列舉使用者」
紅隊 / 滲透測試角度:
- 快速找出可能的弱帳號(弱密碼、預設密碼、過期未變更帳號)。
- 決定後續測試路徑(哪些帳號可嘗試水平移動、哪些主機值得深入)。
藍隊 / 防守角度:
- 知道有哪些帳號存在 → 檢查是否有不必要或過期帳號、服務帳號濫用、> 管理員帳號過多等風險。
- 監控被列舉的跡象(大量列舉行為可能是攻擊前兆),設計告警規則。
合規 / 審計角度:
- 定期列出帳號並核對(誰有管理權限、哪些帳號不應存在),作為帳號管> 理的改善依據。
# 列舉使用者(嘗試用 匿名登入 或「空帳號空密碼」去測試)
# --users 嘗試 列舉出目標的使用者清單
crackmapexec smb 192.168.139.11 -u '' -p '' --users
┌──(kali㉿kali)-[~]
└─$ crackmapexec smb 192.168.139.11 -u '' -p '' --users
SMB 192.168.139.11 445 WINTERFELL [*] Windows 10 / Server 2019 Build 17763 x64 (name:WINTERFELL) (domain:north.sevenkingdoms.local) (signing:True) (SMBv1:False)
SMB 192.168.139.11 445 WINTERFELL [+] north.sevenkingdoms.local\:
SMB 192.168.139.11 445 WINTERFELL [-] Error enumerating domain users using dc ip 192.168.139.11: NTLM needs domain\username and a password
SMB 192.168.139.11 445 WINTERFELL [*] Trying with SAMRPC protocol
SMB 192.168.139.11 445 WINTERFELL [+] Enumerated domain user(s)
SMB 192.168.139.11 445 WINTERFELL north.sevenkingdoms.local\Guest Built-in account for guest access to the computer/domain
SMB 192.168.139.11 445 WINTERFELL north.sevenkingdoms.local\arya.stark Arya Stark
SMB 192.168.139.11 445 WINTERFELL north.sevenkingdoms.local\sansa.stark Sansa Stark
SMB 192.168.139.11 445 WINTERFELL north.sevenkingdoms.local\brandon.stark Brandon Stark
SMB 192.168.139.11 445 WINTERFELL north.sevenkingdoms.local\rickon.stark Rickon Stark
SMB 192.168.139.11 445 WINTERFELL north.sevenkingdoms.local\hodor Brainless Giant
SMB 192.168.139.11 445 WINTERFELL north.sevenkingdoms.local\jon.snow Jon Snow
SMB 192.168.139.11 445 WINTERFELL north.sevenkingdoms.local\samwell.tarly Samwell Tarly (Password : Heartsbane)
SMB 192.168.139.11 445 WINTERFELL north.sevenkingdoms.local\jeor.mormont Jeor Mormont
SMB 192.168.139.11 445 WINTERFELL north.sevenkingdoms.local\sql_svc sql service
紅隊 vs 藍隊
紅隊看什麼?
藍隊怎麼防?
# 列舉共享資料夾
crackmapexec smb 192.168.139.10 -u '' -p '' --shares
SRV 查詢能直接告訴你哪台是 DC(LDAP 在哪,埠為何)——這是攻擊者偵察的捷徑,也因此是藍隊必監控的指標。
# 查詢 DC 的 SRV 記錄
nslookup -type=srv _ldap._tcp.dc._msdcs.sevenkingdoms.local 192.168.139.10
nslookup -type=srv _ldap._tcp.dc._msdcs.north.sevenkingdoms.local 192.168.139.11
nslookup -type=srv _ldap._tcp.dc._msdcs.essos.local 192.168.139.12
┌──(kali㉿kali)-[~]
└─$ nslookup -type=srv _ldap._tcp.dc._msdcs.sevenkingdoms.local 192.168.139.10
Server: 192.168.139.10
Address: 192.168.139.10#53
_ldap._tcp.dc._msdcs.sevenkingdoms.local service = 0 100 389 kingslanding.sevenkingdoms.local.
_ldap._tcp.dc._msdcs.<domain>
:AD 用來宣告該網域(domain)Domain Controller 的 SRV 名稱模式。service = 0 100 389 kingslanding.sevenkingdoms.local.
→ 各欄含義:
0
= priority(優先順序)100
= weight(負載/權重)389
= port(LDAP 非加密預設埠)kingslanding.sevenkingdoms.local.
= target(DC 主機名稱)192.168.139.10
查,回來的 DC 是 kingslanding.sevenkingdoms.local
(LDAP 在 389)。┌──(kali㉿kali)-[~]
└─$ nslookup -type=srv _ldap._tcp.dc._msdcs.north.sevenkingdoms.local 192.168.139.11
Server: 192.168.139.11
Address: 192.168.139.11#53
_ldap._tcp.dc._msdcs.north.sevenkingdoms.local service = 0 100 389 winterfell.north.sevenkingdoms.local.
┌──(kali㉿kali)-[~]
└─$ nslookup -type=srv _ldap._tcp.dc._msdcs.essos.local 192.168.139.12
Server: 192.168.139.12
Address: 192.168.139.12#53
_ldap._tcp.dc._msdcs.essos.local service = 0 100 389 meereen.essos.local.
north.sevenkingdoms.local
vs sevenkingdoms.local
),會推測存在多個 AD domain/forest 或 trust 關係,讓攻擊路徑更複雜也更有機會找到橫向路徑。_ldap._tcp.dc._msdcs.*
,可能是偵察行為。./rustscan -a 192.168.139.0/24
# 完整掃描(較慢但完整)
sudo nmap -Pn -p- -sC -sV -oA full_scan_goad 192.168.139.10-12,22-23
# 快速掃描(先看重要服務)
sudo nmap -Pn -p 53,88,135,139,389,445,464,593,636,1433,3268,3269,3389,5985,5986 \
-sC -sV -oA quick_ad_scan 192.168.139.10-12,22-23
┌──(kali㉿kali)-[~]
└─$ sudo nmap -Pn -p 53,88,135,139,389,445,464,593,636,1433,3268,3269,3389,5985,5986 \
-sC -sV -oA quick_ad_scan 192.168.139.10-12,22-23
[sudo] password for kali:
Starting Nmap 7.95 ( https://nmap.org ) at 2025-09-15 13:00 EDT
Nmap scan report for kingslanding.sevenkingdoms.local (192.168.139.10)
Host is up (0.00067s latency).
PORT STATE SERVICE VERSION
53/tcp open domain (generic dns response: SERVFAIL)
| fingerprint-strings:
| DNS-SD-TCP:
| _services
| _dns-sd
| _udp
|_ local
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-09-15 17:00:17Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: sevenkingdoms.local0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=kingslanding.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:kingslanding.sevenkingdoms.local
| Not valid before: 2025-09-07T16:31:17
|_Not valid after: 2026-09-07T16:31:17
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: sevenkingdoms.local0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=kingslanding.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:kingslanding.sevenkingdoms.local
| Not valid before: 2025-09-07T16:31:17
|_Not valid after: 2026-09-07T16:31:17
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
1433/tcp closed ms-sql-s
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: sevenkingdoms.local0., Site: Default-First-Site-Name)
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
| ssl-cert: Subject: commonName=kingslanding.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:kingslanding.sevenkingdoms.local
| Not valid before: 2025-09-07T16:31:17
|_Not valid after: 2026-09-07T16:31:17
3269/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: sevenkingdoms.local0., Site: Default-First-Site-Name)
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
| ssl-cert: Subject: commonName=kingslanding.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:kingslanding.sevenkingdoms.local
| Not valid before: 2025-09-07T16:31:17
|_Not valid after: 2026-09-07T16:31:17
3389/tcp open ms-wbt-server Microsoft Terminal Services
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
| ssl-cert: Subject: commonName=kingslanding.sevenkingdoms.local
| Not valid before: 2025-09-06T16:02:43
|_Not valid after: 2026-03-08T16:02:43
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
5986/tcp open ssl/http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_ssl-date: 2025-09-15T17:01:26+00:00; 0s from scanner time.
| tls-alpn:
|_ http/1.1
|_http-server-header: Microsoft-HTTPAPI/2.0
| ssl-cert: Subject: commonName=VAGRANT
| Subject Alternative Name: DNS:VAGRANT, DNS:vagrant
| Not valid before: 2025-09-06T05:14:19
|_Not valid after: 2028-09-05T05:14:19
|_http-title: Not Found
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port53-TCP:V=7.95%I=7%D=9/15%Time=68C84630%P=x86_64-pc-linux-gnu%r(DNS-
SF:SD-TCP,30,"\0\.\0\0\x80\x82\0\x01\0\0\0\0\0\0\t_services\x07_dns-sd\x04
SF:_udp\x05local\0\0\x0c\0\x01");
MAC Address: 00:0C:29:4E:44:64 (VMware)
Service Info: Host: KINGSLANDING; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
| smb2-time:
| date: 2025-09-15T17:01:14
|_ start_date: N/A
|_nbstat: NetBIOS name: KINGSLANDING, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:4e:44:64 (VMware)
關鍵觀察
smb2-security-mode
: signing enabled and required(DC 典型設定)。看出什麼
紅隊看什麼
藍隊怎麼防
Nmap scan report for winterfell.north.sevenkingdoms.local (192.168.139.11)
Host is up (0.00076s latency).
PORT STATE SERVICE VERSION
53/tcp open domain (generic dns response: SERVFAIL)
| fingerprint-strings:
| DNS-SD-TCP:
| _services
| _dns-sd
| _udp
|_ local
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-09-15 17:00:17Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: sevenkingdoms.local0., Site: Default-First-Site-Name)
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
| ssl-cert: Subject: commonName=winterfell.north.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:winterfell.north.sevenkingdoms.local
| Not valid before: 2025-09-07T17:03:29
|_Not valid after: 2026-09-07T17:03:29
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: sevenkingdoms.local0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=winterfell.north.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:winterfell.north.sevenkingdoms.local
| Not valid before: 2025-09-07T17:03:29
|_Not valid after: 2026-09-07T17:03:29
|_ssl-date: 2025-09-15T17:01:26+00:00; 0s from scanner time.
1433/tcp closed ms-sql-s
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: sevenkingdoms.local0., Site: Default-First-Site-Name)
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
| ssl-cert: Subject: commonName=winterfell.north.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:winterfell.north.sevenkingdoms.local
| Not valid before: 2025-09-07T17:03:29
|_Not valid after: 2026-09-07T17:03:29
3269/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: sevenkingdoms.local0., Site: Default-First-Site-Name)
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
| ssl-cert: Subject: commonName=winterfell.north.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:winterfell.north.sevenkingdoms.local
| Not valid before: 2025-09-07T17:03:29
|_Not valid after: 2026-09-07T17:03:29
3389/tcp open ms-wbt-server Microsoft Terminal Services
| rdp-ntlm-info:
| Target_Name: NORTH
| NetBIOS_Domain_Name: NORTH
| NetBIOS_Computer_Name: WINTERFELL
| DNS_Domain_Name: north.sevenkingdoms.local
| DNS_Computer_Name: winterfell.north.sevenkingdoms.local
| DNS_Tree_Name: sevenkingdoms.local
| Product_Version: 10.0.17763
|_ System_Time: 2025-09-15T17:01:16+00:00
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
| ssl-cert: Subject: commonName=winterfell.north.sevenkingdoms.local
| Not valid before: 2025-09-06T16:14:12
|_Not valid after: 2026-03-08T16:14:12
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
5986/tcp open ssl/http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
| tls-alpn:
|_ http/1.1
|_ssl-date: 2025-09-15T17:01:26+00:00; 0s from scanner time.
| ssl-cert: Subject: commonName=VAGRANT
| Subject Alternative Name: DNS:VAGRANT, DNS:vagrant
| Not valid before: 2025-09-06T06:14:05
|_Not valid after: 2028-09-05T06:14:05
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port53-TCP:V=7.95%I=7%D=9/15%Time=68C84630%P=x86_64-pc-linux-gnu%r(DNS-
SF:SD-TCP,30,"\0\.\0\0\x80\x82\0\x01\0\0\0\0\0\0\t_services\x07_dns-sd\x04
SF:_udp\x05local\0\0\x0c\0\x01");
MAC Address: 00:0C:29:39:1F:3F (VMware)
Service Info: Host: WINTERFELL; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_nbstat: NetBIOS name: WINTERFELL, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:39:1f:3f (VMware)
| smb2-time:
| date: 2025-09-15T17:01:15
|_ start_date: N/A
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
關鍵觀察
看出什麼
紅隊看什麼
藍隊怎麼防
Nmap scan report for meereen.essos.local (192.168.139.12)
Host is up (0.00066s latency).
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-09-15 17:00:27Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: essos.local, Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=meereen.essos.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:meereen.essos.local
| Not valid before: 2025-09-07T16:31:30
|_Not valid after: 2026-09-07T16:31:30
|_ssl-date: 2025-09-15T17:01:31+00:00; +4s from scanner time.
445/tcp open microsoft-ds Windows Server 2016 Standard Evaluation 14393 microsoft-ds (workgroup: ESSOS)
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: essos.local, Site: Default-First-Site-Name)
|_ssl-date: 2025-09-15T17:01:31+00:00; +4s from scanner time.
| ssl-cert: Subject: commonName=meereen.essos.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:meereen.essos.local
| Not valid before: 2025-09-07T16:31:30
|_Not valid after: 2026-09-07T16:31:30
1433/tcp closed ms-sql-s
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: essos.local, Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=meereen.essos.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:meereen.essos.local
| Not valid before: 2025-09-07T16:31:30
|_Not valid after: 2026-09-07T16:31:30
|_ssl-date: 2025-09-15T17:01:31+00:00; +4s from scanner time.
3269/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: essos.local, Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=meereen.essos.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1:<unsupported>, DNS:meereen.essos.local
| Not valid before: 2025-09-07T16:31:30
|_Not valid after: 2026-09-07T16:31:30
|_ssl-date: 2025-09-15T17:01:30+00:00; +3s from scanner time.
3389/tcp open ms-wbt-server Microsoft Terminal Services
|_ssl-date: 2025-09-15T17:01:31+00:00; +4s from scanner time.
| ssl-cert: Subject: commonName=meereen.essos.local
| Not valid before: 2025-09-06T16:02:41
|_Not valid after: 2026-03-08T16:02:41
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
5986/tcp open ssl/http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_ssl-date: 2025-09-15T17:01:31+00:00; +4s from scanner time.
| ssl-cert: Subject: commonName=VAGRANT
| Subject Alternative Name: DNS:VAGRANT, DNS:vagrant
| Not valid before: 2025-09-06T08:05:11
|_Not valid after: 2028-09-05T08:05:11
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
| tls-alpn:
| h2
|_ http/1.1
MAC Address: 00:0C:29:5A:B0:3C (VMware)
Service Info: Host: MEEREEN; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb-os-discovery:
| OS: Windows Server 2016 Standard Evaluation 14393 (Windows Server 2016 Standard Evaluation 6.3)
| Computer name: meereen
| NetBIOS computer name: MEEREEN\x00
| Domain name: essos.local
| Forest name: essos.local
| FQDN: meereen.essos.local
|_ System time: 2025-09-15T10:01:24-07:00
| smb2-time:
| date: 2025-09-15T17:01:22
|_ start_date: 2025-09-15T13:41:53
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: required
|_nbstat: NetBIOS name: MEEREEN, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:5a:b0:3c (VMware)
|_clock-skew: mean: 46m44s, deviation: 2h20m02s, median: 3s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
關鍵觀察
看出什麼
紅隊看什麼
藍隊怎麼防
Nmap scan report for castelblack.north.sevenkingdoms.local (192.168.139.22)
Host is up (0.00071s latency).
PORT STATE SERVICE VERSION
53/tcp closed domain
88/tcp closed kerberos-sec
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp closed ldap
445/tcp open microsoft-ds?
464/tcp closed kpasswd5
593/tcp closed http-rpc-epmap
636/tcp closed ldapssl
1433/tcp open ms-sql-s Microsoft SQL Server 2019 15.00.2000.00; RTM
| ms-sql-ntlm-info:
| 192.168.139.22:1433:
| Target_Name: NORTH
| NetBIOS_Domain_Name: NORTH
| NetBIOS_Computer_Name: CASTELBLACK
| DNS_Domain_Name: north.sevenkingdoms.local
| DNS_Computer_Name: castelblack.north.sevenkingdoms.local
| DNS_Tree_Name: sevenkingdoms.local
|_ Product_Version: 10.0.17763
| ms-sql-info:
| 192.168.139.22:1433:
| Version:
| name: Microsoft SQL Server 2019 RTM
| number: 15.00.2000.00
| Product: Microsoft SQL Server 2019
| Service pack level: RTM
| Post-SP patches applied: false
|_ TCP port: 1433
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2025-09-15T13:43:43
|_Not valid after: 2055-09-15T13:43:43
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
3268/tcp closed globalcatLDAP
3269/tcp closed globalcatLDAPssl
3389/tcp open ms-wbt-server Microsoft Terminal Services
| ssl-cert: Subject: commonName=castelblack.north.sevenkingdoms.local
| Not valid before: 2025-09-06T16:28:26
|_Not valid after: 2026-03-08T16:28:26
|_ssl-date: 2025-09-15T17:01:26+00:00; 0s from scanner time.
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
5986/tcp open ssl/http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
| tls-alpn:
|_ http/1.1
| ssl-cert: Subject: commonName=VAGRANT
| Subject Alternative Name: DNS:VAGRANT, DNS:vagrant
| Not valid before: 2025-09-06T08:08:37
|_Not valid after: 2028-09-05T08:08:37
|_ssl-date: 2025-09-15T17:01:26+00:00; -1s from scanner time.
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
MAC Address: 00:0C:29:52:68:A5 (VMware)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2025-09-15T17:01:17
|_ start_date: N/A
|_nbstat: NetBIOS name: CASTELBLACK, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:52:68:a5 (VMware)
關鍵觀察
ms-sql-ntlm-info
顯示 Domain: NORTH / DNS_Tree_Name: sevenkingdoms.local,版本 SQL Server 2019 RTM。smb2-security-mode
: signing enabled but NOT required(可被中間人 / relay 風險提升)。看出什麼
紅隊看什麼
藍隊怎麼防
Nmap scan report for braavos.essos.local (192.168.139.23)
Host is up (0.00064s latency).
PORT STATE SERVICE VERSION
53/tcp closed domain
88/tcp closed kerberos-sec
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp closed ldap
445/tcp open microsoft-ds Windows Server 2016 Standard Evaluation 14393 microsoft-ds
464/tcp closed kpasswd5
593/tcp closed http-rpc-epmap
636/tcp closed ldapssl
1433/tcp open ms-sql-s Microsoft SQL Server 2019 15.00.2000.00; RTM
|_ssl-date: 2025-09-15T17:01:31+00:00; +4s from scanner time.
| ms-sql-ntlm-info:
| 192.168.139.23:1433:
| Target_Name: ESSOS
| NetBIOS_Domain_Name: ESSOS
| NetBIOS_Computer_Name: BRAAVOS
| DNS_Domain_Name: essos.local
| DNS_Computer_Name: braavos.essos.local
| DNS_Tree_Name: essos.local
|_ Product_Version: 10.0.14393
| ms-sql-info:
| 192.168.139.23:1433:
| Version:
| name: Microsoft SQL Server 2019 RTM
| number: 15.00.2000.00
| Product: Microsoft SQL Server 2019
| Service pack level: RTM
| Post-SP patches applied: false
|_ TCP port: 1433
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2025-09-15T14:33:05
|_Not valid after: 2055-09-15T14:33:05
3268/tcp closed globalcatLDAP
3269/tcp closed globalcatLDAPssl
3389/tcp open ms-wbt-server Microsoft Terminal Services
|_ssl-date: 2025-09-15T17:01:31+00:00; +4s from scanner time.
| ssl-cert: Subject: commonName=braavos.essos.local
| Not valid before: 2025-09-06T16:28:23
|_Not valid after: 2026-03-08T16:28:23
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
5986/tcp open ssl/http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_ssl-date: 2025-09-15T17:01:31+00:00; +4s from scanner time.
|_http-title: Not Found
| ssl-cert: Subject: commonName=VAGRANT
| Subject Alternative Name: DNS:VAGRANT, DNS:vagrant
| Not valid before: 2025-09-06T08:40:32
|_Not valid after: 2028-09-05T08:40:32
| tls-alpn:
| h2
|_ http/1.1
MAC Address: 00:0C:29:6B:B6:A9 (VMware)
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: 1h00m04s, deviation: 2h38m46s, median: 3s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
| smb-os-discovery:
| OS: Windows Server 2016 Standard Evaluation 14393 (Windows Server 2016 Standard Evaluation 6.3)
| Computer name: braavos
| NetBIOS computer name: BRAAVOS\x00
| Domain name: essos.local
| Forest name: essos.local
| FQDN: braavos.essos.local
|_ System time: 2025-09-15T10:01:23-07:00
|_nbstat: NetBIOS name: BRAAVOS, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:6b:b6:a9 (VMware)
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-time:
| date: 2025-09-15T17:01:23
|_ start_date: 2025-09-15T14:32:51
Post-scan script results:
| clock-skew:
| 0s:
| 192.168.139.10 (kingslanding.sevenkingdoms.local)
| 192.168.139.22 (castelblack.north.sevenkingdoms.local)
| 192.168.139.11 (winterfell.north.sevenkingdoms.local)
| 1h00m04s:
| 192.168.139.23 (braavos.essos.local)
|_ 192.168.139.12 (meereen.essos.local)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 5 IP addresses (5 hosts up) scanned in 76.61 seconds
關鍵觀察
smb-security-mode
: message_signing: disabled (dangerous, but default);smb2-security-mode
: signing enabled but not required。smb-os-discovery
: Domain/Forest: essos.local。w32tm
或 chrony
驗證。看出什麼
紅隊看什麼
藍隊怎麼防
_ldap._tcp.dc._msdcs
查詢可抓偵察。# SMB 特殊腳本
nmap --script smb* -p 445 192.168.139.10-12,22-23
# LDAP 列舉
nmap --script ldap* -p 389 192.168.139.10
# 編輯 hosts 檔案
sudo vim /etc/hosts
# 加入以下內容
192.168.139.10 kingslanding.sevenkingdoms.local kingslanding
192.168.139.11 winterfell.north.sevenkingdoms.local winterfell
192.168.139.12 meereen.essos.local meereen
192.168.139.22 castelblack.north.sevenkingdoms.local castelblack
192.168.139.23 braavos.essos.local braavos
IP | 主機名稱 | 角色 | 網域 | SMB簽章 | 重要服務 |
---|---|---|---|---|---|
192.168.139.10 | KINGSLANDING | DC | sevenkingdoms.local | ✅ | DNS, Kerberos, LDAP |
192.168.139.11 | WINTERFELL | DC | north.sevenkingdoms.local | ✅ | DNS, Kerberos, LDAP |
192.168.139.12 | MEEREEN | DC | essos.local | ✅ | DNS, Kerberos, LDAP |
192.168.139.22 | CASTELBLACK | 成員 | north.sevenkingdoms.local | ❌ | SMB, RDP |
192.168.139.23 | BRAAVOS | 成員 | essos.local | ❌ | SMB, RDP |
主機 | 弱點/風險 | 可能攻擊手法 |
---|---|---|
CASTELBLACK | SMB 未簽章 | NTLM Relay、Hash 傳遞 |
BRAAVOS | SMB 未簽章 | 中繼攻擊、橫向移動 |
所有 DC | 開放 LDAP/Kerberos | 使用者列舉、Kerberoasting |
# 在 DC 上強制啟用 SMB 簽章
Set-SmbServerConfiguration -RequireSecuritySignature $True -Force
# 限制不必要的服務
Stop-Service WinRM
Set-Service WinRM -StartupType Disabled
# 防火牆封鎖 RDP
New-NetFirewallRule -DisplayName "Block RDP" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Block
補充:
為什麼 DC 的 SMB 簽章都是開啟的?
因為 DC 儲存所有帳號密碼,如果被中繼攻擊會造成嚴重後果。
如果你是防禦方,看到大量埠掃描怎麼辦?
設定 IDS/IPS 警報,或用 honeypot 誘捕。
為什麼要設定 /etc/hosts?不能直接用 IP 嗎?
Kerberos 驗證需要 FQDN,不能只靠 IP。
紅隊情境:掃到一台沒啟 SMB 簽章的成員機,但還沒有帳號密碼,你下一步會怎麼做?
嘗試使用帳號列舉、弱密碼爆破或釣魚,取得憑證後再 relay。
在 AD 偵察初期,用 nslookup -type=srv _ldap._tcp.dc._msdcs.domain.local
主要是為了找出:
A. 目前網段所有主機的開放埠
B. 該網域的網域控制站(DC)
C. 使用者清單
D. 共享資料夾清單
下列哪一個 Nmap 旗標會顯著放慢掃描但帶來預設腳本與版本偵測?
A. -sS
B. -sU
C. -sC -sV
D. -O
在 CME 掃描輸出中看到 signing:False
,最合理的安全含意是:
A. 只能使用 Kerberos 登入
B. 該主機可能可被 NTLM Relay 中繼
C. 該主機禁止 SMB 存取
D. 該主機一定是 DC
下列哪個服務/埠最直接對應「Kerberos」?
A. 389/tcp
B. 445/tcp
C. 88/tcp
D. 3389/tcp
偵察時將 FQDN 寫入 /etc/hosts
的主要原因是:
A. 讓 NTP 同步時間
B. 讓 Kerberos 與 LDAP 等使用主機名稱的流程更順暢
C. 讓 Nmap 可以更快掃描
D. 讓系統封鎖未授權流量
nslookup -type=srv _ldap._tcp.dc._msdcs.domain.local
主要是為了找出:答案:B. 該網域的網域控制站(DC)
解析:
這個 nslookup 命令查詢特定的 SRV (Service) 記錄。_ldap._tcp.dc._msdcs
是 Active Directory 用來發布網域控制站位置的標準 DNS 記錄。當執行這個查詢時,DNS 會回傳所有提供 LDAP 服務的網域控制站清單,包含其主機名稱和 IP 位址。這是 AD 偵察的基礎步驟之一。
答案:C. -sC -sV
解析:
-sC
:執行預設的 NSE (Nmap Scripting Engine) 腳本,包含各種服務的探測和漏洞檢查-sV
:進行版本偵測,嘗試識別服務的具體版本號-sS
只是 SYN 掃描(快速),-sU
是 UDP 掃描,-O
是作業系統偵測signing:False
,最合理的安全含意是:答案:B. 該主機可能可被 NTLM Relay 中繼
解析:
SMB signing(簽章)是防止 NTLM Relay 攻擊的重要機制。當 signing:False
時,表示 SMB 通訊沒有強制簽章驗證,攻擊者可以:
答案:C. 88/tcp
解析:
各埠對應的服務:
Kerberos 是 Active Directory 的主要認證協定,使用 88/tcp 和 88/udp。
/etc/hosts
的主要原因是:答案:B. 讓 Kerberos 與 LDAP 等使用主機名稱的流程更順暢
解析:
在 Active Directory 環境中,許多服務依賴正確的名稱解析:
/etc/hosts
可確保即使沒有正確的 DNS 設定,工具仍能正確解析名稱