1、山 东 大 学学 生 实 验 报 告学 院: 计算机课程名称: 网络攻击与防范班级: 2013学 号:姓 名:学 生 实 验 报 告 (三 )学 生 姓 名 学 号 同 组 人 :实 验 项 目 Remote DNS Cache PoisoningAttack Lab 必 修 选修 演 示 性 实 验 验 证 性 实 验 操 作 性 实 验 综合 性 实 验实 验 地 点 实 验 楼 410 实 验 仪 器 台 号指 导 教 师 实 验 日 期 及 节次 2016.5.20一 、 实 验 描 述【 实 验 背 景 】缓 存 中 毒 攻 击 者 ( cache poisoning) 给 DNS
2、服 务 器 注 入 非 法 网 络 域名 地 址 , 如 果 服 务 器 接 受 这 个 非 法 地 址 , 那 说 明 其 缓 存 就 被 攻 击 了 , 而且 以 后 响 应 的 域 名 请 求 将 会 受 黑 客 所 控 。 攻 击 的 主 要 目 的 是 攻 击 者 用 A的 域 名 重 定 向 用 户 到 另 一 个 机 器 A, 通 过 仿 照 非 常 相 像 的 网 址 , 实 现 攻击 。 在 此 次 攻 击 中 , 用 户 用 dig 命 令 或 访 问 网 站 , 用 户 机 发 送 一 个 DNS请 求 到 本 地 的 DNS 服 务 器 , 本 地 服 务 器 像 被
3、攻 击 服 务 器 请 求 IP 地 址 。攻 击 的 目 的 是 加 载 本 地 DNScache, 当 用 户 访 问 网 站 时 , 本 地 DNS 停 止用 户 服 务 , 访 问 访 问 攻 击 者 命 名 的 服 务 器 , 得 到 IP 地 址 。 当 这 些 非 法地 址 进 入 服 务 器 缓 存 , 用 户 的 浏 览 器 或 者 邮 件 服 务 器 就 会 自 动 跳 转 到DNS 指 定 的 地 址 。 从 用 户 机 运 行 指 令 dig, 返 回 结 果 是 假 ip 地 址 。这 种 攻 击 往 往 被 归 类 为 域 欺 骗 攻 击 ( pharming at
4、tack) , 由 此 它 会导 致 出 现 很 多 严 重 问 题 。 首 先 , 用 户 往 往 会 以 为 登 陆 的 是 自 己 熟 悉 的 网站 , 而 它 们 却 并 不 是 。 与 钓 鱼 攻 击 采 用 非 法 URL 不 同 的 是 , 这 种 攻 击 使用 的 是 合 法 的 URL 地 址 。【 实 验 环 境 】两 台 虚 拟 机 是 使 用 相 同 的 Ubuntu 版 本 , 以 免 出 现 冲 突 虚 拟 机 使 用信 息 : VmwareLinux 版 本 信 息 : Ubuntu 12.04.2二 、 实 验 步 骤1、 准 备 工 作这 里 使 用 两 台
5、机 器 在 虚 拟 机 环 境 下 做 实 验 , 其 中 一 个 作 为 服 务 器 ;另 一 个 用 于 攻 击 , 攻 击 完 成 之 后 作 为 普 通 用 户 ; 我 们 把 两 台 主 机 放 在 同一 个 局 域 网 段 当 中 , 其 配 置 信 息 参 照 如 下 所 示 :虚 拟 机 编 号 ip 地 址 作 用Jxl1 192.168.137.146 攻 击 者Jxl2 192.168.137.141 普 通 用 户服 务 器 192.168.137.144 服 务 器首 先 进 行 服 务 器 机 器 的 配 置 , 下 载 bind9.10.4, 解 压 之 后 配
6、置configure 文 件 , 如 下 所 示 :进 行 安 装添 加 软 连 接配 置 /etc/bind/named.conf.options 文 件增 加 directory清 空 缓 存 , 开 启 服 务 器一 些 DNS 服 务 器 随 机 化 源 端 口 号 , 但 我 们 假 设 端 口 号 是 固 定 的 。 我们 可 以 设 置 所 有 DNS 请 问 端 口 号 为 33333。在 Apollo 的 文 件 /etc/bind/named.conf.options 添 加 如 下 选 项 :大 多 数 DNS 服 务 器 现 在 采 取 “ DNSSEC” 的 保 护
7、系 统 , 用 来 防 止DNScache 污 染 。 需 要 关 闭 此 服 务 。 注 释 dnssec-validation auto,添 加dnssec-enable no 即 可 , 操 作 如 下 :2.Cache 攻 击远 程 DNS 攻 击 中 的 机 器 处 在 不 同 的 LAN 上 , 因 为 ID 的 变 化 , DNS 询问 的 回 复 必 须 与 query pocket 中 的 一 样 。 因 为 query 中 的 ID 往 往 随 机分 配 , 没 有 query packet, 难 以 知 道 这 个 服 务 器 的 ID。 由 于 ID 只 有16 位 ,
8、 所 以 通 过 泛 洪 攻 击 可 以 确 定 具 体 的 ID。Kaminsky 攻 击 法 是 在 一 个 域 名 里 不 停 攻 击 DNS 服 务 器 , 因 为 不 用 等待 回 复 , 所 以 很 快 成 功 。实 验 原 理 与 步 骤 :1.攻 击 者 从 Apollo 服 务 器 请 求 一 个 不 存 在 的 名 字 , 如。2.因 为 Apollo 没 有 缓 存 , 所 以 向 域 名 发 送 询 问 。3.当 Apollo 等 待 回 复 时 , 攻 击 者 发 送 攻 击 流 , 尝 试 上 百 种 ID。 这 是 ,不 仅 攻 击 者 得 到 的 IP,
9、同 样 ip 被 看 做 是 的 域 名 。 如 果 匹 配 ID成 功 , Apollo 将 接 受 并 缓 存 攻 击 者 的 回 复 , 因 此Apollo 缓 存 被 污 染 。4.如 果 DNS 询 问 失 败 , 例 如 ID 没 有 匹 配 , 因 为 下 次 攻 击 者 名 字 不 同 ,Apollo 将 再 次 发 送 询 问 , 攻 击 者 再 次 攻 击 。5.攻 击 成 功 , 将 被 攻 击 者 的 服 务 器 替 换 , 为 了 证 实 成 功 ,Apollo 的 DNScache 将 显 示 记 录 。阅 读 udp.c 代 码 发 现 程 序 需 要 传 入
10、两 个 参 数 , 第 一 个 为 攻 击 者 的ip, 第 二 个 为 服 务 器 的 ip 地 址 , 运 行 之 后 程 序 将 自 行 发 送 query 和response。具 体 攻 击 过 程 如 下 :编 译 , 运 行 udp.c受 害 服 务 器 受 到 泛 洪 攻 击 , 查 看 机 器 的 wireshark 如 下 :攻 击 成 功 , cache 已 经 污 染 , 被 修 改 成 攻 击 者 的 网 址 。将 cache 导 入 dumpdb, 查 看发 现 攻 击 已 经 成 功3.结 果 确 认由 2 中 最 后 结 果 我 们 可 以 知 道 已 经 攻 击
11、 成 功 了 , 使 用 dig 命 令 可 以验 证 。 当 apollo 收 到 DNS 的 询 问 时 , apollo 搜 索 的 DNS记 录 , 并 发 现 。 因 此 , 服 务 器 发 送 DNS 请 求 给, 但 是 在 发 送 询 问 前 , 服 务 器 需 要 知 道 的 IP 地 址 , 但 的 域名 并 不 存 在 , apollo 发 现 后 将 设 置 这 个 IP 地 址 为 非 法 地 址 , 并 恢 复 缓存 污 染 。 这 是 需 要 用 另 一 个 记 录 提 供 的 IP地址 。 用 假 的 域 名 , 需 要 另 外 的 认 证 , 使 服 务
12、 器 将 的 IP地 址 认 做 真 实 的 地 址 , 将 的 IP 添 加 到受 害 服 务 器 中 的 DNS 配 置 文 件 中 , 因 此 服 务 器 不 需 要 询 问 并 不 存 在 的 域名 的 IP 的 地 址 。首 先 在 受 害 服 务 器 的 /etc/bind/named.conf.default-zones 文 件添 加 如 下 内 容 :创 建 文 件 /etc/bind/db.attacker, 添 加 如 下 内 容 , 其 中192.168.137.146 地 址 为 攻 击 者 的 ip 地 址接 下 来 在 192.168.153.138 中 的 /e
13、tc/bind/named.conf.local 文件 中 添 加 如 下 内 容 :创 建 文 件 /etc/bind/.db, 添 加 如 下 内 容 :运 行 dig 命 令 , cache 已 经 被 修 改 , 用 户 访 问 的 已 经 是 假 ip 地 址 ,服 务 器 已 经 被 修 改 , 证 明 完 成 。三 、 实 验 结 论在 此 次 实 验 中 , 我 了 解 了 DNS 攻 击 的 基 本 原 理 。 与 本 地 攻 击 不 同 的是 , 远 程 攻 击 由 于 ID 随 机 分 配 , 需 要 泛 洪 攻 击 , 所 以 增 加 了 实 验 的 难度 。 利 用 控 制 DNS 缓 存 服 务 器 , 把 原 本 准 备 访 问 某 网 站 的 用 户 在 不 知 不觉 中 带 到 黑 客 指 向 的 其 他 网 站 上 。 黑 客 可 现 缓 存 污 染 , 将 错 误 的 域 名 纪录 存 入 缓 存 中 , 从 而 使 所 有 使 用 该 缓 存 服 务 器 的 用 户 得 到 错 误 的 DNS 解析 结 果 。 因 为 DNS 协 议 自 身 的 设 计 实 现 问 题 , 几 乎 所 有 的 DNS 软 件 都 存在 这 样 的 问 题 。