Linux之 权限提升(Linux Privilege Escalation)
Linux 之权限提升
系统信息
1.获取操作系统信息
2.检查PATH,是否有任何可写的文件夹?
3.检查环境变量,有任何敏感细节吗?
4.使用脚本(DirtyCow?)搜索内核漏洞
5.检查sudo 版本是否存在漏洞
6.Dmesg签名验证失败
7.更多系统枚举(日期、系统统计、CPU 信息、打印机)
8.列举更多防御措施
驱动器
1.列出已安装的驱动器
2.有任何未安装的驱动器吗?
3.fstab 中有任何凭据吗?
已安装的软件
1.检查是否安装了有用的软件
2.检查是否 安装了易受攻击的软件
流程
1.是否有任何未知的软件正在运行?
2.是否有任何软件以超出其应有的权限运行?
3.搜索正在运行的进程(尤其是正在运行的版本)的漏洞。
4.你能修改任何正在运行的进程的二进制文件吗?
5.监视进程并检查是否有任何有趣的进程正在频繁运行。
6.你能读取一些有趣的进程内存(其中可以保存密码)吗?
计划 / Cron 作业?
1.PATH 是否被某些 cron 修改并且您可以在其中写入内容?
2.Cron 作业中有通配符 吗?
3.某些可修改的脚本 正在执行或位于可修改的文件夹内?
4.您是否发现某些脚本可能被执行或正在被非常频繁地执行?(每 1、2 或 5 分钟)
服务
1.有任何可写的 .service文件吗?
2.服务执行的任何可写二进制文件?
3.systemd PATH 中是否有任何可写文件夹?
计时器
1.有任何可写的计时器吗?
套接字
1.有任何可写的 .socket文件吗?
2.您能与任意套接字通信吗?
3.带有有趣信息的HTTP 套接字?
D-总线
1.您能与任何 D-Bus 通信吗?
网络
1.枚举网络以了解您所在的位置
2.打开在进入机器内部之前无法访问的端口?
3.您可以使用嗅探流量tcpdump吗?
用户
1.通用用户/组枚举
2.你的UID 很大吗?机器 容易受到攻击吗?
3.您可以借助您所属的群组来提升权限吗?
4.剪贴板数据?
5.密码策略?
6.尝试使用您之前发现的每个已知密码登录每个可能的用户。尝试不使用密码登录。
可写路径
1.如果你对 PATH 中的某些文件夹有写权限,那么你可以提升权限
SUDO 和 SUID 命令
1.您可以使用 sudo执行任何命令吗?您可以使用它以 root 身份读取、写入或执行任何内容吗?(GTFOBins)
2.是否有任何可利用的 SUID 二进制文件?( GTFOBins )
3.sudo命令是否受路径限制?您可以绕过限制吗?
4.没有指示路径的 Sudo/SUID 二进制文件?
5.SUID 二进制文件指定路径?绕过
6.LD_PRELOAD 漏洞
7.可写文件夹中的SUID 二进制文件中缺少 .so 库?
8.SUDO 代币可用吗?您可以创建 SUDO 代币吗?
9.您可以读取或修改 sudoers 文件吗?
10.您可以修改 /etc/ld.so.conf.d/吗?
11.OpenBSD DOAS命令
功能
1.任何二进制文件都具有意想不到的能力吗?
ACL
1.任何文件是否存在意外的 ACL?
Open Shell 会话
1.屏幕
2.tmux
SSH
1.Debian OpenSSL 可预测 PRNG - CVE-2008-0166
2.SSH 有趣的配置值
有趣的文件
1.配置文件- 读取敏感数据?写入权限?
2.passwd/shadow 文件- 读取敏感数据?写入 privesc?
3.检查常见的文件夹中是否存在敏感数据
4.奇怪的位置/拥有的文件,您可能有权访问或更改可执行文件
5.几分钟前修改
6.SQLite 数据库文件
7.隐藏文件
8.PATH 中的脚本/二进制文件
9.Web 文件(密码?)
10.备份?
11.已知包含密码的文件:使用Linpeas和LaZagne
12.通用搜索
可写文件
1.修改python库来执行任意命令?
2.你能修改日志文件吗?Logtotten漏洞
3.你能修改 /etc/sysconfig/network-scripts/吗?Centos/Redhat 漏洞
4.您可以在 ini、int.d、systemd 或 rc.d 文件中写入吗?
其他技巧
1.您可以滥用 NFS 来提升权限吗?
2.你需要逃离束缚你的躯壳吗?
相关文章:
Linux之 权限提升(Linux Privilege Escalation)
Linux 之权限提升 系统信息 1.获取操作系统信息 2.检查PATH,是否有任何可写的文件夹? 3.检查环境变量,有任何敏感细节吗? 4.使用脚本(DirtyCow?)搜索内核漏洞 5.检查sudo 版本是否存在漏洞…...
贪心算法经典应用:最优答疑调度策略详解与Python实现
目录 引言:从现实场景到算法设计 一、问题背景与数学建模 1.1 现实场景抽象 1.2 时间线分析 二、贪心策略的数学证明与选择依据 2.1 贪心选择性质 2.2 证明过程 三、算法实现与代码解析 3.1 算法步骤分解 3.2 代码亮点解析 四、测试案例与结果验证 4.1 …...
SpringBoot 3+ Lombok日志框架从logback改为Log4j2
r要将Spring Boot 3项目中的日志框架从Logback切换到Log4j2,并配置按日期滚动文件和控制台输出,请按照以下步骤操作: 步骤 1:排除Logback并添加Log4j2依赖 在pom.xml中修改依赖: <dependencies><!-- 排除默…...
【bug】[42000][1067] Invalid default value for ‘xxx_time‘
MySQL错误解决:Invalid default value for xxx_time’问题分析与修复方案 问题描述 在MySQL数据库操作中,当尝试创建或修改表结构时,可能会遇到以下错误信息: [bug] [42000][1067] Invalid default value for xxx_time这个错误…...
网站安全专栏-------浅谈CC攻击和DDoS攻击的区别
CC攻击和DDoS攻击都是网络攻击的类型,但它们在攻击方式、目标和效果上有所不同。以下是它们之间的一些主要区别: ### 1. 定义 - **DDoS攻击(分布式拒绝服务攻击)**: DDoS攻击是指攻击者通过大量的分布式计算机&#x…...
【Tauri2】002——Cargo.toml和入口文件
目录 前言 正文 toml文件的基础 注释——# Comment 键值对——Key/Value 表——[table] 内联表——Inline Table 数组——Array package和crate Cargo.toml文件 Cargo.toml——dependencies Cargo.toml——lib crate-type main.rs 前言 【Tauri2】001——安装及…...
二叉树相关算法实现:判断子树与单值二叉树
目录 一、判断一棵树是否为另一棵树的子树 (一)核心思路 (二)代码实现 (三)注意要点 二、判断一棵树是否为单值二叉树 (一)核心思路 (二)代码实现…...
CSS 美化页面(一)
一、CSS概念 CSS(Cascading Style Sheets,层叠样式表)是一种用于描述 HTML 或 XML(如 SVG、XHTML)文档 样式 的样式表语言。它控制网页的 外观和布局,包括字体、颜色、间距、背景、动画等视觉效果。 二、CS…...
23种设计模式-组合(Composite)设计模式
组合设计模式 🚩什么是组合设计模式?🚩组合设计模式的特点🚩组合设计模式的结构🚩组合设计模式的优缺点🚩组合设计模式的Java实现🚩代码总结🚩总结 🚩什么是组合设计模式…...
LSTM创新点不足?LSTM + Transformer融合模型引领Nature新突破
LSTM创新点不足?LSTM Transformer融合模型引领Nature新突破 2024年LSTM真的没有创新空间了吗? 最新研究表明,通过将LSTM与Transformer巧妙融合,依然能创造出Nature级别的突破性成果。LSTM擅长处理短期时序模式,但在…...
【区块链安全 | 第六篇】NFT概念详解
文章目录 NFTNFT(非同质化代币)FT(可替代代币) 以太坊 NFT 标准ERC-721(单一资产)ERC-1155(多资产) NFT 市场版税机制NFT 借贷NFT 安全 NFT NFT(Non-Fungible Token&…...
React组件简介
组件 在 React 中,组件(Component) 是 UI 的基本构建块。可以把它理解为一个独立的、可复用的 UI 单元,类似于函数,它接受输入(props),然后返回 React 元素来描述 UI。 组件的简单…...
iOS常见网络框架
URLSession、Alamofire 和 Moya 1. URLSession 1.1 核心概念 URLSession 是 Apple 官方提供的网络请求 API,封装在 Foundation 框架中。它支持 HTTP、HTTPS、FTP 等协议,可用于: • 普通网络请求(GET/POST) …...
蓝桥杯备考---->激光炸弹(二维前缀和)
本题我们可以构造二维矩阵,然后根据题意,枚举所有边长为m的正方形,找到消灭价值最多的炸弹 #include <iostream> using namespace std; const int N 1e4; int a[N][N]; int n,m; int f[N][N]; int main() {cin >> n >> m…...
python笔记之判断月份有多少天
1、通过随机数作为目标月份 import random month random.randint(1,12)2、判断对应的年份是闰年还是平年 因为2月这个特殊月份,闰年有29天,而平年是28天,所以需要判断对应的年份属于闰年还是平年,代码如下 # 判断年份是闰年还…...
数据结构 --树和森林
树和森林 树的存储结构 树的逻辑结构 树是一种递归定义的数据结构 树是n(n≥0)个结点的有限集。当n0时,称为空树。在任意一棵非空树中应满足: 1)有且仅有一个特定的称为根的结点。 2)当n>1时,其余结点可分为m(m>0)个互不相交的有…...
QOpenGLWidget视频画面上绘制矩形框
一、QPainter绘制 在QOpenGLWidget中可以绘制,并且和OpenGL的内容叠在一起。paintGL里面绘制完视频后,解锁资源,再用QPainter绘制矩形框。这种方式灵活性最好。 void VideoGLWidget::paintGL() {glClear(GL_COLOR_BUFFER_BIT);m_program.bi…...
Linux系统加固笔记
检查口令为空的账户 判断依据:存在则不符合 特殊的shell a./bin/false:将用户的shell设置为/bin/false,用户会无法登录,并且不会有任何提示信息b./sbib/nologin:nologin会礼貌的向用户发送一条消息,并且拒绝用户登录…...
【Go万字洗髓经】Golang中sync.Mutex的单机锁:实现原理与底层源码
本章目录 1. sync.Mutex锁的基本用法2. sync.Mutex的核心原理自旋到阻塞的升级过程自旋CAS 饥饿模式 3. sync.Mutex底层源码Mutex结构定义全局常量Mutex.Lock()方法第一次CAS加锁能够成功的前提是?竞态检测 Mutex.lockSlow()lockSlow的局部变量自旋空转state新值构造…...
npm前端模块化编程
1. 代码编写 使用npm和Webpack进行前端模块化编程的完整案例。这个案例将创建一个简单的网页,该网页显示一个标题和一个按钮,点击按钮会在控制台中打印一条消息。 步骤 1: 初始化项目 创建项目目录并初始化npm: mkdir my-modular-fronten…...
Django REST framework 源码剖析-认证器详解(Authentication)
Django REST framework 源码剖析-认证器详解(Authentication) 身份验证始终在视图的最开始运行,在权限和限制检查发生之前,以及在允许任何其他代码继续之前。request.user属性通常设置为contrib.auth包的user类的实例。request.auth属性用于任何其他身份…...
TCP/IP三次握手的过程,为什么要3次?
一:过程 第一次(SYN): 客户端发送一个带有SYN标志的TCP报文段给服务器,设置SYN1,并携带初始序列号Seqx(随机值),进入SYN_SENT状态。等待服务器相应。 第二次(…...
Centos6安装nerdctl容器运行时
Centos6安装nerdctl容器运行时 前言Centos6安装docker---失败--不可拉取镜像docker配置国内镜像加速 Centos6安装nerdctl-full容器管理工具为Centos6配置containerd服务开机自启动设置nerdctl自动补全 前言 本文写于2025年3月22日,因一些特殊业务需要用到Centos6Docker,但Cent…...
登录验证码的接口实习,uuid,code.
UID是唯一标识的字符串,下面是百度百科关于UUID的定义: UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16322128,约等于3.4 x 10^38。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。 UUID的标准…...
用fofa语法搜索漏洞
FOFA是一款非常强大的搜索引擎 关于对于fofa的描述是:FOFA(网络空间资产检索系统)是世界上数据覆盖更完整的IT设备搜索引擎,拥有全球联网IT设备更全的DNA信息。 探索全球互联网的资产信息,进行资产及漏洞影响范围分析…...
设计一个基于机器学习的光伏发电功率预测模型,以Python和Scikit - learn库为例
下面为你设计一个基于机器学习的光伏发电功率预测模型,以Python和Scikit - learn库为例。此模型借助历史气象数据和光伏发电功率数据来预测未来的光伏发电功率。 模型设计思路 数据收集:收集历史气象数据(像温度、光照强度、湿度等…...
20242817李臻《Linux⾼级编程实践》第6周
20242817李臻《Linux⾼级编程实践》第6周 一、AI对学习内容的总结 Linux进程间通信(IPC) 1. 进程间通信基本概念 作用: 数据传输:进程间传递数据(字节到兆字节级别)。共享数据:多个进程操作同一数据&…...
Vue 3中的Provide与Inject
在Vue 3中,provide和inject机制为组件间的通信提供了一种新的方式。不同于传统的父子组件通过props传递数据的方式,provide和inject允许祖先组件向其所有子孙组件提供数据,而无需通过中间层手动传递。这使得跨层级的组件通信变得更加直接和简…...
深入解析SQL2API平台:数据交互革新者
在数字化转型持续深入的当下,企业对数据的高效利用与管理的需求愈发迫切。SQL2API平台应运而生,成为助力企业突破数据交互困境的有力工具,特别是它由麦聪软件基于DaaS(数据即服务)产品创新衍生而来,备受业界…...
蓝桥杯算法题分享(二)
蓝桥杯算法题分享 本文将继续分享三道经典的蓝桥杯算法题,包括题目描述、解题思路和 Java 代码实现,帮助大家更好地理解算法的应用。对算法感兴趣的朋友可以点开我的主页查看我上周分享的另三道题。 第一题:次数差 题目描述 x 星球有 26 只…...
