dig-DNS解析工具
dig(Domain Information Groper)是 Linux 下最常用的 DNS 查询工具。
它的作用类似于:
1 | nslookup |
但功能比 nslookup 强得多。
可以用来:
- 查询域名解析记录
- 查询DNS服务器
- 查询子域名
- 调试DNS问题
- 发现云资产
- 验证CDN
- 进行信息收集
在云安全和CTF中,经常用它来:
1 | 枚举资产 |
Ubuntu安装:
1 | sudo apt update |
验证安装:
1 | dig -v |
直接开始使用
最简单的查询
1 | ubuntu@ip-172-31-37-19:~$ dig baidu.com |
- 头部信息 (HEADER)
opcode: QUERY:操作是标准查询。status: NOERROR:成功,没有错误。id: 12345:这次查询的编号。
- 问题区 (QUESTION SECTION)
;baidu.com. IN A:你问的问题是“查询baidu.com的A记录(IPv4地址)”。
- 答案区 (ANSWER SECTION)
baidu.com. 600 IN A 39.156.66.10:核心答案。600:TTL(缓存时间),600秒。A:记录类型,IPv4地址。39.156.66.10:查询到的IP地址。
- 统计信息 (Footer)
Query time: 8 msec:耗时8毫秒。SERVER: 223.5.5.5#53:谁回答了你的问题(这里是阿里云DNS,说明你用的是阿里公共DNS,不是本地缓存)。
| DNS记录类型 | 作用 | 通俗理解 | 示例 |
|---|---|---|---|
| A | 域名 → IPv4 地址 | 告诉你去哪台服务器 | baidu.com → 39.156.66.10 |
| AAAA | 域名 → IPv6 地址 | A 记录的 IPv6 版本 | → 2001:db8::1 |
| CNAME | 域名 → 另一个域名 | 起外号/跳转 | www.baidu.com → baidu.com |
| MX | 邮件服务器地址 | 你的邮件该寄到哪 | @gmail.com → aspmx.l.google.com |
| TXT | 纯文本信息 | 存各种验证信息、SPF、DKIM | v=spf1 include:_spf.google.com ~all |
| NS | 域名的 DNS 服务器 | 谁负责管这个域名的解析 | baidu.com → ns1.baidu.com |
| PTR | IP → 域名(反向查询) | A 记录的逆向 | 39.156.66.10 → baidu.com |
| SOA | 权威 DNS 服务器信息 | 域名的“出生证明”,记录谁负责、版本等 | - |
+short参数
实际工作最常用。
普通:
1 | dig baidu.com |
输出几十行。
简洁:
1 | dig baidu.com +short |
结果:
1 | 39.156.66.10 |
脚本里大量使用。
指定DNS服务器查询
默认:
1 | 使用系统DNS |
例如:
1 | cat /etc/resolv.conf |
指定DNS:
1 | dig @8.8.8.8 baidu.com |
或者:
1 | dig @1.1.1.1 baidu.com |
意思:
1 | 直接问Google DNS |
或者:
1 | 直接问Cloudflare DNS |
在CTF里经常用于绕过污染。
常用公共 DNS 服务器列表
| DNS 服务器 | IP 地址 | 运营方 | 特点 |
|---|---|---|---|
| Google Public DNS | 8.8.8.8 / 8.8.4.4 |
8.8.8.8 | 全球最快之一,无劫持,有EDNS支持 |
| Cloudflare DNS | 1.1.1.1 / 1.0.0.1 |
Cloudflare | 主打隐私保护,速度极快,支持DNS over TLS/HTTPS |
| Quad9 | 9.9.9.9 / 149.112.112.112 |
Quad9 | 安全加固,会拦截已知恶意域名 |
| 阿里 DNS | 223.5.5.5 / 223.6.6.6 |
阿里巴巴 | 国内解析快,适合国内用户 |
| 114 DNS | 114.114.114.114 / 114.114.115.115 |
114 | 国内老牌,稳定,但有一定劫持争议 |
| OpenDNS | 208.67.222.222 / 208.67.220.220 |
Cisco | 有家长控制和钓鱼拦截功能 |
| DNSPod | 119.29.29.29 |
腾讯 | 国内解析快,适合国内用户 |
+trace 原理
这个是学习DNS最有价值的参数。
1 | dig baidu.com +trace |
会看到:
1 | 根服务器 |
流程类似:
1 | . |
这就是DNS递归解析全过程。
云安全面试经常问:
DNS解析过程是什么?
直接跑一遍:
1 | dig 域名 +trace |
就能看明白。
反向解析
已知IP找域名:
1 | dig -x 8.8.8.8 |
结果:
1 | dns.google |
云安全常用:
1 | 发现服务器真实用途 |
git-dumper
用于拉取远端的完整git,在本地查看
1 | pip install git-dumper |
使用
1 | git-dumper http://<目标IP>:<端口>/.git/ ./dumped_source |
这样就拉去到了本地的dumped_source上
trufflehog
TruffleHog 是一款用于发现、验证和分析泄露凭据的开源安全工具。它的核心优势在于能深入 Git 提交历史查找秘密,并主动调用相关 API 验证凭据是否真实有效,从而大幅减少误报。
安装
1 | curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sudo sh -s -- -b /usr/local/bin |
使用
扫描git仓库
1 | trufflehog git https://github.com/your-org/your-repo.git |
仅显示已验证的凭据
1 | trufflehog git file:///path/to/local/repo --only-verified |
扫描本地文件系统
1 | trufflehog filesystem /path/to/scan |
扫描 GitHub 组织
1 | trufflehog github --org=your-org-name --token=YOUR_GITHUB_TOKEN |
你需要提供一个有权限访问该组织仓库的 GitHub Token