内网渗透 | 域内DNS信息收集工具编写

2021-12-14 14:52:33 浏览数 (1)

域内DNS信息收集

在一个大型的内网环境当中,如果我们在不确定目标资产定位在哪里我们就可以通过dns去定位,当然也可以通过活动目录集成的dns服务。

这里举例DC Locator Process

ffDAQa.pngffDAQa.png

第一步它会询问_ldap._tcp.dc._msdcs.contoso.com注册记录是什么,dns就会返回所有的域控。

ffDMDu.pngffDMDu.png
ffDWiD.pngffDWiD.png

dnscmd

代码语言:javascript复制
dnscmd.exe . /EnumRecords redteam.local .
ffD7Ti.pngffD7Ti.png
代码语言:javascript复制
dnscmd /zoneexport redteam.local redteam.local.dns.txt 
ffDvtL.pngffDvtL.png

SharpAdidnsdump

ffD35W.pngffD35W.png

这里我们也可以通过获取域内机器然后通过Dns.GetHostEntry解析ip。

代码语言:javascript复制
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);
            }
        }
    }
}
ffDNXw.pngffDNXw.png

PowerView.ps1

代码语言:javascript复制
import-module PowerView.ps1
Get-DNSRecord -ZoneName redteam.local
ffDayR.pngffDayR.png
dns

0 人点赞