การใช้ net user แบบ Remote นั้นทำไม่ได้โดยตรงผ่านตัวคำสั่งเองครับ เพราะ net user ถูกออกแบบมาให้จัดการ User ภายในเครื่องที่คำสั่งนั้นรันอยู่เท่านั้น
แต่ในทางปฏิบัติ เราสามารถ “ส่ง” คำสั่งนี้ไปรันบนเครื่องเป้าหมายได้ผ่านเครื่องมือเสริม ซึ่งนี่แหละครับคือช่องทางที่ Administrator ใช้กัน โดยมีวิธีหลัก ๆ ดังนี้
ใช้ PSEXEC
PsExec เป็นส่วนหนึ่งของชุดเครื่องมือ Sysinternals ของ Microsoft เอง มันช่วยให้เราเปิด Command Prompt บนเครื่องอื่นได้เสมือนนั่งอยู่หน้าจอนั้นpsexec \ชื่อเครื่องเป้าหมาย -u [AdminUser] -p [Password] net user [TargetUser] [NewPassword]
ความเสี่ยง: รหัสผ่านจะถูกส่งผ่าน Network ถ้าไม่ระวังอาจโดนดักจับได้ และเครื่องเป้าหมายต้องเปิดใช้งาน File and Printer Sharing ไว้
ใช้ PowerShell
หากเครื่องเป้าหมายเปิดใช้งาน WinRM เราสามารถใช้คำสั่ง Invoke-Command เพื่อสั่งให้เครื่องนั้นรัน net user ได้Invoke-Command -ComputerName "ชื่อเครื่องเป้าหมาย" -ScriptBlock { net user [Username] [Password] /add }
ข้อดี: รองรับการเข้ารหัสข้อมูลที่รับส่งได้ดีกว่า และเป็นมาตรฐานใหม่ที่ Microsoft แนะนำ
ใช้คำสั่ง net use
บางคนสับสนระหว่าง net user กับ net use ครับ
net use: ใช้เชื่อมต่อ Network Drive หรือสร้าง Session ไปยังเครื่องอื่น- เทคนิค: เราต้องใช้
net useเพื่อสร้างสิทธิ์ Admin บนเครื่องเป้าหมายก่อน แล้วจึงใช้เครื่องมืออื่น เข้าไปจัดการ User
ตารางเปรียบเทียบการจัดการ Remote User
| วิธีการ | ความยาก | ความปลอดภัย | สิ่งที่ต้องเปิดที่เครื่องปลายทาง |
| PsExec | ง่าย | ต่ำ | SMB , Admin$ Share |
| PowerShell | ปานกลาง | สูง | WinRM (Port 5985 / 5986) |
| Computer Management GUI | ง่ายมาก | ปานกลาง | Remote Administration Firewall Rules |
⚠️ ข้อควรระวังด้านความปลอดภัย
เนื่องจากคุณกังวลเรื่องความอันตราย การเปิดให้ใช้ net user แบบ Remote ได้นั้นหมายความว่า
- ต้องเปิด Firewall: ซึ่งเป็นการเพิ่มช่องทางให้คนอื่นบุกรุก
- สิทธิ์ Admin คือกุญแจสำคัญ: หาก Hacker ได้สิทธิ์ Admin ของเครื่องหนึ่งในวง LAN เขาอาจใช้คำสั่งเหล่านี้แพร่กระจายไปยังเครื่องอื่น ๆ
คำแนะนำ: หากคุณต้องการจัดการ User ในระบบบริษัท วิธีที่ปลอดภัยที่สุดคือผ่าน Active Directory ซึ่งจะมี Log บันทึกชัดเจนว่าใครเป็นคนแก้ และทำผ่าน Server กลางที่ปลอดภัยครับ
อ่านเพิ่มเติม
- ทำไม่ microsoft ไม่เอาคำสั่ง net user ออก
- net user ทำไม่ Mictosoft ไม่เอาออกทั้ง ๆ ที่อันตราย
- windows pe: net user
อ่านเพิ่มเติม
- Java 16 (2021): Records (คลาสข้อมูลแบบ Immutable ที่ประกาศกระชับ ไม่ต้องเขียน Getter/Setter เอง) และ Pattern Matching สำหรับ instanceof
- Java 15 (2020): Sealed Classes (การจำกัดสิทธิ์ว่าคลาสใดสามารถสืบทอดได้บ้าง) และ Hidden Classes
- MacOs: จัดการจอในจอนอกด้วย BetterDisplay
- MacOs: ใช้แบบปิดฝา / ใช้จอนอก / ไร้จอ
- Testing: ส่งเมล์ผ่าน command