从无域管理员账户枚举低权限活动目录
作者:admin | 时间:2018-3-11 23:00:08 | 分类:黑客技术 隐藏侧边栏展开侧边栏
情景
您已经获取了一个域用户的凭据, 但却没有权限或通过交互式访问任何目标, 例如没有域管理员帐户或任何能够建立 RDP 会话的帐户。
介绍
在最近的一次咨询中,我做了一次几个不受信任的 Windows域的内部评估。我先使用Kerberos域用户名枚举随后执行了 SMB 密码猜解。这样有可能获取对多个域帐户。
然而所有被找到的账户都是没有被设置特殊特权, 例如他们不是域管理员, 而且, 没有一个帐户是 "远程桌面用户" 组的成员。因此, 无法对任何目标主机进行交互式访问。
有许多不同的技术可以使用低权限帐户 (例如域用户) 从没有加入任何域的渗透测试用笔记本来查询活动目录。我将在本文中探讨其中一部分方法。
枚举的最终目标是:
-
枚举出所有的域账户
-
枚举出有目标站点权限的特权帐户,即域管理员或远程桌面用户组的成员
-
枚举域的密码策略
-
列举攻击的进一步途径
一旦这个枚举完成,获取的帐户可以进行进一步的密码猜解。
以下示例中使用的域用户凭据为用户名 ops, 密码 Pa55word
Windapsearch
我要讨论的第一个工具是 windapsearch:
正如工具的作者所描述的那样:“windapsearch 是用 Python 编写的旨在帮助从LDAP 查询来枚举一个Windows 域中的用户,用户组,电脑。”
使用我们的先决条件/以前猜到的域用户帐户下面的语法可以使用如下语法来查询域中远程域的所有用户。
windapsearch --dc-ip [IP_ADDRESS] -u [DOMAIN]\\USERNAME -p [PASSWORD] -U
下图展示了该工具枚举了域中的所有用户(-U switch):
注意:输出结果已经使用 grep 和 cut 来清理
windapsearch --dc-ip 192.168.5.1 -u mydomain\\ops -p Pa55word -U | grep cn: | cut -d " " -f 2
使用 --da 我们能够枚举域管理员:
windapsearch –dc-ip 192.168.5.1 -u mydomain\\ops -p Pa55word --da | grep cn: | cut -d " " -f 2
使用 -m 我们能够枚举“远程桌面用户”组的成员:
PowerView
来自harmj0y的优秀工具 PowerView 可能为我们提供了域用户/域命名上下文中 AD 枚举的最佳选项。
PowerView 已经在 harmj0y's 多个博客帖子中进行了彻底和充分的讨论 (参见文末), 但我只讨论几个可以在我们的场景中有用的选项。
我们先使用runas和/netonly在我们的无域Windows 主机上建立一个 PowerShell 会话, 即凭据被设定为仅为远程访问:
runas /netonly /user:mydomain\op powershell(随后会提示您输入密码):
注意: 我已经在以下路径中安装了 PowerSploit (提供了 PowerView):
C:\Windows\System32\WindowsPowerShell\v1.0\Modules\PowerSploit-dev
一旦我们通过以下方式导入 PowerSploit:
Import-module .\PowerSploit.psd1
我们可以查询所有域用户的域:
Get-DomainUser -Domain mydomain.test -DomainController 192.168.5.1 | findstr samaccountname
我们还可以查询域以得到域管理员列表
Get-DomainGroupMember -identity "Domain Admins" -Domain mydomain.test -DomainController 192.168.5.1 | findstr MemberName
接下来我们查询域中“远程桌面用户”组的成员:
Get-DomainGroupMember -identity "Remote Desktop Users" -Domain mydomain.test -DomainController 192.168.5.1 | findstr MemberName
我们也能查询 AD 以获取获取当前用户上下文能够访问的所有可用共享的列表:
Find-DomainShare -CheckShareAccess -Domain mydomain.test -DomainController 192.168.5.1
Microsoft Remote Server Administration Tools (RSAT)
Microsoft RSAT 旨在允许管理员从远程计算机管理 Windows 服务器。RSAT 提供了让我们可以从低特权、非连接的域上下文中枚举域的另一个选项:
最初, RSAT 被证明对枚举远程域的密码策略非常有用。同样, 我们从runas、 /netonly启动的 PowerShell 会话来实验。 (有关详细信息, 请参阅上文 PowerView):
Get-ADDefaultDomainPasswordPolicy -Server 192.1685.5.1
我们也可以利用 RSAT 的 GUI,再次通过runas启动的。:
runas /netonly /user:mydomain\ops mmc
接下来, 我们通过新的 mmc 控制台添加“活动目录用户和计算机”
将域控实例更改至目标域:
然后我们将获得域用户的图形化视图:
域枚举的整个目的在于通过密码猜解进一步为我们提供目标域有权限的账号。域密码策略的检索也补完了这次练习。
参考
翻译者:安识科技章鱼哥