วิธีรีเซ็ตรหัสผ่านผู้ดูแลระบบโดเมน Active Directory
ในบทความนี้ เราจะดูสถานการณ์การรีเซ็ตรหัสผ่านของผู้ดูแลระบบโดเมน Active Directory คุณอาจต้องใช้ในกรณีที่สิทธิ์ของผู้ดูแลระบบโดเมนสูญเสียไปเนื่องจากการหลงลืมหรือการก่อวินาศกรรมโดยเจตนาโดยผู้ดูแลระบบที่เกษียณอายุ การโจมตีของแฮ็กเกอร์ ฯลฯ หากต้องการรีเซ็ตรหัสผ่านผู้ดูแลระบบโดเมนให้สำเร็จ คุณต้องมีการเข้าถึงทางกายภาพหรือระยะไกลไปยังตัวควบคุมโดเมน AD คอนโซล (คอนโซล iLO, iDRAC หรือ VMware vSphere/Hyper-V/Proxmox เมื่อใช้ DC เสมือน)
ในตัวอย่างนี้ เราจะรีเซ็ตรหัสผ่านผู้ดูแลระบบบนตัวควบคุมโดเมนที่ใช้ Windows Server 2019 หากมีตัวควบคุมโดเมนมากกว่าหนึ่งตัวบนเครือข่าย คุณสามารถรีเซ็ตรหัสผ่านผู้ดูแลระบบโดเมนบนตัวควบคุมใดก็ได้
ในการรีเซ็ตรหัสผ่านผู้ดูแลระบบโดเมน คุณต้องเข้าถึงโหมดการคืนค่าบริการไดเรกทอรี (DSRM) โดยใช้รหัสผ่านผู้ดูแลระบบ DSRM (ตั้งค่าเมื่อ Windows Server เลื่อนระดับเป็นตัวควบคุมโดเมน) อันที่จริงแล้ว เป็นบัญชีผู้ดูแลระบบภายในที่จัดเก็บไว้ในฐานข้อมูล SAM ภายในเครื่องบนตัวควบคุมโดเมน ใช้วิธีที่ 1 หรือ 2 หากคุณไม่ทราบรหัสผ่าน DSRM
วิธีรีเซ็ตรหัสผ่านผู้ดูแลระบบโดเมนที่สูญหายหากคุณไม่ทราบรหัสผ่าน DSRM
บูตเซิร์ฟเวอร์ของคุณจากสื่อการติดตั้ง Windows ใดก็ได้ (อาจเป็นแท่ง USB สำหรับติดตั้ง Windows หรืออิมเมจ ISO):
กด
Shift+F10เพื่อเปิดพรอมต์คำสั่งบนหน้าจอการตั้งค่า Windows
ตอนนี้คุณต้องรู้ตัวอักษรที่กำหนดให้กับพาร์ติชั่นที่ติดตั้ง Windows Server ของคุณ เรียกใช้คำสั่ง:
wmic logicaldisk get volumename,nameในตัวอย่างของฉัน คุณจะเห็นว่าอิมเมจ Windows Server แบบออฟไลน์ของฉันอยู่บน C: นี่คืออักษรชื่อไดรฟ์ที่เราจะใช้ในคำสั่งต่อไปนี้
สำรองไฟล์ utilman.exe ดั้งเดิม:
copy C:\windows\system32\utilman.exe C:\windows\system32\utilman.exebakจากนั้นแทนที่ไฟล์ utilman.exe ด้วย cmd.exe:
copy c:\windows\system32\cmd.exe c:\windows\system32\utilman.exe /yแยกอิมเมจสำหรับบูต (USB/ISO) และรีบูตโฮสต์ของคุณ:
wpeutil rebootหลังจากบูทตัวควบคุมโดเมนแล้ว ให้คลิกปุ่ม 'เข้าถึงง่าย' บนหน้าจอเข้าสู่ระบบ นี่จะเป็นการเปิดพรอมต์คำสั่ง
เรียกใช้
whoamiเพื่อให้แน่ใจว่าพรอมต์คำสั่งทำงานเป็น NT Authority\SYSTEM
รายการข้อมูลเกี่ยวกับบัญชีผู้ดูแลระบบ:
net user administratorในตัวอย่างนี้ คุณจะเห็นว่าผู้ใช้รายนี้เป็นสมาชิกของกลุ่มผู้ดูแลโดเมนและขณะนี้ถูกปิดใช้งาน:
Account active: Noเปิดใช้งานบัญชีผู้ดูแลโดเมน:
net user administrator /active:yesตอนนี้คุณสามารถรีเซ็ตรหัสผ่านผู้ดูแลระบบโดเมนของคุณ:
net user administrator *ตั้งรหัสผ่านผู้ดูแลระบบใหม่ (รหัสผ่านใหม่ต้องตรงกับนโยบายรหัสผ่านของโดเมน)
บูตเซิร์ฟเวอร์ของคุณจากสื่อการติดตั้งอีกครั้ง และแทนที่ utilman.exe ด้วยไฟล์ต้นฉบับ (เพื่อหลีกเลี่ยงช่องโหว่ด้านความปลอดภัยในเซิร์ฟเวอร์):
copy c:\windows\system32\utilman.exebak c:\windows\system32\utilman.exe /yรีสตาร์ทตัวควบคุมโดเมนของคุณในโหมดปกติ และตรวจสอบให้แน่ใจว่าตอนนี้คุณสามารถเข้าสู่ระบบ DC ของคุณโดยใช้รหัสผ่านผู้ดูแลระบบโดเมนใหม่
การรีเซ็ตรหัสผ่านผู้ดูแลโดเมนบน Virtualized Domain Controller
หากคุณมีตัวควบคุมโดเมนเสมือนจริงที่ทำงานบนไฮเปอร์ไวเซอร์ใดๆ (ESXi, Hyper-V, Proxmox) คุณสามารถใช้โมดูล PowerShell DSInternals เพื่อรีเซ็ตรหัสผ่านผู้ดูแลระบบ
โดยทำดังนี้
ปิด VM ที่เรียกใช้บทบาท AD DS (ตัวควบคุมโดเมน) และเชื่อมต่อไดรฟ์เสมือน (vhdx, vmdk ฯลฯ) กับ VM อื่น ๆ ที่ใช้ Windows กำหนดอักษรระบุไดรฟ์ เช่น
E:;
ติดตั้งโมดูล DSInternals จาก PowerShell Gallery:
Install-Module DSInternals -Forceสามารถติดตั้งโมดูล PowerShell แบบออฟไลน์เมื่อไม่มีการเชื่อมต่ออินเทอร์เน็ต
รับรหัสสำหรับบูตที่ใช้เพื่อเข้ารหัสแฮชรหัสผ่านในฐานข้อมูล AD ของคุณ (ntds.dit):
$bootkey= Get-BootKey -SystemHiveFilePath "E:\Windows\System32\config\SYSTEM"ขณะนี้ คุณสามารถรับข้อมูลเกี่ยวกับบัญชีผู้ใช้ใดๆ ในฐานข้อมูล AD:
Get-ADDBAccount -SamAccountName 'Administrator' -DBPath "E:\Windows\NTDS\ntds.dit" -BootKey $bootkeyหากบัญชีผู้ดูแลระบบโดเมนถูกปิดใช้งาน ให้เปิดใช้งานและตั้งรหัสผ่านใหม่:
Enable-ADDBAccount -SamAccountName 'Administrator' -DBPath "E:\Windows\NTDS\ntds.dit" Set-ADDBAccountPassword -SamAccountName 'administrator' -DBPath "E:\Windows\NTDS\ntds.dit" -BootKey $bootkeyตัดการเชื่อมต่อไดรฟ์เสมือน เชื่อมต่อใหม่กับ VM ต้นทาง และเปิดตัวควบคุมโดเมน
หลังจากนั้น รหัสผ่านผู้ดูแลระบบโดเมนใหม่จะถูกจำลองไปยัง DC ทั้งหมด
รีเซ็ตรหัสผ่านผู้ดูแลโดเมนจาก DSRM
หากคุณทราบรหัสผ่านของผู้ดูแลระบบ DSRM คุณสามารถบูต DC เป็น DSRM ได้โดยเลือกตัวเลือกที่เหมาะสมจากเมนูตัวเลือกการบูตขั้นสูง
ป้อนชื่อผู้ใช้ภายใน (ผู้ดูแลระบบ) และรหัสผ่าน (รหัสผ่าน DSRM) บนหน้าจอเข้าสู่ระบบ
ในตัวอย่างนี้ ชื่อตัวควบคุมโดเมนคือ DC01
เรามาตรวจสอบว่าผู้ใช้รายใดเข้าสู่ระบบด้วยการเรียกใช้คำสั่ง:
whoami /userUSER INFORMATION
----------------
User Name SID
================== ============================================
dc01\administrator S-1-5-21-3244332244-312345677-2454632109-500อย่างที่คุณเห็น เราเข้าสู่ระบบในฐานะผู้ดูแลระบบภายใน
ขั้นตอนต่อไปคือเปลี่ยนรหัสผ่านผู้ดูแลระบบ Active Directory (ตามค่าเริ่มต้น บัญชีจะเรียกอีกอย่างว่า ผู้ดูแลระบบ) หากต้องการรีเซ็ตรหัสผ่านของผู้ดูแลระบบโดเมน เราจะสร้างบริการที่จะรีเซ็ตรหัสผ่านของบัญชีผู้ดูแลระบบภายใต้ระบบ:
sc create ResetADPass binPath= "%ComSpec% /k net user administrator P1SSsw0rd21!" start= autoหมายเหตุ โปรดทราบว่าต้องมีการเว้นวรรคระหว่างเครื่องหมาย '=' และค่าเมื่อตั้งค่าพาธในตัวแปร binPath นอกจากนี้ รหัสผ่านใหม่จะต้องเป็นไปตามข้อกำหนดของโดเมนในด้านความยาวและความซับซ้อนของรหัสผ่าน
ตรวจสอบให้แน่ใจว่าได้สร้างบริการแล้ว:
sc qc ResetADPass[SC] QueryServiceConfig SUCCESS
SERVICE_NAME: ResetADPass
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 2 AUTO_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\Windows\system32\cmd.exe /k net user administrator P@ssw0rd1
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : ResetADPass
DEPENDENCIES :
SERVICE_START_NAME : LocalSystem
รีสตาร์ทตัวควบคุมโดเมนในโหมดปกติ:
shutdown -r -t 0เมื่อเริ่มต้น บริการที่เราสร้างจะเปลี่ยนรหัสผ่านผู้ดูแลโดเมนเป็น P1SSsw0rd21! ใช้บัญชีและรหัสผ่านนี้เพื่อเข้าสู่ระบบ DC
whoami /userUSER INFORMATION
----------------
User Name SID
===================== ============================================
corp\administrator S-1-5-21-1737425439-23123122-1234318981-500จากนั้นลบบริการ Windows ที่เราเพิ่งสร้าง:
sc delete ResetADPass[SC] DeleteService SUCCESSในบทความนี้ เราจะดูวิธีรีเซ็ตรหัสผ่านของผู้ดูแลระบบโดเมน AD เราต้องการย้ำถึงความสำคัญของการรับรองความปลอดภัยทางกายภาพของโครงสร้างพื้นฐานด้านไอทีของคุณ หากบุคคลอื่นที่ไม่ใช่บุคลากรที่ได้รับอนุญาตมีสิทธิ์เข้าถึงโฮสต์ทางกายภาพของคุณที่ใช้งานตัวควบคุมโดเมนของคุณภายในเครื่อง พวกเขาสามารถรีเซ็ตรหัสผ่านของผู้ใช้หรือผู้ดูแลระบบได้อย่างง่ายดาย หากคุณต้องการปรับใช้ DC ในตำแหน่งที่ตั้งที่เชื่อถือได้น้อยกว่า ขอแนะนำให้คุณใช้คุณลักษณะตัวควบคุมโดเมนแบบอ่านอย่างเดียว (RODC)








