郑重声明: 本文所有安全知识与技术,仅用于探讨、研究及学习,严禁用于违反国家法律法规的非法活动。对于因不当使用相关内容造成的任何损失或法律责任,本人不承担任何责任。 如需转载,请注明出处且不得用于商业盈利。
感谢您的点赞、关注、收藏、分享!
𖤐 深 呼 吸 、 放 轻 松 ,这 只 是 一 个 故 事。
𖤐 𝓓𝓮𝓮𝓹 𝓫𝓻𝓮𝓪𝓽𝓱, 𝓻𝓮𝓵𝓪𝔁, 𝓲𝓽'𝓼 𝓳𝓾𝓼𝓽 𝓪 𝓼𝓽𝓸𝓻𝔂.
→ 信息收集▸主动采集▸DNS枚举(基础)-----我们在这儿~ 🔥🔥🔥
→ 漏洞检测
→ 初始立足点
→ 权限提升
→ 横向移动
→ 报告/分析
→ 教训/修复
1.4 主动信息收集
想象一下侦探主动去调查线索,而不是等着线索上门——这就是主动信息收集!它的核心在于直接与目标系统或服务进行互动,通过发送特定的探测请求来获取信息。这种方法能获得更准确、实时的数据,但也更容易被发现(就像敲门可能惊动屋里的人)。
在主动信息收集部分,我们将探索这些常见的“敲门”技术,由于篇幅不宜过长,本文详细介绍DNS枚举的基础部分,其他内容将在后续文章介绍:
-
🔍 端口扫描: 摸清目标开了哪些“门”(端口)。
-
Netcat: 网络界的“瑞士军刀”,功能强大,手动扫描的利器。
-
Nmap: 端口扫描的“王者”,功能全面强大,是渗透测试的标配。
-
-
📂 服务枚举: 不仅知道门开了,还要看看门后是谁、有什么。
-
DNS枚举: 挖掘域名和IP地址背后的秘密信息(主机名、邮件服务器等)。
-
SMB枚举: 探查Windows文件共享的宝藏(共享目录、用户、组等)。
-
SMTP枚举: 通过邮件服务器发掘有效用户账号。
-
SNMP枚举: 获取网络设备(路由器、交换机等)的丰富配置信息。
-
-
🤫 Living off the Land (LotL) 技术: 最隐蔽的“潜伏”方式!
什么是神秘的“Living off the Land”? 🤔
想象两种渗透测试场景:
自带装备:“背着我自己的Kali笔记本进场,
Nmap
、Metasploit
应有尽有,扫描探测So Easy!” ✅限制入场: “客户只允许使用他们提供的标准Windows工作站。我的‘神兵利器’都带不进来,怎么办?” ❌
“Living off the Land” (LotL) 就是解决 第二种 困境的绝妙策略! 它的精髓在于:
就地取材: 不依赖外部工具,而是巧妙利用目标系统上已有的、合法的程序和功能。
伪装大师: 这些程序 (
calc.exe
,powershell.exe
,bitsadmin.exe
,certutil.exe
等等) 都是系统自带的、受信任的,它们的行为通常不会触发安全警报,让攻击者(或测试者)能更好地隐藏踪迹。“LOLBins” / “LOLBAS”: 这些被利用的“良民”程序有个响亮的江湖称号!
LOLBins: Living Off the Land Binaries (二进制文件)。
LOLBAS: Living Off the Land Binaries And Scripts (范围更广,包含二进制文件、脚本如
.vbs
,.js
,.ps1
以及库.dll
等)。简单说: LotL就是在受限环境下(特别是只有标准Windows机器时),化身“系统原住民” 🧙,利用系统自带、管理员信任的工具(LOLBins/LOLBAS)来完成信息收集、横向移动、权限提升甚至执行恶意代码等高阶操作,达到“大隐隐于市”的效果。
1.4.1 DNS枚举
1.4.1.1 DNS解析流程
想知道一个组织的“数字门牌号”和“内部通讯录”吗?DNS枚举就是你的钥匙!它通过向域名系统 (DNS) 这个全球分布式“数据库”发起查询,挖掘域名、IP地址、主机名、邮件服务器等关键信息,帮你绘制目标网络的“地图”。
DNS是什么?互联网的“地址簿” 📖
想象DNS是一个超级庞大的、分层管理的地址簿(数据库)。它的核心任务就是把好记的域名 (www.example.com) 翻译成机器认的IP地址 (192.0.2.1)。这个“地址簿”分成不同区域,由不同的“接线员”(DNS服务器)管理。
DNS域名解析过程大致流程如下(下图不含 本地缓存检查 过程):
当客户端(如您的浏览器)需要访问 www.baidu.com
时,其 IP 地址的查找遵循一套分层查询机制,优先利用本地缓存,未命中时才进行完整的递归查询:
阶段一:本地解析 (优先检查缓存)
-
浏览器缓存检查:
浏览器首先检查自身维护的 DNS 缓存(容量小,约1000 条;有效期短,约1分钟)。
✅ 命中缓存:若找到 www.baidu.com 的有效记录,直接使用其 IP 地址,解析结束。
❌ 未命中:则转向操作系统查询。 -
操作系统缓存检查 & Hosts 文件解析:
① 操作系统检查其 DNS 解析器缓存(缓存时间更长,受记录 TTL 和系统策略控制)。
✅ 命中系统缓存:使用缓存结果,解析结束。
❌ 未命中:则转向Hosts文件查询。
② Hosts 文件强制解析:
✅ 若hosts
中存在www.baidu.com
的条目,操作系统将强制使用该条目指定的 IP 地址,解析结束。
无论操作系统缓存是否存在,操作系统必定会查询hosts
文件(Linux:/etc/hosts
; Windows:C:\Windows\System32\drivers\etc\hosts
)。
❌ 均未命中:解析任务被委托给本地 DNS 服务器 (LDNS)(通常由 ISP 提供或用户手动配置,如8.8.8.8
)。
阶段二:递归查询 (由 LDNS 执行)(上图 流程图 内容)
-
LDNS 缓存查询:
LDNS 首先查询自身庞大的缓存记录。
✅ 命中 LDNS 缓存:LDNS 直接将 IP 地址返回给客户端,解析结束。
❌ 未命中:LDNS 代表客户端发起完整的递归查询。 -
查询根 DNS 服务器:
LDNS 向 根 DNS 服务器 询问www.baidu.com
的 IP。
根服务器回复:不直接提供 IP,但告知负责.com
域的 顶级域 (TLD) 服务器 地址列表。 ➡️ -
查询 .com TLD 服务器:
LDNS 向 .com TLD 服务器 询问www.baidu.com
的 IP。
TLD 服务器回复:不直接提供 IP,但告知负责baidu.com
域的 权威 DNS 服务器 地址。 ➡️ -
查询权威 DNS 服务器:
LDNS 向baidu.com
的权威 DNS 服务器 发出最终查询。
✅ 权威服务器回复:在其管理的区域数据中找到www.baidu.com
记录,返回对应的 IP 地址给 LDNS。 ➡️ -
LDNS 缓存并应答:
LDNS 将获得的 IP 地址记录缓存(根据记录中的 TTL 设定有效期)。
✅LDNS 将 IP 地址返回给原始请求的客户端(浏览器)。
阶段三:客户端连接
-
客户端获取 IP:
② 客户端使用该 IP 地址发起与目标服务器的 HTTP/HTTPS 连接,访问网站。
① 客户端(浏览器)收到 LDNS 返回的www.baidu.com
的 IP 地址。
1.4.1.2 DNS记录类型
-
📍 NS记录 (Name Server - 名称服务器记录)
-
作用: 指明谁是这片区域(域)的“权威接线员” (哪个DNS服务器负责管理这个域的所有记录)。问它准没错!
-
比喻: 就像查一个公司的总机号码,告诉你该打哪个电话(联系哪个DNS服务器)去查这个公司(域)的具体信息。
-
关键点:找到“权威答案”的来源!
-
-
📞 A记录 (Address - IPv4地址记录)
-
作用: 直接告诉你某个主机名(子域名)对应的IPv4地址。最基础、最常用!
-
比喻: 直接查个人分机号。输入朋友名字(
www.example.com
),电话簿(DNS)直接告诉你他的座机号(192.0.2.1
)。 -
关键点:主机名 → IPv4地址的直达车!
-
-
📞📞 AAAA记录 (Quad A - IPv6地址记录)
-
作用: 和A记录一样,但告诉你的是IPv6地址。
-
比喻: 查同一个朋友的新式手机号(IPv6格式更长)。
-
关键点:主机名 → IPv6地址的直达车!
-
-
✉️ MX记录 (Mail eXchanger - 邮件交换记录)
-
作用: 指明负责接收这个域邮件的“邮局”服务器IP地址。一个域可以有多个MX(主备邮局)。
-
比喻: 查公司的专用邮箱地址/邮筒位置 (
mail.example.com
)。你想给user@example.com
发信,就得知道信该送到哪个邮局(MX服务器的IP地址)。 -
关键点:邮件往哪里送?
-
-
🔄 PTR记录 (PoinTeR - 指针记录)
-
作用: 反向查询! 给你一个IP地址,它告诉你这个IP地址对应的域名/主机名是什么。主要用在“反向DNS查询区域”。
-
比喻: 反向电话簿! 你看到一个陌生号码(IP地址)打进来,用PTR查一下,就能知道是谁(域名/主机名)打的。
-
关键点:IP地址 → 域名/主机名,反向追踪!
-
-
🎭 CNAME记录 (Canonical NAME - 规范名称记录)
-
作用: 给一个域名起“别名”。它不直接指向IP,而是指向另一个域名(A或AAAA记录的那个)。
-
比喻: 昵称 或 公司部门分机! 比如
shop.example.com
是store-online.example.com
的别名(CNAME)。打shop
这个分机(访问shop.example.com
),实际会转接到store-online
这个部门(store-online.example.com
)。 -
关键点:别名指向真名,灵活重定向!
-
-
📝 TXT记录 (TeXT - 文本记录)
-
作用: 一个万能便签条!可以存放任意文本信息。常用作:
-
域名所有权验证 (证明这个域名是我的)。
-
SPF记录 (防垃圾邮件策略,声明哪些邮件服务器可以代表这个域发信)。
-
DKIM/DMARC记录 (更高级的邮件安全验证)。
-
其他任意说明信息。
-
-
比喻: 贴在域名旁边的公告栏或备忘录,上面写着各种验证码、规则说明或通知。
-
关键点:存放验证信息和安全策略的“公告板”!
-
-
🚕 SRV记录 (SeRVice - 服务定位记录) - “高级导航仪”
-
作用: 精准定位特定服务在哪里运行! 它不仅告诉你服务器地址,还告诉你端口号,甚至能实现负载均衡(多个服务器分担压力)和动态服务发现(服务搬家了客户端也能找到)。
-
应用场景: 即时通讯 (XMPP/SIP)、游戏服务器、某些企业应用等需要明确知道服务端口和位置的情况。
-
SRV记录结构解析 (就像叫车服务):
-
_service._protocol.name.
:你要什么服务 (_sip
),用什么协议 (_tcp
),在哪个公司/域名 (example.com.
)? -
TTL
:信息有效期 (缓存多久)。 -
class
:通常是IN
(互联网)。 -
SRV
:记录类型名称是SRV。 -
priority
(优先级 0-65535): 数字越小越优先!像医院急诊分诊,情况危急(优先级高)的先处理。 -
weight
(权重 0-65535): 优先级相同时,数字越大,分配流量越多。像几个能力相当的医生,谁今天状态好(权重高)就多看点病人。 -
port
:服务运行的具体门牌号(端口) (如:5060)。 -
target
:提供服务的服务器主机名 (如sipserver.example.com.
)。
-
-
示例详解(以下是一个完整SRV记录示例):
_sip._tcp.example.com. 3600 IN SRV 10 60 5060 sipserver.example.com.
-
查询: 找
example.com
公司提供的、基于TCP
协议的SIP
语音服务。 -
缓存: 3600秒 (1小时)。
-
优先级:
10
(较高,会被优先选择)。 -
权重:
60
(如果还有其他优先级为10的服务器,它会被分配相对较多的流量)。 -
端口:
5060
(SIP服务标准端口)。 -
目标服务器:
sipserver.example.com.
(去这里找服务)。
-
-
关键点:精准定位服务位置 + 端口 + 负载均衡策略!
-
1.4.1.3 为什么要进行DNS枚举
1. 绘制「暴露地图」
-
揪出所有门牌号:
A/AAAA
记录 → 找到公网IP(主机在哪)🕵️♀️ -
发现隐藏后门:
CNAME/NS
记录 → 挖出子域名(admin.xxx.com
、vpn.xxx.com
) -
锁定核心据点:
MX
(邮件服务器)、SRV
(数据库/LDAP等)→ 高价值目标一键定位!
2. 破解网络「系统架构」
-
记录连连看:
-
NS
记录 → 看出用阿里云还是自建DNS?🧩 -
CNAME
链 → 追踪别名找到真身服务器 -
MX
指向的域名 → 推测邮件是外包还是自营?
-
-
子域名暗藏玄机:
corp.xxx.com
(总部)、dev.xxx.com
(测试站)→ 部门/业务尽收眼底!
3. 锁定攻击「入口点」
-
暴露=风险! 发现的每个IP和域名,都是黑客的「敲门砖」🚪
-
重点标记:邮件服务器(
MX
)、VPN入口(vpn.xxx.com
)、数据库(SRV
)→ 精准打击清单! -
遗忘的旧服务器?往往是漏洞最多的「后门」😈
4. 解密「藏宝图」
-
TXT
记录别放过! 可能藏着:-
📮 邮件防伪密码本(
SPF/DKIM
) -
🔑 云服务验证码、内部配置留言
-
💣 甚至…管理员手滑留下的密钥!(真实案例!)
-
💡 掌握这套「侦探工具箱」,你也能从DNS里拼出:
攻击路线图(红队)| 防御薄弱点(蓝队)| 失控资产清单(运维)
——几条DNS命令,情报尽在手中! 💻⚡
1.4.1.4 查询 A 记录:域名 → IP
想知道一个网站(域名)背后的服务器 IP 地址是什么吗?
A记录
!使用 host
命令时,默认查询的就是 A记录
,所以查询网站的 IP 非常简单,直接输入域名就行:
📝 举个栗子:
$ host www.megacorpone.com
📝 看看结果长啥样:
www.megacorpone.com has address 149.56.244.87
💡 小贴士: 命令行不用特意加
-t A
,因为host
默认就找A记录
!
1.4.1.5 查询 MX 记录:找邮件服务器
想给某个域名(比如 @megacorpone.com
)发邮件? 你需要知道它的邮件服务器在哪里!这就是 MX记录
的用武之地。这时就需要用到 -t
选项来明确指定查询的记录类型了:
$ host -t mx megacorpone.com
📝 看看结果长啥样:
megacorpone.com mail is handled by 10 fb.mail.gandi.net. # 🚀 优先级最高!
megacorpone.com mail is handled by 20 mail.megacorpone.com.
megacorpone.com mail is handled by 50 alt1.aspmx.l.google.com.
megacorpone.com mail is handled by 60 alt2.aspmx.l.google.com.
🔑 关键点解析:
-
-t mx
: 核心选项! 告诉host
命令:“嘿,我要查的是邮件交换记录 (MX
),别查错了!” -
优先级数字 (e.g.,
10
,20
,50
,60
):-
数字越小,优先级越高! ⚠️ 这是重点!
-
想象成医院的急诊分级:数字小的(如
10
)是“一级优先”,最先处理。 -
发往
@megacorpone.com
的邮件,会优先尝试发送给优先级为10
的服务器fb.mail.gandi.net
。 -
如果
10
的服务器忙或不可用,才会尝试下一个优先级20
的服务器mail.megacorpone.com
,依此类推。 -
50
和60
的服务器(Google 的)通常是备用服务器。
-
💡 小贴士: 一个域名通常有多个 MX 记录提供冗余保障,但真正处理邮件时,
优先级最低(数字最小)
的那个服务器会最先被使用!
1.4.1.6 查询 TXT 记录:发现隐藏信息
想知道域名背后的秘密信息? TXT记录
就是你的解密钥匙!它能存储各种验证信息、安全策略甚至公司联系方式:
$ host -t txt megacorpone.com
📝 查询结果示例:
megacorpone.com descriptive text "v=spf1 include:_mailcust.gandi.net ?all" # 邮件验证记录
megacorpone.com descriptive text "google-site-verification=ABCDE12345" # 网站所有权验证
💡 重要用途:
SPF记录:防止垃圾邮件伪造(上例中的
v=spf1...
)域名验证:证明网站所有权(Google/Bing等验证)
安全策略:DMARC/DKIM等邮件安全配置
区块链验证:加密货币钱包地址验证
最后别忘了~点赞、关注、收藏、分享~
您的支持是我创作最大的动力!
老惯例:欣赏欣赏艺术~