在 Linux 系統(tǒng)中,提升權限的常用命令是 sudo。
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的雨花網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
sudo (superuser do)是一種 Linux 命令,允許普通用戶在需要時執(zhí)行具有特殊權限的命令,而無需切換到超級用戶帳戶。
例如,要執(zhí)行具有特殊權限的命令,如安裝軟件或修改系統(tǒng)配置文件,可以在命令前面加上 sudo。 例如 :
sudo apt-get install package-name
這個命令會讓你輸入你的密碼,如果你是一個有權限的用戶,那么你的命令將會被執(zhí)行。
需要注意的是,使用sudo命令需要輸入密碼,并且在一定時間內不需要再次輸入密碼,所以使用sudo需要謹慎,并且如果使用錯誤可能會破壞系統(tǒng)。
1、添加用戶,首先用adduser命令添加一個普通用戶,命令如下:
#adduser tommy
//添加一個名為tommy的用戶
#passwd tommy //修改密碼
Changing password for user tommy.
New UNIX password: //在這里輸入新密碼
Retype new UNIX password: //再次輸入新密碼
passwd: all authentication tokens updated successfully.
2、賦予root權限
方法一: 修改 /etc/sudoers 文件,找到下面一行,把前面的注釋(#)去掉
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
然后修改用戶,使其屬于root組(wheel),命令如下:
#usermod -g root tommy
修改完畢,現(xiàn)在可以用tommy帳號登錄,然后用命令 su - ,即可獲得root權限進行操作。
最近想著學習linux提權的一些姿勢,這里簡單分享學習SUID提權的一些知識點。
先來父復習一下linux文件的權限分配。
ls命令用來查看系統(tǒng)上面的文件、目錄的權限。
字段的第一個字符表示對象的類型。
之后是每三個字符為一組,每一組定義了3種訪問權限。
這三組分別表示文件所有者(Owner)、用戶組(Group)、其它用戶(Other Users)。
然后規(guī)定用數(shù)字4、2和1表示讀、寫、執(zhí)行權限。即r=4,w=2,x=1。
所以
chmod改變權限
chown用來更改某個目錄或文件的用戶名和用戶組
該命令需要root權限運行
而文件權限除了r、w、x外還有s、t、i、a權限。
SUID
當執(zhí)行的文件被賦予了s權限,就被稱為Set UID,簡稱為SUID的特殊權限。八進制數(shù)為4000。
舉個例子:
linux修改密碼的passwd就是個設置了SUID的程序。因為如果普通賬號cseroad需要修改密碼,就要訪問/etc/shadow,但是該文件只有root能訪問。那他是怎么修改的呢?原理:
查看該程序,發(fā)現(xiàn)被賦予了s權限。當cseroad需要修改自己的密碼時,passwd程序的所有者為root,cseroad用戶執(zhí)行passwd 程序的過程中會暫時獲得root權限,所以可以修改/etc/shadow文件。
SGID
而當s標志出現(xiàn)在用戶組的x權限時則稱為SGID。八進制數(shù)為2000。
當用戶對某一目錄有寫和執(zhí)行權限時,該用戶就可以在該目錄下建立文件,如果該目錄用SGID修飾,則該用戶在這個目錄下建立的文件都是屬于這個目錄所屬的組。(父目錄跟隨)
SBIT
就是Sticky Bit,出現(xiàn)在目錄的其他用戶執(zhí)行權限X上,標記為T,八進制數(shù)為1000。對目錄有效,使用者只能對自己創(chuàng)建的文件或目錄進行刪除/更名/移動等動作,而無法刪除他人文件(除非ROOT)
賦予s權限:chmod 4755 filename 或者 chmod u+s /usr/bin/find
取消s權限:chmod 755 filename 或者 chmod u-s /usr/bin/find
以centos為例。
還有額外的幾個命令
我們就可以通過覆蓋/etc/passwd文件,提權為root
默認該命令沒有s權限
find命令
假如find命令被賦予s權限。
創(chuàng)建a.txt文件,執(zhí)行 /usr/bin/find a.txt -exec /bin/bash -p \; ,成功提權。
這里注意的是新版Linux系統(tǒng)對子進程的suid權限進行了限制,不同的操作系統(tǒng)結果也會不一樣。
具體細節(jié)參考
利用python可反彈得到root權限的shell
python命令
根據(jù) 查找python利用姿勢。
條件是sudo安裝時需要輸入當前用戶密碼。
在實戰(zhàn)過程中,多查看 是否存在SUID提權,以及使用searchsploit命令查看某程序是否存在本地提權漏洞。