Linux LD_PRELOAD优先加载so失效原因分析

news2024/11/28 12:46:18

        网上由很多介绍LD_PRELOAD劫持的文章,我就不做过多介绍,之前有碰到失效的,网上找了很久没找到原因,后面分析出原因,现在写出来给后人避坑。

        Linux系统使用LD_PRELOAD环境变量可以让程序优先加载指定的so文件,配合__attribute__((constructor))构造函数,可以实现代码注入功能,配合plt劫持,例如hook掉readdir和readdir64(processhide),可以实现资源管理器(例如UOS系统的deepin-system-monitor)、top和ps命令的进程隐藏,实际操作中,发现通过修改环境变量,自己的so也没有被deepin-system-monitor进程加载,查看deepin-system-monitor的/proc/xxx/environ,可以看到so路径,查看/proc/xxx/maps,进程没有打开自己的so文件,通过查阅linux内核源码,发现LD_PRELOAD在进程就有stick权限时不生效,stick权限是让进程执行时获得属主权限的方式,例如linux系统的/etc/shadow文件,该文件权限是

通常思路是该文件必须是root用户才能写,但是,作为普通用户修改密码是该文件也修改了,linux上借助了stick权限实现了该功能,例如passwd命令,其权限是

 可以看出passwd的属主是root,且用于stick权限,上图中的s,这就让普通用户执行passwd命令是,passwd对应的进程具有root权限,从而到达修改/etc/shadow文件的效果。

        说了这么多是为了给具有stick权限的程序LD_PRELOAD不生效做铺垫,

        如果stick权限的LD_PRELOAD生效,那么linux上的提权太简单了,只要将自己的代码编译成so让具有stick权限的程序运行,既可用root身份运行自己代码,因此LD_PRELOAD在遇到stick权限时必须失效。

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

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

相关文章

ES6 (一)——ES6 简介及环境搭建

目录 简介 环境搭建 可以在 Node.js 环境中运行 ES6 webpack 入口 (entry) loader 插件 (plugins) 利用 webpack 搭建应用 gulp 如何使用? 简介 ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版…

探索 Kubernetes 持久化存储之 Rook Ceph 初窥门径

在 Kubernetes 生态系统中,持久化存储是支撑业务应用稳定运行的基石,对于维护整个系统的健壮性至关重要。对于选择自主搭建 Kubernetes 集群的运维架构师来说,挑选合适的后端持久化存储解决方案是关键的选型决策。目前,Ceph、Glus…

护眼台灯什么牌子好?曝光劣质产品常见的四大套路

孩子使用护眼台灯什么牌子好?孩子不仅是家庭的希望,也是国家的未来。为了让孩子们在未来具备更强的竞争力,父母们总是竭尽全力提供最佳的教育资源,如购置优质学位房、报名各类培训课程和兴趣班。然而,在这些努力之外&a…

AR技术:汽车行业创新发展的新动力

在当今科技飞速发展的时代,增强现实技术(AR)正逐渐在各个领域展现出其独特的优势和应用价值。在汽车行业中,AR也扮演着越来越重要的角色,为汽车的设计、制造、维修和销售等环节带来了诸多创新和变革。以下是汽车行业中…

排序算法之折半插入排序

title: 折半插入排序 date: 2024-7-19 10:17:24 0800 categories: 排序算法 tags:排序算法折半插入排序 description: 折半插入排序(Binary Insertion Sort)是插入排序的一种改进版本。它在插入每个元素时使用二分查找(Binary Search&#x…

一文读懂第三代半导体

一、氮化嫁(GaN)定义 氮化镓材料定义:氮化镓(GaN)主要是由人工合成的一种半导体材料,禁带宽度大于2.3eV,也称为宽禁带半导体材料。 氮化镓材料为第三代半导体材料的典型代表,是研制微电子器件、光电子器件…

AI技术在招聘数据分析洞察中的作用

一、引言:AI赋能招聘新纪元 在数字化转型浪潮中,人工智能技术(AI)正以前所未有的速度渗透至各行各业,其中,招聘领域正经历着一场深刻的变革。传统招聘模式依赖于人工筛选简历、面试评估等低效且主观性强的…

【源码+论文】基于VUE的新闻类网站

系统包含:源码论文 所用技术:SpringBootVueSSMMybatisMysql 获取资料请私聊我 1 概述 1.1课题背景及意义 随着现代网络技术发展,对于新闻类网站的设计现在正处于发展的阶段,所以对的要求也是比较严格的,要从系统的…

c++编程(20)——类与对象(6)继承

欢迎来到博主的专栏——c编程 博主ID:代码小豪 文章目录 继承继承与权限访问 基类和派生类基类和派生类的赋值兼容转换基类与派生类的类作用域派生类与基类的构造函数基类与派生类拷贝构造函数 继承与静态成员final关键字 面向对象编程的核心思想是封装、继承和多态…

LeetCode - 209 - 长度最小的子数组

力扣209题 题目描述:长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组&…

unordered_map与unordered_set的实现

目录 1.底层结构 1)方式 2)哈希冲突 3)哈希函数 4)哈希冲突的解决 1.闭散列 1)线性探测 扩容: 2)二次探测 2.开散列 1)概念 2)实现 插入操作: 删…

8个不可错过的高清视频素材网

寻找优质高清视频素材是许多创意工作者和内容创作者必不可少的一项任务。无论是在制作广告、影视作品,还是在进行视频编辑和设计工作,高质量的视频素材都能为你的作品增色不少。 推荐8个备受好评的高清视频素材网站,这些网站提供丰富多样、高…

Django基础知识

文章目录 新建Django项目helloworld关联数据库admin 新建Django项目 创建django-admin startproject project_name 运行 python manage.py runserver 创建app: python manage.py startapp app_name 目录: 配置文件 settings.py 路由配置 urls.py 项目管理 manage.p…

facebook广告效果下降,可能是进入了疲劳期

在做facebook广告的时候,你是否遇到过原本效果很好的广告,突然开始走下坡路的情况,这可能是因为广告进入了疲劳期,广告疲劳期指的是广告展现频率过高,用户多次看到相同广告后就对此感到了厌倦,所以会出现广…

IMA自动接触系统ACS操作手测

IMA自动接触系统ACS操作手测

飞轮科技首席执行官马如悦受邀出席可信数据库发展大会,三大事件,一文解读!

近日,由中国通信标准化协会、大数据技术标准推进委员会主办,InfoQ 极客传媒联合主办的 “2024 可信数据库发展大会” 在京成功召开。此次大会汇聚了众多数据库行业领军企业、专家学者,共同探讨全球数据库发展趋势,分享最具权威性的…

合成数据的pipline

参考:https://github.com/yizhongw/self-instruct 总体来说就是 大模型自己遵循一套流程来生成数据,然后来微调自己。 1.指令生成 每一个迭代都选8个任务的指令作为该任务的提示样本,其中6个是人写的,2个是生成的。 然后组成输…

从零到一:家政保洁小程序搭建全攻略与功能作用深度解析

目录 一、家政保洁小程序主要功能 二、家政保洁小程序搭建教程 (一)前期准备 (二)注册与选择工具 (三)设计与开发 (四)测试与优化 (五)发布与推广 一、…

笔记本CPU天梯图(2024年8月),含AMD/骁龙等新CPU

原文地址(高清无水印原图/持续更新/含榜单出处链接): 2024年8月笔记本CPU天梯图 2024年8月笔记本CPU天梯图 2024年8月5日更新日志:常规更新Cinebench R23、PassMark笔记本CPU天梯图,新增Geekbench 6.2单核多核天梯图&…

您真的了解人类反馈强化学习(RLHF)吗?

生成性人工智能,就像ChatGPT和Gemini这样的应用,现在可火了,感觉我们生活中越来越离不开它们。 不过呢,这些工具虽然厉害,但用的时候也得留个心眼,因为它们可能会搞出些问题来。比如,有时候AI可…