PySQLRecon:一款功能强大的MSSQL安全测试工具

关于PySQLRecon

PySQLRecon是一款功能强大的MSSQL安全测试工具,该工具基于SQLRecon实现其功能,可以帮助广大红队研究人员针对MSSQL执行攻击性安全测试。

环境配置

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3.x环境。

工具安装

源码获取

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/Tw1sm/PySQLRecon.git

然后切换到项目目录下,运行安装命令即可:

pip3 install .

pip安装

除此之外,我们还可以直接使用pip工具安装PySQLRecon:

pip3 install pysqlrecon

工具命令

PySQLRecon的所有主要模块使用命令都跟SQLRecon类似,标记了[PRIV]的命令代表需要使用管理员权限或高级权限才能执行,而标记了[NORM]的命令则可以使用普通用户权限执行。在命令描述结尾标记了[I]或[L],则标识支持用户模拟或支持在链接服务器上执行。

adsi                 [PRIV] 从ADSI链接服务器获取ADSI凭证 [I,L]agentcmd             [PRIV] 使用代理任务执行一个系统命令 [I,L]agentstatus          [PRIV] 枚举SQL代理状态和任务 [I,L]checkrpc             [NORM] 枚举链接服务器的RPC状态 [I,L]clr                  [PRIV] 在一个存储进程中加载和执行.NET程序集 [I,L]columns              [NORM] 枚举一个表中的列数据 [I,L]databases            [NORM] 枚举服务器上的数据库信息 [I,L]disableclr           [PRIV] 禁用CLR集成 [I,L]disableole           [PRIV] 禁用OLE自动化进程 [I,L]disablerpc           [PRIV] 禁用链接服务器的RPC和RPC Out [I]disablexp            [PRIV] 禁用xp_cmdshell [I,L]enableclr            [PRIV] 启用CLR集成 [I,L]enableole            [PRIV] 启用OLE自动化进程 [I,L]enablerpc            [PRIV] 启用链接服务器的RPC和RPC Out [I]enablexp             [PRIV] 启用xp_cmdshell [I,L]impersonate          [NORM] 枚举可以模拟的用户info                 [NORM]  收集目标SQL Server的相关信息links                [NORM]  枚举链接服务器 [I,L]olecmd               [PRIV] 使用OLE自动化进程执行一个系统命令 [I,L]query                [NORM] 执行一个自定义SQL查询 [I,L]rows                 [NORM] 获取一个表中行数据的数量 [I,L]search               [NORM] 搜索一个表中指定的列名 [I,L]smb                  [NORM] 通过xp_dirtree恰凝脂执行NetNTLM认证 [I,L]tables               [NORM] 枚举数据库中的表 [I,L]users                [NORM] 枚举包含数据库访问权的用户 [I,L]whoami               [NORM] 收集登录用户、映射用户和角色权限信息 [I,L]xpcmd                [PRIV] 使用xp_cmdshell执行一个系统命令 [I,L]     

工具使用

PySQLRecon提供了全局参数选项,且必须在命令名称之前指定:

pysqlrecon [GLOBAL_OPTS] COMMAND [COMMAND_OPTS]

查看全局选项:

pysqlrecon --help

查看命令专用选项:

pysqlrecon [GLOBAL_OPTS] COMMAND --help

可以使用--link选项在一台链接服务器上执行PySQLRecon命令。

可以使用PySQLRecon命令配合--impersonate选项进行用户账户模拟。注意,--link和--impersonate不兼容。

工具开发

PySQLRecon使用了Poetry来管理工具依赖组件,我们可以直接使用源码来搭建开发环境:

git clone https://github.com/tw1sm/pysqlreconcd pysqlreconpoetry installpoetry run pysqlrecon --help

项目地址

PySQLRecon:【GitHub传送门】

参考资料

GitHub - fortra/impacket: Impacket is a collection of Python classes for working with network protocols.

GitHub - skahwah/SQLRecon: A C# MS SQL toolkit designed for offensive reconnaissance and post-exploitation.

Databases beware: Abusing Microsoft SQL Server with SQLRecon

https://gist.github.com/skahwah/a585e176e4a5cf319b0c759637f5c410

GitHub - ScorpionesLabs/MSSqlPwner

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

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

相关文章

微软和苏黎世联邦理工学院开源SliceGPT创新压缩技术节省大量部署资源;OpenAI成立儿童安全团队,防AI误用

🦉 AI新闻 🚀 微软和苏黎世联邦理工学院开源SliceGPT创新压缩技术节省大量部署资源 摘要:微软和苏黎世联邦理工学院研究人员开源了SliceGPT,通过对大模型的权重矩阵进行压缩切片,实现了模型紧缩,节省了部…

Netty应用(六) 之 异步 Channel

目录 12.Netty异步的相关概念 12.1 异步编程的概念 12.2 方式1:主线程阻塞,等待异步线程完成调用,然后主线程发起请求IO 12.3 方式2:主线程注册异步线程,异步线程去回调发起请求IO 12.4 细节注释 12.5 异步的好处…

《UE5_C++多人TPS完整教程》学习笔记10 ——《P11 设置加入游戏会话(Setup for Joining Sessions)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P11 设置加入游戏会话(Setup for Joining Sessions)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主&…

阿里云服务器带宽计费模式是什么?怎么选择?

阿里云服务器带宽计费模式分为“按固定带宽”和“按使用流量”,有什么区别?按固定带宽是指直接购买多少M带宽,比如1M、5M、10M、100M等,阿里云直接分配用户所购买的带宽值,根据带宽大小先付费再使用;按使用…

leetcode(矩阵)74. 搜索二维矩阵(C++详细解释)DAY7

文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中…

数学实验第三版(主编:李继成 赵小艳)课后练习答案(八)(4)

实验八:近似计算 练习四 1.自己设置一种计算欧拉常数近似值的方法,看你对欧拉常数的计算能精确到小数点后多少位? 从示例7的图8.5我们已经得知,只要求出每个小矩形中在函数y1/x以上的部分的面积之和,我们就可以得知…

【后端高频面试题--SpringBoot篇】

🚀 作者 :“码上有前” 🚀 文章简介 :后端高频面试题 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 这里写目录标题 1.什么是SpringBoot?它的主要特点是什么?2.列举一些Spri…

【java】11:IDEA常用快捷键+包

1. IDEA 常用快捷键 删除当前行, 默认是 ctrl Y 自己配置 ctrl d复制当前行, 自己配置 ctrl alt 向下光标补全代码 alt /添加注释和取消注释 ctrl / 【第一次是添加注释,第二次是取消注释】导入该行需要的类 先配置 auto import , 然后使用 altenter 即可快速…

【leetcode热题100】子集 II

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。 示例 1: 输入:nums [1,2,2] 输出…

极狐GitLab 使用阿里云作为 OmniAuth 身份验证 provider

使用阿里云作为 OmniAuth 身份验证 provider 您可以启用阿里云 OAuth 2.0 OmniAuth provider并使用您的阿里云账户登录极狐GitLab。 创建阿里云应用 登录阿里云平台,在上面创建一个应用。阿里云会生成一个 client ID and secret key 供您使用。 登录到阿里云平台…

模型 AARRR(获取、激活、留存、收益、推荐)

系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。用户增长五环。 1 模型 AARRR(获取、激活、留存、收益、推荐)的应用 1.1 抖音的AARRR模型应用 抖音是一款非常成功的应用程序,它在用户获取、用户激活、用户留存、收入获取和用户…

C++新特性“CPU优化对齐”

哈喽 各位读者伙伴大家好 本篇文章讲一下C新特性 alignas&alignof 在这之前 我们大家应该先了解一下数据对齐的问题 什么是数据对齐问题呢? 以下是两个结构体在内存中的分布图: 为什么要数据对齐呢? 首先是CPU 电脑中的CPU(单核或者多核…

mac docker 宿主机和容器间网络打通

动因 是这样,笔者最近满怀欣喜入手Docker,看着各种文章命令都是不断点头称道:“嗯嗯,不错不错”,在接下来终于准备大干一场的时候碰壁了,主要情况是说在Mac中跑了第一把的时候发现碰到,虚拟机和宿主机居然…

LV.23 D1 ARM体系结构概述 学习笔记

一、必须要了解的ARM知识点 1、ARM公司简介 ARM(Advanced RISC Machines)有三种含义: 它是一个公司的名称、它是一类微处理器的通称、它是一种技术的名称。 2、ARM处理器家族 早先经典处理器 包括ARM7、ARM9、ARM11家族。 Corte…

【Java从入门到精通】Java变量类型

Java 变量类型 在 Java 语言中,所有的变量在使用前必须声明。 声明变量的基本格式如下: type identifier [ value][, identifier [ value] ...] ; 格式说明: type -- 数据类型。identifier -- 是变量名,可以使用逗号 , 隔开…

python-分享篇-GUI界面开发-PyQt5-对QListWidget列表进行数据绑定

代码 # -*- coding: utf-8 -*-# Form implementation generated from reading ui file bindlist.ui # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! 对QListWidget列表进行数据绑定from PyQt5 import QtCore, QtG…

为什么总有人觉得前端很简单?尤其是水平半瓶水的人。

造成这个印象的原因很多,贝格前端工场结合自己的经验,为大家揭开这个谜底。低端的前端确实简单,但是高级阶段确实不简单。 缺乏深入了解: 有些人可能只是对前端开发有一些浅显的了解,没有深入研究过前端开发的技术和知…

车载电子电器架构 —— 电子电气系统车载功能子系统

车载电子电器架构 —— 电子电气系统车载功能子系统 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠自己,…

数模.微分方程

或者可以建立一个是实时脚本,也可以转化成上图公式 solver只是一个代名词,代表的是后面七种函数的名字 百分之九十用ode45函数 注意df1是在另外一个文件里面 计算导弹追击问题没有记录,去文件找代码

板块一 Servlet编程:第二节 Servlet的实现与生命周期 来自【汤米尼克的JAVAEE全套教程专栏】

板块一 Servlet编程:第二节 Servlet的实现与生命周期 一、Servlet相关概念Serlvet的本质 二、中Web项目中实现Servlet规范(1)在普通的Java类中继承HttpServlet类(2)重写service方法编辑项目对外访问路径 二、Servlet工…