域内DNS信息收集
在一个大型的内网环境当中,如果我们在不确定目标资产定位在哪里我们就可以通过dns去定位,当然也可以通过活动目录集成的dns服务。
这里举例DC Locator Process
第一步它会询问_ldap._tcp.dc._msdcs.contoso.com注册记录是什么,dns就会返回所有的域控。
dnscmd
代码语言:javascript复制dnscmd.exe . /EnumRecords redteam.local .
代码语言:javascript复制dnscmd /zoneexport redteam.local redteam.local.dns.txt
SharpAdidnsdump
这里我们也可以通过获取域内机器然后通过Dns.GetHostEntry
解析ip。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.DirectoryServices;
using System.Net;
namespace QueryDomainIp
{
class Program
{
static void Main(string[] args)
{
DirectoryEntry coon = new DirectoryEntry();
DirectorySearcher search = new DirectorySearcher(coon);
search.Filter = "(&(objectclass=computer))";
try
{
foreach (SearchResult r in search.FindAll())
{
string computername = "";
computername = r.Properties["cn"][0].ToString();
IPHostEntry hostInfo = Dns.GetHostEntry(computername);
foreach (IPAddress result_ip in hostInfo.AddressList)
{
Console.WriteLine("HostName:{0} IP:{1}", computername, result_ip);
}
}
}
catch (System.Exception ex)
{
Console.WriteLine("[-] error");
Console.WriteLine("[-] Exception: " ex.Message);
}
}
}
}
PowerView.ps1
代码语言:javascript复制import-module PowerView.ps1
Get-DNSRecord -ZoneName redteam.local