61 权限提升-RedisPostgre令牌窃取进程注入

目录

    • 演示案例:
      • Redis数据库权限提升-计划任务
      • PostgreSQL数据库权限提升
      • Windows2008&7令牌窃取提升-本地
      • Windows2003&10进程注入提升-本地
        • pinjector进程注入工具针对-win2008以前操作系统
        • pexec64 32进程注入工具针对-win2008及后操作系统- (佛系)
    • 涉及资源:

在这里插入图片描述
postgersql是基于两个漏洞的,一个是2018年出现的,一个是2019年出现的,所导致的提权问题;redis提权漏洞是因为自身的配置导致的问题,网上公开的三种提权方式,redis一般默认安装在linux上面,所以大部分就是写ssh,来尝试登录linux服务器来提权,下面两种用的比较少,第一种用的比较多,利用计划任务执行命令反弹shell

这五个数据库基本上是我们目前在网上比较主流的几种数据库了,还要算上mogondb,但是那些数据库有的是没有提权漏洞的,还有一些比较冷门的数据库就没有讲

演示案例:

Redis数据库权限提升-计划任务

Redis服务因配置不当,可被攻击者恶意利用。黑客借助 Redis 内置命令,可将现有数据恶意清空; 如果 Redis 以 root 身份运行,黑客可往服务器上写入 SSH公钥文件,直接登录服务器。
连接(未授权或有密码)-利用如下方法提权
参考: https://blog.csdn.net/fly_hps/article/details/80937837
(1).利用计划任务执行命令反弹shell
(2).写ssh-keygen公钥然后使用私钥登陆
(3).权限较低往web物理路径写webshell

修复方案:
注意: 以下操作,均需重启 Redis 后才能生效。
绑定需要访问数据库的IP。 将127.0.0.1修改为需要访问此数据库的IP地址设置访问密码。在 Redis.conf中requirepass 字段后,设置添加访问密码。修改Redis服务运行账号。以较低权限账号运行Redis服务,禁用账号的登录权限。

我们要去了解一下关系与非关系数据库的区别
https://www.cnblogs.com/suncan0/p/4735129.html
不是说mysql好或者是redis数据库好,而是看它的应用场景,我们攻击不同的应用,它选择的数据库类型也会不同,常规网站肯定是mysql、oracle、mssql了,可能一些其它应用的是分布式的redis,这主要是数据库应用的差异

PostgreSQL数据库权限提升

PostgreSQL 是一款关系型数据库。其9.3到11版本中存在一处”特性”,管理员或具有"COPY TO/FROM PROGRAN"权限的用户,可以使用这个特性执行任意命令。
提权利用的是漏洞: CVE-2019-9193 CVE-2018-1058
连接-利用漏洞-执行-提权
参考: https://vulhub.org/#/environments/postgres/
修复方案: 升级版本或打上补丁
漏洞复现参考文章:
低权限提权:https://vulhub.org/#/environments/postgres/CVE-2018-1058/
高权限提权:https://vulhub.org/#/environments/postgres/CVE-2019-9193/
它的攻击过程首先是建立连接,密码一般是翻它的配置文件,直接翻到的,连接上去之后,在利用这两个漏洞,看一下这个版本是不是符合的,是否可以进行漏洞提权

redis数据库在navicat上不能直接连接
在这里插入图片描述
各数据库高权限用户:mysql里面是root,mssql是sa,oracle是dba,postgresql是postgres

如果我们提权不成功,那就说明对方打好了补丁,它有些防护拦截了
提权之后是不是最高权限,要看它的安装情况

Windows2008&7令牌窃取提升-本地

进行远程过程调用时请求提升权限,然后调用它从而生成特权安全令牌以执行特权操作。当系统允许令牌不仅用于进程本身,还用于原始请求进程时,漏洞就会出现。
本地提权实验: 获取会话-利用模块-窃取令牌-提权
Microsoft windows XP Professional SP3和之前版本
Windows Server 2003 SP2和之前的版本
Windows Server 2003 x64和x64 sP2
windows Server 2003(用于基于Itanium的系统sP2和先前版本)
Windows Server 2008 x32 x64
Windows Server 2008 (用于基于Itanium的系统)
Windows vista sP1和之前的版本
Windows vista x64 SP1和之前的版本

use incognito
list_tokens -u
impersonate_token "NT AUTHORITY\SYSTEM"

一个进程在执行的时候,是某个用户执行的,这个时候就窃取用户的令牌,来对用户的权限进行复制的操作

令牌窃取在2008之后的操作系统上已经被修复了,没有什么作用了

我们得到了本地用户权限之后,它不是administrator或system,我们用上令牌窃取加上用户权限,直接扩大到system,令牌窃取有工具,但是大部分用的是msfconsole,因为它里面有集成的东西,比较方便

在内网里面,system和administrator还是有些区别的,比如内核木马这些,只有system才能去搞,其它的就搞不来

我们监听一个会话,这个会话基于接收反弹shell,我们要满足提权的前提条件,我取得了计算机上普通用户的权限,然后我用这个普通用户权限实现了提权的操作
来等待一个6677端口上的接收
在这里插入图片描述
这个木马生成了,我们在win7服务器上运行它
在这里插入图片描述
在这里插入图片描述
有时候接收不成功,可能是因为端口问题,换一个端口就可以了
在这里插入图片描述
可以直接在网上搜服务器安装msf,非常简单,基本上一条命令就完事了
https://www.nhooo.com/note/qa3svg.html
在这里插入图片描述
阿里云选个2核4G,阿里云的好处是对国外的地址下载是很快的
窃取成功了
在这里插入图片描述

令牌窃取支持的windows版本比较少,win2008以上,比如,win10、2012基本上就很难实现了,它有实现的可能性,但是成功的机率很低,因为有些系统上面是把一些东西给关了,比如UNC用户控制开关,也就是说在高版本系统上面,这个令牌窃取是没什么软用的

没必要去追求原理,简单的学一下攻击流程就足够了,针对普通用户到system权限获取的一种方式,针对win2008及以下版本的攻击方法,你把这个记住就可以了

Windows2003&10进程注入提升-本地

进程注入提权是本地提权方式的一种较为老的安全技术了,利用的是注入进程的所有者实现权限共享机制,这类技术主要利用在windows2008之前操作系统上,所以我们需要学习后续的本地提权更多的手法才能有针对高版本的系统。

每个进程在运行的时候,有个pid值,后面有个对应的用户名,就相当于这个用户正在运行这个进程,然后你会发现有些进程对应的用户名是system,进程注入其实就是利用注入到这个进程之后,享有system权限,把system权限释放出来,就这么个攻击手段,这个攻击手段只适用于win2008之前的操作系统,这里还不包括2008,比令牌窃取还要老,还要不太实用
在这里插入图片描述
进程注入的成功机率很佛性,具体要看操作系统是不是原版,还有操作系统有没有安装一些东西,才可能成功的意思

pinjector进程注入工具针对-win2008以前操作系统

在msf里面也是有这个功能截取的地方
在这里插入图片描述
获取当前计算机上面的线程列表,然后获取进程对应的权限
在这里插入图片描述
system都是我们的目标,我们把pid值记下来,注入到这个进程里面,就会在本地开放8888端口,然后8888端口对应的就是cmd,只要有人连接8888端口,就会将cmd反弹给对方
在这里插入图片描述
这个时候开nc连接8888端口,看一下权限
在这里插入图片描述
这个就是典型的进程注入,针对的是win2008,它跟sc、at命令、ps命令差不多的道理,只是说它用到的是系统自身的注入,那些命令用到的是系统的计划任务攻击,杂七杂八的,总的来说都是进行权限提升,就是利用的东西不一样
其实很多培训的,讲的都是老东西,不要在网上看了一些东西就觉得厉害,一模一样的

pexec64 32进程注入工具针对-win2008及后操作系统- (佛系)

pexec是可以进行权限提升和权限降低的,在本地win10测试了一下,提权没有成功,降权是成功了
如果我们是使用虚拟机或者初次安装操作系统的话,可能要安装一下组件,因为pexec是用C++写的,有些电脑初次安装虚拟机的话,它没有安装库运行不了,它会提示少了dll文件

在这里插入图片描述
直接执行注入到进程里面去,注入进去之后,直接用nc连接本地的9999端口就实现了,这个本地就是目标地址
可以用火绒剑查看当前电脑进程,获取PID
在这里插入图片描述
在这里插入图片描述
pexec注入了,权限没有正确获取到

涉及资源:

https://www.blib.cn/soft/pexec.zip
https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
https://www.tarasco.org/security/Process_Injector/processinjector.zip
https://www.cnblogs.com/LyShark/p/13785619.html

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023亚太杯数学建模APMCM竞赛C题思路讲解:基于ARIMA与机理模型进行预测

本文针对6大问题,从多角度分析了我国新能源电动汽车发展形势与前景。文中针对不同问题,采用了层次分析法、时间序列模型、机理模型、回归模型等数学方法。并结合实例数据,对相关模型进行求解,以量化预测了新能源电动汽车在政策驱动、市场竞争、温室气体减排等多个方面的潜在贡献…

OpenCV快速入门:图像分析——图像分割和图像修复

文章目录 前言一、图像分割1.1 漫水填充法1.1.1 漫水填充法原理1.1.2 漫水填充法实现步骤1.1.3 代码实现 1.2 分水岭法1.2.1 分水岭法原理1.2.2 分水岭法实现步骤1.2.3 代码实现 1.3 GrabCut法1.3.1 GrabCut法原理1.3.2 GrabCut法实现步骤1.3.3 代码实现 1.4 Mean-Shift法1.4.1…

【分布式】小白看Ring算法 - 03

相关系列 【分布式】NCCL部署与测试 - 01 【分布式】入门级NCCL多机并行实践 - 02 【分布式】小白看Ring算法 - 03 【分布式】大模型分布式训练入门与实践 - 04 概述 NCCL(NVIDIA Collective Communications Library)是由NVIDIA开发的一种用于多GPU间…

Navicat 技术指引 | 适用于 GaussDB 的数据迁移工具

Navicat Premium(16.2.8 Windows版或以上) 已支持对 GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构同步、协同合作、数据迁移等),这…

基于element-ui后台模板,日常唠嗑

后面会补充github地址 文章目录 目录 文章目录 案例说明 1.引入库 2.创建布局组件 3.创建布局组件 4.菜单效果展示 5.创建顶部组件 5.创建顶部面包屑组件 6.创建内容区域组件 7.效果总览 7.布丁(实现一些小细节) 前言一、pandas是什么?二、使…

Android Studio记录一个错误:Execution failed for task ‘:app:lintVitalRelease‘.

Android出现Execution failed for task :app:lintVitalRelease.> Lint found fatal errors while assembling a release target. Execution failed for task :app:lintVitalRelease解决方法 Execution failed for task ‘:app:lintVitalRelease’ build project 可以正常执…

计算机网络之网络层

一、概述 主要任务是实现网络互连,进而实现数据包在各网络之间的传输 1.1网络引入的目的 从7层结构上看,网络层下是数据链路层 从4层结构上看,网络层下面是网络接口层 至少我们看到的网络层下面是以太网 以太网解决了什么问题? 答…

python中一个文件(A.py)怎么调用另一个文件(B.py)中定义的类AA详解和示例

本文主要讲解python文件中怎么调用另外一个py文件中定义的类,将通过代码和示例解读,帮助大家理解和使用。 目录 代码B.pyA.py 调用过程 代码 B.py 如在文件B.py,定义了类别Bottleneck,其包含卷积层、正则化和激活函数层,主要对…

微信小程序实现【点击 滑动 评分 评星(5星)】功能

wxml文件&#xff1a; <view class"wxpl_xing"><view class"manyidu">{{scoreContent}}</view><view><block wx:for{{scoreArray}} wx:for-item"item"><view classstarLen bindtapchangeScore data-sy"{{…

什么是LLC电路?

LLC电路是由2个电感和1个电容构成的谐振电路&#xff0c;故称之为LLC&#xff1b; LLC电路主要由三个元件组成&#xff1a;两个电感分别为变压器一次侧漏感(Lr)和励磁电感(Lm)&#xff0c;电容为变压器一次侧谐振电容(Cr)。这些元件构成了一个谐振回路&#xff0c;其中输入电感…

程序员进阶高管指南,看懂工资最少加5k

从象牙塔毕业跨入社会大染缸&#xff0c;很多人都跟我谈过他们的职业困惑&#xff0c;其中有一些刚刚毕业&#xff0c;有些人已经工作超过10年。基本上是围绕着怎样持续提升&#xff0c;怎样晋升为高级管理者。那么这篇文章&#xff0c;我就来谈一谈程序员到高管的跃升之路。 …

程序环境和预处理(详解版)

我们已经学到这里&#xff0c;这就是关于C语言的最后一个集中的知识点了&#xff0c;虽然它比较抽象&#xff0c;但是了解这部分知识&#xff0c;可以让我们对C代码有更深层次的理解&#xff0c;知道代码在每一个阶段发生什么样的变化。让我们开始学习吧! 目录 1.程序的翻译环…

5个免费在线工具推荐

NSDT 三维场景建模工具GLTF/GLB在线编辑器Three.js AI自动纹理化开发包YOLO 虚幻合成数据生成器3D模型在线转换 1、NSDT 三维场景建模 访问地址&#xff1a;NSDT 编辑器 2、GLTF/GLB在线编辑器 访问地址&#xff1a;GLTF 编辑器 3、Three.js AI自动纹理化开发包 图一为原始模…

C++类与对象(4)—日期类的实现

目录 一、类的创建和方法声明 二 、输出&运算符重载 三、检查合法性 1、获取对应年月的天数 2、初始化 四、实现加等和加操作 1、先写再写 2、先写再写 3、两种方式对比 五、实现自增和--自减 1、自增 2、自减 六、 实现减等和减操作 1、减等天数 2、加负数…

【数据结构/C++】线性表_双链表基本操作

#include <iostream> using namespace std; typedef int ElemType; // 3. 双链表 typedef struct DNode {ElemType data;struct DNode *prior, *next; } DNode, *DLinkList; // 初始化带头结点 bool InitDNodeList(DLinkList &L) {L (DNode *)malloc(sizeof(DNode))…

motionlayout的简单使用

MotionLayout 什么是motionLayout&#xff1f; MotionLayout 是 Android 中的一个强大工具&#xff0c;用于创建复杂的布局动画和过渡效果。它是 ConstraintLayout 的一个子类&#xff0c;继承了 ConstraintLayout 的布局功能&#xff0c;同时添加了动画和过渡的支持。Motion…

深度解析 Docker Registry:构建安全高效的私有镜像仓库

文章目录 什么是Docker Registry&#xff1f;Docker Hub vs. 私有RegistryDocker Hub&#xff1a;私有Registry&#xff1a; 如何构建私有Docker Registry&#xff1f;步骤一&#xff1a;安装Docker Registry步骤二&#xff1a;配置TLS&#xff08;可选&#xff09;步骤三&…

Adobe xd有免费版可以使用吗?

Adobexd现在收费了吗&#xff1f;Adobexd是收费的。Adobexd在中国提供个人版和团队版两项收费政策。个人版每月订阅60元&#xff0c;每年订阅688元&#xff1b;团队版每月订阅112元/用户&#xff0c;每年订阅1288元/用户。 虽然AdobeXD的免费计划已经下线&#xff0c;但Adobe仍…

穿山甲SDK 集成·android接入广告·app流量变现

接入穿山甲SDK的app 数独训练APP 广告接入示例: Android 个人开发者如何接入广告SDK&#xff0c;实现app流量变现 接入穿山甲SDK app示例&#xff1a; android 数独小游戏 经典数独休闲益智 随着移动互联网的快速发展&#xff0c;广告成为了许多应用开发者获取收益的主要方…

【2023.11.23】JDBC基本连接语法学习➹

1.导入jar包依赖&#xff1a;mysql-connector-java-8.0.27.jar 2.连接数据库&#xff01; 3.无法解析类->导入java.sql.*&#xff0c;&#xff08;将项目方言改为Mysql&#xff09; JDBC&#xff0c;启动&#xff01;&#xff01; public class Main {public static voi…