开发者社区> 玄学酱> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

渗透测试中搜集AD域信息的常用PS命令

简介: 本文讲的是渗透测试中搜集AD域信息的常用PS命令,Microsoft为Windows Server 2008 R2(及更新版本)提供了几个Active Directory PowerShell cmdlet,相比于之前需要将涉及ADSI的冗长代码行放在一起来执行任务,这样的更新很大程度上简化了相关的操作。
+关注继续查看
本文讲的是渗透测试中搜集AD域信息的常用PS命令Microsoft为Windows Server 2008 R2(及更新版本)提供了几个Active Directory PowerShell cmdlet,相比于之前需要将涉及ADSI的冗长代码行放在一起来执行任务,这样的更新很大程度上简化了相关的操作。

在Windows客户端上,安装远程服务器管理工具(RSAT),并确保安装了Active Directory PowerShell模块。

在Windows服务器(2008 R2或更高版本)上,在PowerShell控制台(作为管理员启动)中运行以下命令:

Import-Module ServerManager ; Add-WindowsFeature RSAT-AD-PowerShell

这是我写的一个非常简单的ADSI例子:

$UserID = “JoeUser”$root = [ADSI]''$searcher = new-object System.DirectoryServices.DirectorySearcher($root)$searcher.filter = "(&(objectClass=user)(sAMAccountName= $UserID))"$user = $searcher.findall()$user

这段代码的功能与下面的AD PowerShell cmdlet的功能是一样的:

Import-module ActiveDirectory
 $UserID = “JoeUser”
 Get-ADUser $UserID –property *

请注意,PowerShell版本3和更新的版本中,你不需要运行第一行了,因为Powershell将会识别必要的模块并自动加载它。

一旦加载了Active Directory PowerShell模块,你就可以像文件系统那样做一些像浏览ADO这样的很酷的事情。

渗透测试中搜集AD域信息的常用PS命令

查找有用的命令(Cmdlet):

发现可用的PowerShell模块:Get-Module -ListAvailable

在PowerShell模块中发现cmdlet:  Get-Command -module ActiveDirectory

 PowerShell AD模块Cmdlet个数:

·  Windows Server 2008 R2:76 个cmdlet

·  Windows Server 2012:135 个cmdlet

·  Windows Server 2012 R2:147个 cmdlet

·  Windows Server 2016:147 个cmdlet

(Get-Command -module ActiveDirectory).count

查找Active Directory营运主机(FSMO)角色:

Active Directory模块:

·  (Get-ADForest).SchemaMaster
·  (Get-ADForest).DomainNamingMaster
·  (Get-ADDomain).InfrastructureMaster
·  (Get-ADDomain).PDCEmulator
·  (Get-ADDomain).RIDMaster

.NET调用:

· ([System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()).SchemaRoleOwner
· ([System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()).NamingRoleOwner
· ([System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()).InfrastructureRoleOwner
· ([System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()).PdcRoleOwner
· ([System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()).RidRoleOwner

Active Directory PowerShell模块Cmdlet示例:

Get-RootDSE获取并显示有关LDAP服务器(也就是域控制器)的信息。结果中有一些有趣的信息,例如DC的操作系统信息。

渗透测试中搜集AD域信息的常用PS命令

Get-ADForest会提供有关运行该命令的当前计算机所在的Active Directory林的一些信息。

渗透测试中搜集AD域信息的常用PS命令

Get-ADDomain会提供有关当前计算机所在域的一些信息。

渗透测试中搜集AD域信息的常用PS命令

Get-ADDomainController会提供指定的域控制器的计算机信息。
此cmdlet可以轻松查找指定站点中的所有DC或运行的操作系统版本。

渗透测试中搜集AD域信息的常用PS命令

Get-ADComputer提供了有关AD中计算机对象的大部分信息。
运行“-Prop *”显示所有标准属性。

渗透测试中搜集AD域信息的常用PS命令

Get-ADUser提供了你想要了解的某个AD用户的大部分信息。
运行“-Prop *”显示所有标准属性。

渗透测试中搜集AD域信息的常用PS命令

Get-ADGroup提供了有关AD组的一些信息。通过运行以下命令查找所有安全组:

Get-ADGroup -Filter {GroupCategory -eq ‘Security}

渗透测试中搜集AD域信息的常用PS命令

Get-ADGroupMember枚举并返回组成员。使用递归参数可以列举出包括嵌套组的所有成员。

Get-ADGroupMember ‘Administrators’ -Recursive

渗透测试中搜集AD域信息的常用PS命令

这些cmdlet可以用于识别之前需要购买的产品或自定义脚本的情况。

以下示例可以找出无效(或过期)的计算机和用户 – 在过去10天内未更改其密码的帐户。请注意,这是一个实验性的示例。对于实际环境的检查,建议将检查计算机的时间更改为60至90天,检查用户的时间更改为180到365天。

查找不活跃的计算机

渗透测试中搜集AD域信息的常用PS命令

查找不活跃的用户

渗透测试中搜集AD域信息的常用PS命令

枚举域信任信息

渗透测试中搜集AD域信息的常用PS命令

获取AD站点信息。
请注意,Windows 2012的模块中包含了站点的cmdlet(Get-ADReplicationSite *)。

渗透测试中搜集AD域信息的常用PS命令

备份域GPO
请注意,这需要安装组策略PowerShell模块,该模块与Active Directory模块是分开的。

渗透测试中搜集AD域信息的常用PS命令

查找AD Kerberos服务帐户

渗透测试中搜集AD域信息的常用PS命令

列举库存的域控制器

Get-ADDomainController–filter * | `select hostname,IPv4Address,IsGlobalCatalog,IsReadOnly,OperatingSystem | `format-table -auto

渗透测试中搜集AD域信息的常用PS命令

Get-ADReplicationPartnerMetadata(Windows Server 2012及更高版本)

渗透测试中搜集AD域信息的常用PS命令

Get-ADReplicationPartnerFailure提供了有关DC复制故障状态的信息。

渗透测试中搜集AD域信息的常用PS命令

Get-ADReplicationUptodatenessVectorTable跟踪域控制器之间的复制状态。

渗透测试中搜集AD域信息的常用PS命令





原文发布时间为:2017年9月1日
本文作者:丝绸之路
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
2022渗透测试-浏览器搜索技巧-信息收集之Google Hacking的使用
2022渗透测试-浏览器搜索技巧-信息收集之Google Hacking的使用
0 0
2022-渗透测试-信息收集-Metasploit(基于FTP协议)
2022-渗透测试-信息收集-Metasploit(基于FTP协议)
0 0
2022-渗透测试-信息收集-Metasploit(基于SSH协议)
2022-渗透测试-信息收集-Metasploit(基于SSH协议)
0 0
2022-渗透测试-信息收集-Metasploit(基于SMB协议)
2022-渗透测试-信息收集-Metasploit(基于SMB协议)
0 0
2022-渗透测试-信息收集-Metasploit(基于SNMP协议)
2022-渗透测试-信息收集-Metasploit(基于SNMP协议)
0 0
2022-渗透测试-信息收集-Metasploit(基于TCP协议)
2022-渗透测试-信息收集-Metasploit(基于TCP协议)
0 0
2022渗透测试-信息收集笔记
2022渗透测试-信息收集笔记
0 0
渗透测试流程&信息收集
渗透测试是一种评估方法,一种通过模拟黑客的攻击方式,来评估网站安全的方法 渗透测试流程分为7个阶段
0 0
web渗透测试对信息收集的方法介绍
什么是web渗透测试?一般是指通过模拟黑客的攻击手法,对计算机网络系统进行安全评估测试,如果发现系统中存在漏洞,向被测试系统的所有者提交渗透报告,并提出补救措施。这一章将通过渗透测试Web应用和服务器,向大家介绍渗透测试的方法和技巧。
0 0
渗透测试服务讲解汇总 对甲方网站信息的搜集工作
在对客户网站以及APP进行渗透测试服务前,很重要的前期工作就是对网站,APP的信息进行全面的收集,知彼知己,才能更好的去渗透,前段时间我们SINE安全公司收到某金融客户的委托,对其旗下的网站,以及APP进行安全渗透,整个前期的信息收集过程,我们将通过文章的形式分享给大家.
0 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
文章
问答
文章排行榜
最热
最新
相关电子书
更多
如何产生威胁情报-高级恶意攻击案例分析
立即下载
“从”到TI(威胁情报)“到”IR(事件响应) — Webshell安全分析实践谈
立即下载
低代码开发师(初级)实战教程
立即下载