一、DNS
1. 域名层次结构
- 树状
- 每个节点:域、子域
- 根域、顶级域、二级域
2. 区域
- DNS区域仅包含域的一部分DNS数据
- 一个域 被划分子域的时候,他们的DNS数据仍然可以放在同一个区域中,因此域和区域仍相同
- 子域可以有自己的区域
3. 权威名称服务器
- 每个DNS区域至少有一个 权威域名服务器
- 发布有关该区域的信息
- DNS查询的原始、最终答案
4. 根服务器
- root
- 13个
- 提供TLD的名称服务信息
- DNS查询的起点
5. 顶级域TLD
- 基础结构
.arpa
- 通用:
.com
.net
- 赞助:
.edu
.gov .mil .travel .jobs - 国家代码:.au .cn. fr
- 保留:.example .test .localhost .invalid
6. 本地DNS文件
7. 递归、迭代
8. DNS缓存
- 当本地DNS服务器从其他服务器获取信息时,会缓存该信息
- 缓存中的每一条信息都有一个生存时间值,超过后从缓存中删除
二、Local DNS attack
1. 起环境
2. 测试DNS配置
dig ns.attacker32.com
dig www.example.com
dig @ns.attacker32.com www.example.com
task1 直接欺骗用户
task2 DNS缓存中毒
- 清除缓存
- 修改iface 运行
- dig www.example.com查看返回信息
task3 Spoofing NS Records
task4 Spoofing NS Records for Another Domain
task5 Spoofing Records in the Additional Section
- 发现成功添加附加信息,但同时发现server中只留下了和权威服务器有关的IP
- www.facebook.com 并没有被留下来
- 这是由于addtional中的记录只有与authority中匹配,dns缓存在会将其收入到dns缓存
三、remote attack lab
1. 配环境
dcbuild
dcup
2. 进用户容器
dockps
Task 2: Construct DNS request
Task 3: Spoof DNS Replies
Task 4: Launch the Kaminsky Attack
Task 5: Result Verification