Linux最新提权通杀五大绝招(上)


点击星标,
即时接收最新推文

fedcba866bf2a9fd3f9da00b9d9adb5c.png

本文选自《内网安全攻防:红队之路》

扫描二维码五折购书

 

Linux 主机权限提升问题是普遍存在的。在Web 服务器、数据库、防火墙、IOT等基础设施中,大部分都运行着Linux 操作系统,鉴于Linux 设备在大量基础设施中的数量,组织加强和保护这些设备至关重要。在内网中,渗透测试人员也将遇到大量的Linux系统。

内核漏洞提权

通过linux-exploit-suggester排查内核漏洞提权

SUDO提权 

SUID提权

GTFOBins与权限提升

内核漏洞提权

内核权限提升指的是通过利用许多内核交互的内核入口函数中的弱点来获取这些权限的过程。用户从文件系统读取、打开设备文件、发出系统调用或通过网络接口发送数据包等操作都需要与内核进行交互。

内核漏洞利用是利用内核漏洞以提升权限执行任意代码的程序。成功的内核漏洞利用通常会以 root 命令提示符的形式为攻击者提供超级用户访问目标系统的权限。在许多情况下,在一个老旧的 Linux 系统上利用内核漏洞进行权限提升是比较简单的。

完成一个内核漏洞利用往往需要条件:
*易受攻击的内核。
*匹配的漏洞利用程序。
*将利用载荷上传到目标的能力
*在目标上执行利用载荷的能力

通过linux-exploit-suggester排查内核漏洞  

linux-exploit-suggester是Z-Labs发布的一款提权审计工具,下载地址见https://github.com/mzet-/linux-exploit-suggester,该工具通过对比Linux公开已知的内核漏洞,列出可能存在的漏洞。linux-exploit-suggester主要用于评估当前主机内核漏洞情况以及评估某个特定内核版本漏洞情况。

在目标Linux上,使用 uname -a 获取当前系统的版本情况,如图所示。

a44dab7874f66cfa98283fad65889b53.png

系统版本情况

通过wget下载linux-exploit-suggester,然后使用如下命令添加执行权限,结果如图所示。

wget       https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/ master/linux-exploit-suggester.sh -O les.sh
chmod +x les.sh

d840d0721170dc1c4f81d5d7f1968c95.png

下载linux-exploit-suggester脚本

执行如下命令,linux-exploit-suggester会输出该 Linux 内核在已知漏洞中的暴露情况,如图所示。

./les.sh -u "Linux linux 5.10.25-linuxkit #1 SMP Tue Mar 23 09:27:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"

057c184bb16d7cb543f318497294521f.png

系统版本匹配内核漏洞

在实际网络环境中,也可以在目标Linux系统中运行linux-exploit-suggester,工具将输出当前环境下可能存在的内核提权漏洞,并且输出相应的漏洞细节。首先需要使用以下命令将linux-exploit-suggester下载到目标环境,然后添加执行权限,执行les.sh,可以获得当然环境下的内核漏洞信息,如图所示。   

2f7422efe60781d44ac74a39a4780300.png

实际环境匹配内核漏洞

通过以上提权信息,攻击者可以进一步利用内核漏洞达到提权的目的。同时也可以作为漏洞检查工具,对Linux主机存在的内核漏洞进行排查。

SUDO提权  

Sudo是 常见的Linux系统管理指令,是允许系统管理员让普通用户执行如cat reboot su等命令或者全部的root命令的一个工具。

在权限提升中,如果攻击者无法直接获得 root 访问权限,他可能会尝试查找任何具有 SUDO 访问权限的用户。当攻击者可以访问任何 sudo 用户,便可以使用已经配置了SUDO的特定二进制文件。管理员可能只允许普通用户通过 SUDO 运行部分命令而不是所有命令,但是即使如此,也存在安全隐患,导致这些特定命令存在权限提升问题。

通过以下命令可以列出sudo的权限,从而获得允许低权限用户sudo的二进制文件。

sudo -l

如图所示,可以看出主机sudo配置了二进制文件/bin/find。Find命令是一个比较典型的案例,当find分配了sudo权限时,攻击者可以利用find来执行任意root命令,达到提权的目的。   

11ffa2db0446549cf5a424537d5ffa4e.png

查看sudo

接下来通过如下命令,可以利用find提升到root权限,如图所示。

sudo find /tmp -exec sh -i \;

69c791f5d66658323ad62442c4f68f29.png

通过find提权

—  实验室旗下直播培训课程  —

3bd01d85bb6f1c333f4a011973c76b03.png

2937f0afdf6cc1d17f965c642eb02496.jpeg

43197b48c0a7911551a5ba924e10dc28.jpeg852d1b012098963733d7a428db41a136.png

60f5ba333644de2af35e1971c0301f3f.png

58920f845c67103967fdbcbbb7146f68.jpeg

f4f4e682d8d878aaa4c3226fc8f2aee5.jpeg

779e2c02d04e5eacb5a7a8ffbe64fb1e.jpeg

5fd7274772dedec20041c3864e453e49.png

和20000+位同学加入MS08067一起学习

f10f64dc684632f16e88781ab4b43c94.gif

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【负载均衡在线OJ项目日记】项目简介

目录 前言 什么是负载均衡 所用的技术和开发环境 所用技术 开发环境 项目的宏观结构 leetcode 结构 结构 编写思路 前言 从C语言的文章到现在Linux网络部分,我已经涉猎了很多知识;终于在今天我要开始搞项目了,通过项目我也可以开始…

鸿蒙OS NEXT的推出,不仅面向App端

华为官方公布6月份的版本为beta版,依然属于开发者测试版,但可以向普通用户开放了。这点和苹果iOS系统测试形式略微相似:6月份开放首个测试版,随后过渡到公测版,最后再和年度新机一起发布正式版系统。 如果按照这个进度…

DNS域名解析服务的部署及优化方案

实验要求: 1.配置2台服务器要求如下: a)服务器1: 主机名:dns-master.timinglee.org ip地址: 172.25.254.100 配置好软件仓库 b)服务器2: 主机名:dns-slave.timinglee.org ip地址&am…

fero - yolo - mamba:基于选择性状态空间的面部表情检测与分类

fero - yolo - mamba:基于选择性状态空间的面部表情检测与分类 摘要IntroductionRelated work FER-YOLO-Mamba: Facial Expression Detection and Classification Based on Selective State Space 摘要 面部表情识别(FER)在理解人类情绪线索方面起着关键…

S型曲线的几种设计(图像对比度调节)

一般来讲,图像调色模块都会提供“曲线”工具,这是一个极其灵活的功能,绝大部分的调色都可以通过该工具实现,但是曲线功能的交互相对而言比较复杂。出于简便性和效率方面的考量,调色模块往往还会提供一些具有很强的功能…

Angular中创建和使用服务

Angular中的服务 文章目录 Angular中的服务前言一、创建服务二、使用服务 前言 Angular 服务是 Angular 应用程序中用于封装可重用逻辑的类。服务在应用程序的多个组件之间共享数据和功能,而不依赖于应用程序的UI。服务可以用于诸如数据处理、与后端通信、用户身份…

电脑显示丢失mfc140u.dll怎么修复,总共有7个方法

mfc140u.dll 是一个动态链接库(Dynamic Link Library)文件,它是Microsoft Foundation Class (MFC)库的一部分,专为使用C编程语言开发Windows应用程序而设计。MFC库由微软提供,作为一个高级的应用程序框架,旨…

通过 Java 操作 redis -- 连接 redis

如果我们想在本地主机上访问 Linux 服务器上的 redis ,我们就需要通过 ssh 进行端口转发,推荐看 本地主机访问服务器的Redis -- 配置 ssh 端口转发 通过 Java 操作 redis 已经有大佬创建了很多第三方库,这里我们使用 jedis ,因为它…

N7552A是德科技N7552A电子校准件

181/2461/8938产品概述: 更小巧轻便的 2 端口模块,支持 3.5 mm 或 N 型 50 Ω 连接器,能够将校准时间缩短一半 特点 频率范围:直流至 9 GHz 使用 N 型或 3.5 mm 连接器 更小巧轻便的 2 端口电子校准件(ECal&#xff…

Linux:进程等待 进程替换

Linux:进程等待 & 进程替换 进程等待wait接口statuswaitpid接口 进程替换exec系列接口 当一个进程死亡后,会变成僵尸进程,此时进程的PCB被保留,等待父进程将该PCB回收。那么父进程要如何回收这个僵尸进程的PCB呢?父…

《Fundamentals of Power Electronics》——示例:Buck-Boost转换器模型变为正则形式

为了说明正则电路模型推导的步骤,让我们将buck-boost转换器的等效电路操作成规范形式。buck-boost转换器的一个小信号交流等效电路如下图所示。 为了将上图所示网络转换成正则形式,需要将所有独立源d(t)转换到左侧,而将所有电感转换到右侧与变…

PHP 匿名函数和闭包在数据结构中的应用

匿名函数和闭包在数据结构处理中的应用php 中的匿名函数和闭包可用于处理数组、链表和队列等数据结构。针对数组,匿名函数可用于过滤元素;针对链表,闭包可用于创建节点;针对队列,匿名函数和闭包可实现 fifo 队列操作。…

css 文字描边

又是抄样式的一天。这次是百度地图。实现了问题和图形描边的效果。 代码: .BMap_scaleTxt.dark {color: #fff;text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } 效果:

uniapp打包的程序在Xcode中运行到模拟器报错的解决方法

uniapp打包的程序在Xcode中运行到模拟器报错的解决方法 问题描述: Building for iOS-simulator, but linking in object file (/Users/hori/Documents/SDK/SDK/Libs/DCUniRecord.framework/DCUniRecord[arm64][3](PGRecord.o)) built for iOS Linker command fail…

翻译《The Old New Thing》- Does Windows have a limit of 2000 threads per process?

Does Windows have a limit of 2000 threads per process? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20050729-14/?p34773 Raymond Chen 2005年07月29日 Windows 是否有一个每个进程2000线程的限制? 简要 文章解释了在 W…

快速搭建linux虚拟机环境

1、虚拟机资源 VMwareWorkstation:Download VMware Workstation Pro virtualbox:Oracle VM VirtualBox 2、虚拟机系统资源 链接:系统资源链接 提取码:0gat 说明:此处的系统资源是采用VMwareWorkstation 虚拟机进…

vue脚手架和vite创建的项目的环境配置

开发环境文件 .env.development NODE_ENV"development" # // 开发接口域名 本地测试就用这个 # vue脚手架创建的 VUE_APP_MODE"开发环境" VUE_APP_API_URL http://19527 # vite创建的 # VITE_MODE"开发环境" # VITE_BASE_URL http://1920:9527…

【自动驾驶|毫米波雷达】逻辑化讲清快时间与慢时间傅里叶变换

碎碎念:实习过程中发现在进行雷达知识交流时,大部分同事都会用英文简称代替中文的一些称呼,比如Chirp、FFT等等。起初我觉得是因为很多英伟达、TI芯片的开发教程都是英文的,所以看得多了大家都习惯这样称呼,后来在和指…

Linux高级学习(前置 在vmware安装centos7.4)

【小白入门 通俗易懂】2021韩顺平 一周学会Linux 此文章包含第006p-第p007的内容 操作 在安装好的vmware下进行安装 这里使用的是vmware15(win10下),win11可能无法使用15(有几率蓝屏),换成16就行了 用迅雷…

将PT脚本转化为innovus脚本

前一节写的关于PT修时序后吐出相关脚本,但是无法直接使用APR工具innovus进行时序修复,此节介绍一种利用perl脚本将吐出脚本转化为innovus可读的脚本 1.转化前文本形式 2,转化后脚本 3.perl 脚本正文 #!/usr/bin/perl #transla…