收集域内DNS信息
使用活动目录集成的DNS服务,任何域内用户都有权限查询域内所有的DNS记录。在活动目录数据库内,所有的DNS数据都存储在如下条目中
里面的每一个条目,都是域内的一个DNS记录。以DC=ad01条目为例,其objectClass为dnsNode
但是对于有些DNS对象而言,其objectClass是不可见的。这是因为对计算机DNS记录的默认权限,这不允许所有用户看到内容。由于IP地址实际上是作为此对象的属性存储的,因此也不可能查看这些记录的IP地址。但是,就像任何用户都可以默认创建新的DNS记录一样,任何用户也可以在默认情况下列出DNS区域的子对象。所以我们知道那里有一个记录,我们只是不能使用LDAP来查询它。但是,一旦通过LDAP枚举知道记录存在后,我们可以直接使用DNS来查询它(因为执行常规DNS查询不需要特权)。这样,我们就可以解析区域中的所有记录。
adidnsdump
这是一个用pythoh实现的查询域内DNS记录的脚本,直接使用如下命令即可安装。
安装完成后,即可使用。使用时需提供一个有效的域用户名密码即可。
如果是通过代理查询的话,需要加--dns-tcp参数标志通过TCP执行DNS查询。
SharpAdidnsdump
这是一个用C#实现的查询域内DNS记录的工具,在域内机器使用,直接指定域控ip即可使用。
PowerView.ps1脚本
这是一个功能强大的powershell脚本,位于PowerSploit内。其查询DNS记录功能如下: