云安全工具(持续更新

dig-DNS解析工具

dig(Domain Information Groper)是 Linux 下最常用的 DNS 查询工具。

它的作用类似于:

1
nslookup

但功能比 nslookup 强得多。

可以用来:

  • 查询域名解析记录
  • 查询DNS服务器
  • 查询子域名
  • 调试DNS问题
  • 发现云资产
  • 验证CDN
  • 进行信息收集

在云安全和CTF中,经常用它来:

1
2
3
4
枚举资产
寻找真实IP
发现隐藏域名
分析云厂商配置错误

Ubuntu安装:

1
2
sudo apt update
sudo apt install dnsutils

验证安装:

1
2
dig -v
DiG 9.18.24

直接开始使用

最简单的查询

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ubuntu@ip-172-31-37-19:~$ dig baidu.com

; <<>> DiG 9.20.18-1ubuntu2.1-Ubuntu <<>> baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16423
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;baidu.com. IN A

;; ANSWER SECTION:
baidu.com. 149 IN A 124.237.177.164
baidu.com. 149 IN A 110.242.74.102
baidu.com. 149 IN A 111.63.65.103
baidu.com. 149 IN A 111.63.65.247

;; Query time: 2 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Mon Jun 01 07:28:09 UTC 2026
;; MSG SIZE rcvd: 102
  1. 头部信息 (HEADER)
  • opcode: QUERY:操作是标准查询。
  • status: NOERROR:成功,没有错误。
  • id: 12345:这次查询的编号。
  1. 问题区 (QUESTION SECTION)
  • ;baidu.com. IN A:你问的问题是“查询 baidu.com 的 A 记录(IPv4地址)”。
  1. 答案区 (ANSWER SECTION)
  • baidu.com. 600 IN A 39.156.66.10:核心答案。
    • 600:TTL(缓存时间),600秒。
    • A:记录类型,IPv4地址。
    • 39.156.66.10:查询到的IP地址。
  1. 统计信息 (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
2
3
4
5
6
7
根服务器
↓
.com服务器
↓
baidu.com权威DNS
↓
最终结果

流程类似:

1
2
3
4
5
6
7
8
.
├── root
│
└── com
│
└── baidu.com
│
└── www.baidu.com

这就是DNS递归解析全过程。

云安全面试经常问:

DNS解析过程是什么?

直接跑一遍:

1
dig 域名 +trace

就能看明白。

反向解析

已知IP找域名:

1
dig -x 8.8.8.8

结果:

1
dns.google

云安全常用:

1
发现服务器真实用途

git-dumper

用于拉取远端的完整git,在本地查看

1
2
pip install git-dumper
git-dumper --help

使用

1
git-dumper http://<目标IP>:<端口>/.git/ ./dumped_source

这样就拉去到了本地的dumped_source上

trufflehog

TruffleHog 是一款用于发现、验证和分析泄露凭据的开源安全工具。它的核心优势在于能深入 Git 提交历史查找秘密,并主动调用相关 API 验证凭据是否真实有效,从而大幅减少误报。

安装

1
2
curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sudo sh -s -- -b /usr/local/bin
trufflehog --version

使用

扫描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

Contents