导出Active Directory域信息的新姿势

访客3年前关于黑客接单507

本文介绍了如何使用SQL Server中的OLE DB ADSI提供程序查询获取Active Directory的域信息。在本文中,我还将分享许多新的PowerUpSQL函数,这些函数可用于通过SQL Server自动执行常见的AD信息侦测活动。希望这对Red teamers,渗透测试人员以及数据库爱好者有用。感谢Scott Sutherland(@ _nullbind)在AD信息侦测功能和PowerUpSQL上所做的工作!
T-SQL
下面的T-SQL显示了ADSI提供程序是如何与OPENQUERY和OPENROWSET一起使用来查询Active Directory信息的。首先,需要为ADSI提供程序创建SQL Server链接。示例中创建了名为“ADSI”的链接。
-- Create SQL Server link to ADSI
IF (SELECT count(*) FROM master..sysservers WHERE srvname = 'ADSI') = 0
EXEC master.dbo.sp_addlinkedserver @server = N'ADSI',
@srvproduct=N'Active Directory Service Interfaces',
@provider=N'ADSDSOObject',
@datasrc=N'adsdatasource'
ELSE
SELECT 'The target SQL Server link already exists.'

如果使用OPENQUERY,请将链接与当前身份验证上下文相关联。也可以在此处指定用户名和密码。然后运行示例查询。
注意:LDAP“路径”应设置为目标域。
-- Define authentication context - OpenQuery
EXEC sp_addlinkedsrvlogin
@rmtsrvname=N'ADSI',
@useself=N'True',
@locallogin=NULL,
@rmtuser=NULL,
@rmtpassword=NULL
GO
-- Use openquery
SELECT *
FROM OPENQUERY([ADSI],';(&(objectCategory=Person)(objectClass=user));name, adspath;subtree')

如果使用OPENROWSET,则启用点对点查询。然后使用指定的用户名和密码或默认身份验证运行示例查询。
注意:LDAP“路径”应设置为目标域。
-- Enable 'Show Advanced Options'
EXEC sp_configure 'Show Advanced Options', 1
RECONFIGURE
GO
-- Enable 'Ad Hoc Distributed Queries'
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE
GO
-- Run with openrowset
SELECT *
FROM OPENROWSET('ADSDSOOBJECT','adsdatasource',
';(&(objectCategory=Person)(objectClass=user));name, adspath;subtree')
加载PowerUpSQL
PowerUpSQL可以在PowerShell中以不同的方式加载。下面是一个基本示例,该示例说明了如何从GitHub下载和导入模块。
IEX(New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/NetSPI/PowerUpSQL/master/PowerUpSQL.ps1")
新添加的Active Directory Recon功能
现在你已加载了PowerUpSQL,你可以使用新命令对域执行查询。但请注意,所有命令都需要sysadmin权限。

导出域用户示例
此示例将展示如何通过OPENQUERY使用链接服务器收集域中已启用的域用户。
Get-SQLDomainUser -Instance MSSQLSRV04\SQLSERVER2014 -Verbose -UserState Enabled
或者,可以通过OPENROWSET使用点对点查询运行该命令,如下所示。这个命令没什么特殊的,但该命令确实提供了一些选项来避免攻击检测,如果DBA正在审核链接服务器创建,而不是在审核目标环境中的点对点查询,那么就可以使用这种方式来获取域用户信息。
Get-SQLDomainUser -Instance MSSQLSRV04\SQLSERVER2014 -Verbose -UserState Enabled -UseAdHoc
这些函数还支持登录对SQL Server进行身份验证的备用SQL Server服务器,以及用于配置服务器链接的备用Windows凭据。可以在此处找到更多的命令示例。
身份验证和授权矩阵
根据当前用户的安全上下文或提供的凭据,用户可能没有权限访问查询AD来获取域信息。下表说明了SQL用户权限和相应的访问权限。
Scott Sutherland(@_nullbind) *** 的OPENQUERY(链接服务器)权限认证表

Scott Sutherland(@_nullbind) *** 的OPENROWSET(Ad Hoc点对点查询)权限认证表

结论
信息侦查是评估Active Directory域环境安全性的重要且首要的一步。感谢Will Schroeder (@harmj0y)和其他人在Powerview中所做的一些出色工作。希望这些AD信息侦查功能能够提供另一种方式来实现同样的目的

相关文章

国历是什么意思(国历和农历有什么区别)

国历是什么意思(国历和农历有什么区别)

提起“人民日报社主管主办”,也许大家脑子里出现的都是“正经”两个字。但是,《国家人文历史》却用行动告诉大家,人民日报社主管主办的杂志,玩儿起新媒体来连自己都怕! 《国家人文历史》是人民日报社主管主办...

某个朋友的微信聊天记录没了(微信某个人的聊天记录突然没有了)

某个朋友的微信聊天记录没了(微信某个人的聊天记录突然没有了)最近全国各地都在加快接种新冠病毒疫苗的进度。有专家估计,中国需要大概85%的人口接种疫苗,才能形成新冠免疫屏障。目前,我们的疫苗接种率还远远...

有没有一种软件可以查我妻子手机短信

  台媒:台军坠机飞行员已身亡   据台湾“中央社”最新报道,台军一架F-5E战机今天上午在台东执行任务,腾飞不到2分钟因不明缘故原由坠海,飞行员伤重送医,于上午9时27分宣告不治。   以上就是相关...

什么样的工作适合自己?什么样的工作才适合自己?

什么样的工作适合自己?什么样的工作才适合自己?

什么样的工作适合自己(什么样的工作才适合自己?)春节之后,是大家必须经历的“金三银四”。每年的3月和4月不只是HR们忙乱的时间,也是各位老板和广大职员们头疼的两个月。跳槽的,招聘的,忙!他们被这样...

十个做淘宝九个失败(一件代发根本卖不出去)

十个做淘宝九个失败(一件代发根本卖不出去)

主要还是看方法吧,你没有方法,就凭着一股劲,一个人冲进这个大平台,那肯定会完蛋啊,那你这不纯粹就是瞎搞吗?做人做事都要讲究一点方法呀,何况你这是做生意呢。 作为一个十余年电商从业者,这是我十余年积...

怎么恢复手机里面的照片

手机删除的照片怎么恢复?手机上都会有一些意义非凡的照片,这些照片我们不会经常进行翻看,在某些时候,还是会翻出来乐。 这个特别简单啊,你在相册里面找到最近删除,最近删除可以帮助我们保存三十天的时间,在三...