最近想著學(xué)習(xí)linux提權(quán)的一些姿勢(shì),這里簡(jiǎn)單分享學(xué)習(xí)SUID提權(quán)的一些知識(shí)點(diǎn)。
成都創(chuàng)新互聯(lián)主要業(yè)務(wù)有網(wǎng)站營(yíng)銷策劃、網(wǎng)站建設(shè)、做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、小程序設(shè)計(jì)、成都h5網(wǎng)站建設(shè)、程序開(kāi)發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開(kāi)展業(yè)務(wù)的過(guò)程中,公司還積累了豐富的行業(yè)經(jīng)驗(yàn)、全網(wǎng)整合營(yíng)銷推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。
先來(lái)父復(fù)習(xí)一下linux文件的權(quán)限分配。
ls命令用來(lái)查看系統(tǒng)上面的文件、目錄的權(quán)限。
字段的第一個(gè)字符表示對(duì)象的類型。
之后是每三個(gè)字符為一組,每一組定義了3種訪問(wèn)權(quán)限。
這三組分別表示文件所有者(Owner)、用戶組(Group)、其它用戶(Other Users)。
然后規(guī)定用數(shù)字4、2和1表示讀、寫、執(zhí)行權(quán)限。即r=4,w=2,x=1。
所以
chmod改變權(quán)限
chown用來(lái)更改某個(gè)目錄或文件的用戶名和用戶組
該命令需要root權(quán)限運(yùn)行
而文件權(quán)限除了r、w、x外還有s、t、i、a權(quán)限。
SUID
當(dāng)執(zhí)行的文件被賦予了s權(quán)限,就被稱為Set UID,簡(jiǎn)稱為SUID的特殊權(quán)限。八進(jìn)制數(shù)為4000。
舉個(gè)例子:
linux修改密碼的passwd就是個(gè)設(shè)置了SUID的程序。因?yàn)槿绻胀ㄙ~號(hào)cseroad需要修改密碼,就要訪問(wèn)/etc/shadow,但是該文件只有root能訪問(wèn)。那他是怎么修改的呢?原理:
查看該程序,發(fā)現(xiàn)被賦予了s權(quán)限。當(dāng)cseroad需要修改自己的密碼時(shí),passwd程序的所有者為root,cseroad用戶執(zhí)行passwd 程序的過(guò)程中會(huì)暫時(shí)獲得root權(quán)限,所以可以修改/etc/shadow文件。
SGID
而當(dāng)s標(biāo)志出現(xiàn)在用戶組的x權(quán)限時(shí)則稱為SGID。八進(jìn)制數(shù)為2000。
當(dāng)用戶對(duì)某一目錄有寫和執(zhí)行權(quán)限時(shí),該用戶就可以在該目錄下建立文件,如果該目錄用SGID修飾,則該用戶在這個(gè)目錄下建立的文件都是屬于這個(gè)目錄所屬的組。(父目錄跟隨)
SBIT
就是Sticky Bit,出現(xiàn)在目錄的其他用戶執(zhí)行權(quán)限X上,標(biāo)記為T,八進(jìn)制數(shù)為1000。對(duì)目錄有效,使用者只能對(duì)自己創(chuàng)建的文件或目錄進(jìn)行刪除/更名/移動(dòng)等動(dòng)作,而無(wú)法刪除他人文件(除非ROOT)
賦予s權(quán)限:chmod 4755 filename 或者 chmod u+s /usr/bin/find
取消s權(quán)限:chmod 755 filename 或者 chmod u-s /usr/bin/find
以centos為例。
還有額外的幾個(gè)命令
我們就可以通過(guò)覆蓋/etc/passwd文件,提權(quán)為root
默認(rèn)該命令沒(méi)有s權(quán)限
find命令
假如find命令被賦予s權(quán)限。
創(chuàng)建a.txt文件,執(zhí)行 /usr/bin/find a.txt -exec /bin/bash -p \; ,成功提權(quán)。
這里注意的是新版Linux系統(tǒng)對(duì)子進(jìn)程的suid權(quán)限進(jìn)行了限制,不同的操作系統(tǒng)結(jié)果也會(huì)不一樣。
具體細(xì)節(jié)參考
利用python可反彈得到root權(quán)限的shell
python命令
根據(jù) 查找python利用姿勢(shì)。
條件是sudo安裝時(shí)需要輸入當(dāng)前用戶密碼。
在實(shí)戰(zhàn)過(guò)程中,多查看 是否存在SUID提權(quán),以及使用searchsploit命令查看某程序是否存在本地提權(quán)漏洞。
Linux系統(tǒng)中的用戶是分角色的,用戶的角色是由UID和GID來(lái)識(shí)別的(也就是說(shuō)系統(tǒng)是識(shí)別的是用戶的UID、GID,而非用戶用戶名),一個(gè)UID是唯一(系統(tǒng)中唯一如同身份證一樣)用來(lái)標(biāo)識(shí)系統(tǒng)的用戶賬號(hào)(用戶名)。
文件的用戶與用戶組分為超級(jí)管理員,普通用戶和系統(tǒng)用戶。
1)超級(jí)管理員的UID=0,GID=0,也可以這么說(shuō)系統(tǒng)只要是識(shí)別出某個(gè)用戶的UID\GID都為0時(shí),那么這個(gè)用戶系統(tǒng)就認(rèn)為是超級(jí)管理員。
2)普通用戶(管理員添加的),默認(rèn)它的UID\GID是從500-65535,權(quán)限很小,只能操作自己的家目錄中文件及子目錄(注:nobody它的UID\GID是65534)。
3)系統(tǒng)用戶,也稱虛擬用戶,也就是安裝系統(tǒng)時(shí)就默認(rèn)存在的且不可登陸系統(tǒng),它們的UID\GID是1-499。
我們可以通過(guò)cat /etc/passwd命令來(lái)查看所有的用戶信息,例如下圖,第三列是UID,第四列是GID:
創(chuàng)建用戶
useradd user1 創(chuàng)建用戶user1
useradd -e 12/30/2021 user2 創(chuàng)建用戶user2,有效期到2021-12-30
設(shè)置用戶密碼
passwd user1 設(shè)置密碼,有設(shè)置密碼的用戶不能用
這里設(shè)置密碼時(shí)可能會(huì)碰到密碼保護(hù)機(jī)制問(wèn)題,這里需要注釋掉保護(hù)機(jī)制的問(wèn)題
這個(gè)時(shí)候需要在編輯/etc/pam.d/system-auth文件,將其中的password requisite
和password sufficient兩行注釋掉,如下圖:
創(chuàng)建用戶組
groupadd –g 888 users 創(chuàng)建一個(gè)組users,其GID為888
groupadd users 不用g參數(shù),使用默認(rèn)的組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
真正從安全性角度上來(lái)考慮的話,是要控制用戶一定執(zhí)行命令的權(quán)限,也就是哪些用戶可以執(zhí)行哪些命令,不可以執(zhí)行哪些命令,因此也就有了sudo這個(gè)應(yīng)用,對(duì)于sudo提權(quán),也就是修改/etc/sudoers的配置文件。
發(fā)布版本:Red Hat Enterprise Linux Server release 6.6 (Santiago)
內(nèi)核版本: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
提權(quán)腳本:Marion001.c
編譯命令:gcc -pthread Marion001.c -o Marion001 -lcrypt.
參考連接:
參考視頻:
攻擊步驟:編譯運(yùn)行后會(huì)讓攻擊者輸入新密碼,此時(shí)可能需要另一個(gè)shell cat /etc/passwd 或者su marion00,原始passwd文件會(huì)被備份到/tmp/passwd.bak,攻擊者只需切換到marion00賬戶即可root
1、添加用戶,首先用adduser命令添加一個(gè)普通用戶,命令如下:
#adduser tommy
//添加一個(gè)名為tommy的用戶
#passwd tommy //修改密碼
Changing password for user tommy.
New UNIX password: //在這里輸入新密碼
Retype new UNIX password: //再次輸入新密碼
passwd: all authentication tokens updated successfully.
2、賦予root權(quán)限
方法一: 修改 /etc/sudoers 文件,找到下面一行,把前面的注釋(#)去掉
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
然后修改用戶,使其屬于root組(wheel),命令如下:
#usermod -g root tommy
修改完畢,現(xiàn)在可以用tommy帳號(hào)登錄,然后用命令 su - ,即可獲得root權(quán)限進(jìn)行操作。
分享名稱:小紅帽linux提權(quán)命令 小紅帽版本操作系統(tǒng)
文章路徑:http://jinyejixie.com/article6/doscdig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、電子商務(wù)、網(wǎng)站營(yíng)銷、網(wǎng)站改版、小程序開(kāi)發(fā)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)