最近想著學習linux提權的一些姿勢,這里簡單分享學習SUID提權的一些知識點。
成都創(chuàng)新互聯(lián)主要業(yè)務有網(wǎng)站營銷策劃、網(wǎng)站建設、做網(wǎng)站、微信公眾號開發(fā)、小程序設計、成都h5網(wǎng)站建設、程序開發(fā)等業(yè)務。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、全網(wǎng)整合營銷推廣資源和合作伙伴關系資源,并逐漸建立起規(guī)范的客戶服務和保障體系。
先來父復習一下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命令查看某程序是否存在本地提權漏洞。
Linux系統(tǒng)中的用戶是分角色的,用戶的角色是由UID和GID來識別的(也就是說系統(tǒng)是識別的是用戶的UID、GID,而非用戶用戶名),一個UID是唯一(系統(tǒng)中唯一如同身份證一樣)用來標識系統(tǒng)的用戶賬號(用戶名)。
文件的用戶與用戶組分為超級管理員,普通用戶和系統(tǒng)用戶。
1)超級管理員的UID=0,GID=0,也可以這么說系統(tǒng)只要是識別出某個用戶的UID\GID都為0時,那么這個用戶系統(tǒng)就認為是超級管理員。
2)普通用戶(管理員添加的),默認它的UID\GID是從500-65535,權限很小,只能操作自己的家目錄中文件及子目錄(注:nobody它的UID\GID是65534)。
3)系統(tǒng)用戶,也稱虛擬用戶,也就是安裝系統(tǒng)時就默認存在的且不可登陸系統(tǒng),它們的UID\GID是1-499。
我們可以通過cat /etc/passwd命令來查看所有的用戶信息,例如下圖,第三列是UID,第四列是GID:
創(chuàng)建用戶
useradd user1 創(chuàng)建用戶user1
useradd -e 12/30/2021 user2 創(chuàng)建用戶user2,有效期到2021-12-30
設置用戶密碼
passwd user1 設置密碼,有設置密碼的用戶不能用
這里設置密碼時可能會碰到密碼保護機制問題,這里需要注釋掉保護機制的問題
這個時候需要在編輯/etc/pam.d/system-auth文件,將其中的password requisite
和password sufficient兩行注釋掉,如下圖:
創(chuàng)建用戶組
groupadd –g 888 users 創(chuàng)建一個組users,其GID為888
groupadd users 不用g參數(shù),使用默認的組ID
命令 gpasswd為組添加用戶
只有root和組管理員能夠改變組的成員:
gpasswd –a user1 users 把 user1加入users組
gpasswd –d user1 users 把 user1退出users組
命令groupmod修改組
groupmod –n user2 user1 修改組名user1為user2
groupdel刪除組
groupdel users 刪除組users
真正從安全性角度上來考慮的話,是要控制用戶一定執(zhí)行命令的權限,也就是哪些用戶可以執(zhí)行哪些命令,不可以執(zhí)行哪些命令,因此也就有了sudo這個應用,對于sudo提權,也就是修改/etc/sudoers的配置文件。
發(fā)布版本:Red Hat Enterprise Linux Server release 6.6 (Santiago)
內核版本:Linux 2.6.32-504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
提取漏洞:CVE-2016-5195 Dirty COW
提權腳本:Marion001.c
編譯命令:gcc -pthread Marion001.c -o Marion001 -lcrypt.
參考連接:
參考視頻:
攻擊步驟:編譯運行后會讓攻擊者輸入新密碼,此時可能需要另一個shell cat /etc/passwd 或者su marion00,原始passwd文件會被備份到/tmp/passwd.bak,攻擊者只需切換到marion00賬戶即可root
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提權命令 小紅帽版本操作系統(tǒng)
文章路徑:http://muchs.cn/article6/doscdig.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、電子商務、網(wǎng)站營銷、網(wǎng)站改版、小程序開發(fā)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)