Linux提权1

公司的实训平台可以实现仿真环境练习,省去了每次搭环境的时间,直接利用平台实操学习

本次练习Linux 环境变量提权

 

 实验原理

 

$PATH是Linux和类Unix操作系统中的环境变量,它指定了存储所有可执行程序的bin和sbin目录。当用户在终端运行任何命令时,它向shell发出请求,在环境变量的帮助下搜索可执行文件以响应用户执行的命令。超级用户通常还具有/sbin和/usr/sbin条目,以便轻松执行系统管理命令。
在Shell输入命令时,Shell将按PATH环境变量中的路径依次去找命令,会执行最先找到的命令。若是PATH中加入了当前目录,也就是【.】符号,则可能会被黑客利用。例如在/tmp目录下黑客新建了一个恶意文件ls,若root用户在/tmp目录下运行ls命令时,那么将会运行黑客创建的恶意文件。
实验步骤
攻击机先用普通用户登录目标设备

 查找具有root权限的SUID文件,

find / -user root -perm -4000 -exec ls -ldb {} \;

 

 发现/test文件,且具有执行权限

 尝试执行test文件

 发现test会调用cat命令,此时test文件具有suid权限,如果借助环境变量的执行顺序,再伪造一个cat文件,把cat文件伪造成/bin/bash,那么test调用cat时就会获取一个root权限的shell

 测试发现在tmp目录下有权限生成cat文件

赋予cat文件可执行权限

 查看环境变量信息

 尝试将伪造的cat文件所在路径添加到环境变量中

 再次执行test文件,成功获取root权限

 

 

 

posted @   白云之东  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示