設置SUID用於提權或降權
一、基礎介紹
剛看了馬哥的視頻介紹SUID說,當為可執行文件設置SUID並當其轉換為進程後,該進程的所屬主為原程序文件的屬主,以原程序文件屬主的身份進行操作,該特殊權限可以用於提權或降權。SUID典型的應用就是passwd命令,使用此命令普通用戶也能以root的身份去讀寫shadow文件。
二、提權
使用SUID提權,準確的說應該是制作後門,當為cat、vim、nano甚至nmap設置SUID後,即可擁有root的權限,示例:
使用普通用戶讀取shadow文件
1.copy命令到/tmp下,用於實驗,設置SUID
2.新建一個普通用戶user1,並切換用戶查看效果
可以看到效果,shadow文件的權限為
測試其他沒有設置SUID的命令讀取時就會提示權限不夠:
三、降權
介紹完提權再說降權,說這個是因為這次信息安全比賽,我拿某隊shell root的權限去讀flag,居然提示權限不 夠被拒絕了,因時間緊迫沒仔細研究,回來之後也很困惑,正好今天看了這個SUID可以實現這個效果:
把程序(cat)的屬主改為普通用戶時,設置SUID後即便是root去讀flag也會因為設置了SUID,以普通用戶的身份去讀這個flag繼而提示權限不夠被拒絕,
實現如下:
1.修改cat的屬主,並設置SUID(剛改了)
2.查看效果:
註意看以root的身份去讀取shadow,也報錯提示權限不夠,設置了SUID後root也不是無敵的了。
當時他們可能就是設置了這個,也有可能是一些其他我不懂的操作。。
本文出自 “Jying” 博客,請務必保留此出處http://jying.blog.51cto.com/8169323/1982677
設置SUID用於提權或降權