Linux 提权学习

news2024/9/24 9:28:28

提权的目的是获取 root 权限

root 权限可获取 shadow 文件中的密码 Hash,若内网环境中存在「账户/密码复用」的情况,可用于横向扩展

暴力破解

suid 提权

内核漏洞提权

定时任务提权

sudo 提权

第三方服务提权(docker、mysql、redis、NFS提权)

暴力破解

爆破 root 用户的密码

有一个工具,sucrack

——————

suid 提权

suid(Set owner User ID up on execution)

suid是可执行文件的一个属性(我理解为是一个特殊权限)

通过这个,其他组用户在执行一个程序时可以有该程序所有者/组 的权限

如果此程序所有者是root权限,那其他用户也能有root权限

条件:程序所有者是 0 号或其他 super user ,同时有suid 权限

程序只要有suid权限,就可以提权,这个说法其实是不准确的。只有这个程序的所有者是0号或其他super user,同时拥有suid权限,才可以提权。

正常权限比如为 rwx ,可读可写可执行

而有的却是 rws ,这个 s 就是 suid

比如,nmap是需要 root 权限才能运行, 给nmap加上suid权限,这样普通用户就可以随便运行nmap了。

常见用来提权的 Linux 可执行文件:

nmap、vim 、find、bash、more、less、nano、cp

查看可以 suid 提权的可执行文件

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

find / -user root -perm -4000-print2>/dev/null

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

可以看到有 nmap 之类的

在看看 nmap 的权限

-rwsr-xr-x 1 root root 780676 2008-04-08 10:04 /usr/bin/nmap

有一个 s 权限,即可以进行 suid 提权

旧版本的 Nmap(2.02 到 5.21)具有交互模式,允许用户执行 shell 命令。

即使用 nmap 的 --interactive 交互模式

nmap --interactive

进入 nmap 交互模式之后,输入 !sh 就可以进行执行命令了,并且是 root 权限

find 提权

后面跟的 abc 是一个存在的文件夹或文件

find abc -exec whoami \;

————————

内核漏洞提权

先查看Linux 内核版本

uname -a

比如我这里是 5.13.0

1、寻找内核版本存在的漏洞

可以用 kali 自带的 searchsploit ,看看有没有符合的漏洞。

searchsploit Ubuntu 5.13.0

2、下载payload并编译

如果有符合的漏洞,后面有 payload 文件名,使用 -m 命令下载下来(一般应该是 .c 文件, 还需要编译)

searchsploit -m 41760.txt

下载好会有路径

文本打开这个文件会有编译命令,编译之后得到可执行文件,执行即可。

3、执行编译后的可执行文件

然后大概会得到一个用户,su 用户名 登录,就有 root 权限了

除了kali 的 searchsploit ,还可以利用  linux-exploit-suggester、linux-exploit-suggester-2等工具

——————

计划任务提权

定时任务(cron job)

通过配置crontab可以让系统周期性地执行某些命令或者脚本

User Crontabs 通常位于 /var/spool/cron/or/var/spool/cron/crontabs/(非 root 用户无法查看 root 用户的计划任务)

system 系统的 crontab 位于/etc/crontab (普通用户可查看)

cron通常以root特权运行,如果可以修改其调度的任何脚本或二进制文件,那就可以使用root权限执行任意代码。

普通用户可以列出系统的计划任务:

cat /etc/crontab

我们先创建一个可执行文件以便测试,然后在 /etc/crontab 文件中添加这个文件,让此文件能够计划性周期性执行。

而在实际情况中,cat /etc/crontab 就是要看看里面存不存在可执行文件,并且有普通用户可更改的权限。

创建测试文件

为了方便,也先赋权,防止后面没有执行权限

touch test.sh

chmod 777 test.sh

文件中写入内容:

#!/bin/bash

cp /bin/bash /tmp/shell

chmod +s /tmp/shell

此内容的功能:

cp /bin/bash /tmp/shell 是把 bash 复制到 /tmp 文件夹下,命名为 shell 文件

chmod +s /tmp/shell 给其赋予 suid 权限,即让普通用户也能执行此 /shell 文件

在 /etc/crontab 加上创建的文件的计划任务(编辑此文件需要 root 权限)

*  *    * * *   root    /home/doodric/test.sh

然后计划任务成功执行,即 /home/doodric/test.sh 执行之后

/tmp 下就得到了这个 shell 文件,是通过 /bin/bash 复制过来的

直接输入 /tmp/shell 

相当于成功把 bash 文件给复制移动了(是 root 权限才能做到的)

总之,就是在 计划任务中看看有没有可写的可执行文件,普通用户对此计划任务文件修改内容,达到以 root 权限执行命令

——————

sudo 提权

运用sudo可以使普通用户使用root用户的命令,只需要输入普通用户的密码。

比如通过 sudo 命令执行 su 切换用户命令,只需要输入普通用户 msfadmin 的密码,不需要 root 用户的密码

但是通过对配置文件 /etc/sudoers 进行修改,把用户

vim  /etc/sudoers

我这里文件内是空白的,添加一行内容:

msfadmin ALL=(ALL:ALL) NOPASSWD:ALL

(msfadmin 是我们的普通用户,添加之后让 sudo 命令免密码使用)

然后再执行 sudo su

发现不用输入普通用户的密码就能进入管理员用户了。

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

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

相关文章

量子退火Python实战(4):PyQUBO使用攻略 MathorCup2023加油!

文章目录 前言一、约束部分的QUBO怎么求?二、PyQUBO的输出结果怎么不是QUBO矩阵?三、我的建模太复杂了,可以不用PyQUBO吗?四、怎么构建sum(x_1...x_i) K的约束?总结 前言 提示:本教…

3DEXPERIENCE MODSIM产品前期概念结构快速开发方案(上) | 达索系统百世慧®

基于3DEXPERIENCE单一数据源、实时多专业协同平台;传统CATIA建模附加全新CATIA柔性快速建模技术;CATIA原生概念建模仿真一体化模型;一模两用,快速建模与变更、多学科快速验证与自动优化、支持快速概念方案决策;仿真效率…

快手社招Java后端开发岗面试,被问麻了

社招面试是基于你的工作项目来展开问的,比如你项目用了 xxx 技术,那么面试就会追问你项目是怎么用 xxx 技术的,遇到什么难点和挑战,然后再考察一下这个 xxx 技术的原理。 今天就分享一位快手社招面经,岗位是后端开发&…

日常记录:天梯赛练习集L1-044 稳赢

题目: 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需…

软件测试能干多久?测试员能干到多大年龄?

测试员可以工作多少年?大多数人认为软件测试是吃青春饭的工作。只能干到30岁,最长可达35岁。我经常听到这样的话,都让人倍感压力。今天,我们来谈谈这个老话题… 软件测试能干多久? 软件测试并没有明确的职业寿命限制&#xff…

【高项】项目的概念,项目管理基础与立项管理

【高项】项目的概念,项目管理基础与立项管理 文章目录1、什么是项目?项目的概念2、项目管理知识体系2.1 组织结构对项目的影响2.2 信息系统项目的生命周期2.3 单个项目的管理过程3、立项管理3.1 熟悉立项的流程(申请书->可行性->评估-&…

【《C Primer Plus》读书笔记】第16章:C预处理器和C库

【《C Primer Plus》读书笔记】第16章:C预处理器和C库16.1 翻译程序的第一步16.2 明示常量:#define16.2.1 记号16.2.2 重定义常量16.3 在#define中使用参数16.3.1 用宏参数创建字符串:#运算符16.3.2 预处理器黏合剂:##运算符16.3.…

@SpringBootApplication详细分析

如下图 SpringBootApplication是springboot项目启动类的注解,也是程序的入口,本文就是具体解析一下这个注解到底做了什么 一.SpringBootApplication的构成 1.这个注解是一个组合注解,他是有三个注解合成的,对应图中的123步,而这三…

【HDR图像处理】HDR图像的色调映射 | python+opencv代码实现总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、前提opencv知识1.1、opencv打开一般照片并且显示1.2、opencv打开HDR图像(这里先不讲如何imshow) 二、经典的色调映射技术以及opencv…

Web 攻防之业务安全:密码找回流程绕过测试.(利用链接跳到后面去)

Web 攻防之业务安全:密码找回流程绕过测试 业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台(操作系统、数据库,中间件等)、业务系统自身(软件或设备)、业务所…

MATLAB | 优化工具箱(optimization toolbox)改版后的live editor工具咋用

优化工具箱(optimization toolbox)改版后的live editor工具咋用?本来是不咋想讲这玩意的,但奈何问的人还不少,这里简单讲一下咋用哈。 很多人下了比较新版本MATLAB就顺手像往常一样点开了优化工具箱,但是熟悉的优化APP界面却并没…

网络安全学习路线,小白必备

前言: 趁着今天下班,我花了几个小时整理了下学习路以及我的学习心得,非常不易,希望大家可以点赞收藏支持一波,谢谢。 我的经历: 我 19 年毕业,大学专业是物联网工程,我相信很多人在…

BPM流程引擎升级,让流程管理更简单!

BPM是Business Process Management的缩写,即业务流程管理。 它是一种以构造端到端的业务流程为中心,以持续提高组织业务绩效为目的的系统化方法。通常,BPM也指流程管理的信息化系统。 BPM对企业很多应用场景都有价值,总的来说&am…

Web 攻防之业务安全:验证码绕过测试.(修改数据包中 res_code 的值 实现绕过.)

Web 攻防之业务安全:验证码绕过测试. 业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台(操作系统、数据库,中间件等)、业务系统自身(软件或设备)、业务所提供…

【Linux系统管理进程,运行,挂起,杀死进程和crontab计划任务表的使用以及实验的心得体会】

实验 (1)显示本用户的进程,重定向到file1 top命令如果不加限制,默认是查看所有用户的进程情况top -u [用户名] 可以查看该用户名的所有进程 (2)显示本用户所有进程,重定向到file2 top命令如果…

扩展c盘时,如何删除恢复分区

目录 一、前言 二、操作步骤 一、前言 有没有和小编一样想要扩展自己c盘容量时遇到问题的? 就是发现c盘和自己扩展的容量之间有个恢复分区,主要是磁盘管理器那里还删不掉? 就不知道怎么办了,小编摸索了一下最终解决了现在分享…

网络IO(non-blocking io)基础

BIO(blocking io) 传统的网络io模式,面向流,一个线程对接一个会话,因此高并发时会因线程阻塞而性能低效 Java代码: public class BIO implements Connector {private Integer port 8080;Overridepublic v…

前端学习:HTML颜色(什么是RGB、HEX、HSL)

一、什么是RGB、HEX、HSL? 无论是RGB、HEX、HSL,它们的作用只有一个:用数字表达出一种颜色。 1.RGB RGB通过输入的数值,将红色、绿色和蓝色的光源以一定的量混合在一起,形成颜色。 软件中通常让你输入Red、Green、B…

Unity编写Shader基本知识

返回目录 大家好,我是阿赵。 这里通过手写一个最简单的shader,来介绍一下在Unity里面编写Shader的一些基础知识。 一、Shader基本结构 新建一个shader,把里面的内容都删掉,然后输入下面这些内容 shader "testShader"…

GeoIP2:检验IP地址位置识别的实用性

文章目录前言安装环境软件版本说明libmaxminddb 环境安装ngx_http_geoip2_module 安装GeoLite2 数据库下载定时更新测试定位安装模块应用场景重点仅限中国访问,国外禁止仅限中国访问,但放开国外部分IP不同国家展示不同页面IP地址解析总结前言 GeoIP2是一…