Pages

9/21/2010

Default user named "SYSTEM"

เมื่อเร็วๆนี้  เพิ่งรู้ว่าเครื่อง Windows ตั้งแต่ XP ขึ้นมา มี built-in user ชื่อว่า SYSTEM ด้วย
user นี้ อาจจะใช้ชื่ออื่นๆได้เช่น
NT AUTHORITY\SYSTEM
LOCALSYSTEM

ที่น่าตกใจกว่าก็คือ...   SYSTEM เนี่ย ดันมีสิทธิ์ เหนือกว่า Administrators ด้วยล่ะ
ขัดแย้งกับความเข้าใจปกติของเราเลยที่คาดว่า Administrator จะมีสิทธิ์สูงสุด

เลยต้องหาข้อมูลซะหน่อยว่า อะไรเป็นอะไร

ไปค้นข้อมูลมา จนเจอ 2 Links นี้
http://technet.microsoft.com/en-us/library/dd277461.aspx
http://technet.microsoft.com/en-us/library/bb726980.aspx
ซึ่งเป็นข้อมูลของ Windows 2000
ปรากฎว่า...

Windows เนี่ย เวลาลงมาแล้วจะมี built-in users ให้มาเลย 3 ประเภท
แต่ Administrator เป็นแค่ pre-defined user ,  หมายความว่ามันสามารถแก้ไขเปลี่ยนแปลง ทำอะไรก็ได้
ในขณะที่ System ดันอยู่กลุ่มที่สาม คือ Implicit user,  ไม่สามารถแก้ไขเปลี่ยนแปลงอะไรได้เลย  มันคือ special user!

System:: 
Account used by the operating system to run services, utilities, and device drivers. This account has unlimited power and access to resources that even Administrators are denied, such as the Registry's SAM.
This account is used by Windows 2000 to execute security services such as TSF protection functions that are beyond the control of authorized administrators.


LocalSystem is a pseudo-account for running system processes and handling system-level tasks. The account is available on the local system only. You can't change the settings for the LocalSystem account with the user administration tools. Users can't log on to a computer with this account.


หลังจากดูๆแล้ว  สิทธิ์ของ Systemเนี่ย เหนือกว่า Administrator ตั้งหลายอย่าง
Act as part of the operating system ::: Allows a process to authenticate as any user and gain access to resources as any user.
Create a token object ::: Allows processes to create token objects that can be used to gain access to local resources.
Log on as a service ::: Allows a security principal to log on as a service, as a way of establishing a security context. The LocalSystem account always retains the right to log on as a service. Any service that runs under a separate account must be granted this right. By default, this right is not granted to anyone.



ความจริงยังไม่ทันต้องดูบรรทัดอื่นเลย  
เจอสิทธิ์แรก ที่ให้ ทำทุกอย่างได้เหมือนกับเป็นส่วนหนึ่งของ OS ก็แย่แล้ว
สามารถเข้าถึง process โดยการใช้ชื่อใครก็ได้   เข้าถึง resource โดยเป็นใครก็ได้  (แน่นอน รวมถึงเป็น Admin ด้วย)
ดังนั้น ถ้าจะเข้าถึง SAM (ไฟล์ที่เอาไว้เก็บ hash ของ password)ได้  ก็คงจะไม่แปลกอะไร


----------------------------

ถึงจะบอกว่า ผู้ใช้ไม่สามารถจะ Login ด้วย Account "SYSTEM" นี้ได้
แต่ก็ มีคนหาวิธีทำได้จนได้
http://security.fnal.gov/cookbook/LocalSystem.html


และด้วยความสามารถที่ System จะสามารถกลายเป็นใครก็ได้ในระบบ
เราก็ impersonate กลายเป็นผู้ใช้ระบบคนอื่นๆได้อีก
http://carnal0wnage.blogspot.com/2008/05/token-passing-with-incognito.html
http://carnal0wnage.blogspot.com/2008/05/token-passing-with-incognito-part-2.html
http://carnal0wnage.blogspot.com/2009/04/more-on-working-with-incognito-and.html

No comments:

Post a Comment