หากคุณต้องการใช้เครื่องมือบรรทัดคำสั่งคุณสามารถใช้ยูทิลิตี้AccesschkจากชุดMS Sysinternalsเพื่อตรวจสอบว่ากระบวนการทำงานด้วยสิทธิ์ผู้ดูแลระบบหรือไม่
ค่าสถานะต่อไปนี้มีประโยชน์สำหรับวัตถุประสงค์นี้:
-p
(กระบวนการ) ตัวเลือกที่ยอมรับทั้งชื่อหรือ PID ของกระบวนการการทำงานของ
-v
(verbose) ตัวเลือกพิมพ์ของ Windows ระดับความซื่อสัตย์
-q
(เงียบ) ตัวเลือกที่จะป้องกันไม่ให้ข้อมูลเกี่ยวกับรุ่นจากการพิมพ์
-f
(เต็ม) ตัวเลือกนอกจากนี้ยังสามารถนำมาใช้เพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการ (e) (รายละเอียดโทเค็นการรักษาความปลอดภัยของผู้ใช้กลุ่มและสิทธิพิเศษ) แต่ระดับของรายละเอียดเพิ่มเติมนี้ไม่จำเป็นต้องตรวจสอบสิทธิ์สูง
ตัวอย่าง
แสดงรายการสิทธิ์ของcmd
กระบวนการทำงานทั้งหมด:
> accesschk.exe -vqp cmd
[5576] cmd.exe
Medium Mandatory Level [No-Write-Up, No-Read-Up]
RW ICS\Anthony
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
[8224] cmd.exe
Medium Mandatory Level [No-Write-Up, No-Read-Up]
RW ICS\Anthony
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
Error opening [6636] cmd.exe:
Access is denied.
ที่นี่เราจะเห็นว่ามีสามcmd
กระบวนการที่ฉันเริ่ม สองคนแรกมีระดับปานกลางบังคับ (ความสมบูรณ์) และแสดงว่าทำงานภายใต้บัญชีโดเมนของฉันแสดงว่ากระบวนการเหล่านี้เริ่มต้นโดยไม่มีสิทธิ์ผู้ดูแลระบบ
อย่างไรก็ตามกระบวนการสุดท้าย (PID 6636) เริ่มต้นด้วยการยกระดับสิทธิ์ดังนั้นคำสั่งที่ไม่มีสิทธิ์ของฉันไม่สามารถอ่านข้อมูลเกี่ยวกับกระบวนการนั้นได้ การรันด้วยสิทธิ์แบบยกระดับaccesschk
และระบุ PID อย่างชัดเจนพิมพ์ข้อมูลต่อไปนี้:
> accesschk.exe -vqp 6636
[6636] cmd.exe
High Mandatory Level [No-Write-Up, No-Read-Up]
RW BUILTIN\Administrators
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
ตอนนี้เราสามารถเห็นได้ว่าระดับความซื่อสัตย์สูงและกระบวนการนี้ทำงานภายใต้Administrators
กลุ่มความปลอดภัยในตัว