首页
社区
课程
招聘
[翻译]利用WPN与ROP绕过DEP保护机制
发表于: 2010-8-27 15:10 27474

[翻译]利用WPN与ROP绕过DEP保护机制

2010-8-27 15:10
27474

作者:Sud0
译者:riusksk (泉哥:http://riusksk.blogbus.com)

前言
对于本教程,假设读者具备以下条件:
1. 在电脑拥有各项所需工具的实验环境;
2. 具备编写栈溢出利用程序的基础;
3. 掌握SEH概念及利用SEH编写exploit的基础知识。

基础概念
DEP(Data Execution Prevention):防止一些内存位置执行代码的一种保护机制,特别是堆栈,因此在windows中利用栈返回技术攻击溢出的方法已不再适用了。
ROP(Return Oriented Programming):连续调用程序代码本身的内存地址,以逐步地创建一连串欲执行的指令序列。
WPM(Write Process Memory):利用微软在kernel32.dll中定义的函数比如:WriteProcess Memory函数可将数据写入到指定进程的内存中。但整个内存区域必须是可访问的,否则将操作失败。函数原型:
WriteProcessMemory: procedure
(
        hProcess: dword;
        // Handle to the process whose memory is to be modified
        var lpBaseAddress: var;
        // Pointer to the base address in the specified process to which data will be written
        var lpBuffer: var;
        // Pointer to the buffer that contains data to be written into the address space of the specified process
        nSize: dword;
        // Specifies the requested number of bytes to write into the specified process
        var lpNumberOfBytesWritten: dword
        // Pointer to a variable that receives the number of bytes transferred.
);

目标
我们的目标是利用ROP技术来调用WPM,以便将shellcode写入地址0x7C8022CF,这样当从ntdll.ZwWriteVirtualMemory函数中返回时可正确地执行shellcode。
……
具体内容参见附件:
利用WPN与ROP绕过DEP保护机制.doc


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (24)
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
2
冒似发错版块了,麻烦版主移到翻译版块,谢谢!
2010-8-27 15:13
0
雪    币: 75
活跃值: (733)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
我顶
2010-8-27 15:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hyq
4
不错,学习了
2010-8-27 18:29
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
好文章,我顶!!!
2010-8-30 12:09
0
雪    币: 363
活跃值: (338)
能力值: ( LV15,RANK:310 )
在线值:
发帖
回帖
粉丝
6
顶!泉哥能不能推荐几个英文技术文章?我也想翻译些文章学习下!
2010-8-30 18:56
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
7
BlackHat USA 2010:
http://blackhat.com/html/bh-us-10/bh-us-10-archives.html
2010-8-30 20:00
0
雪    币: 363
活跃值: (338)
能力值: ( LV15,RANK:310 )
在线值:
发帖
回帖
粉丝
8
谢谢泉哥!
2010-8-31 16:08
0
雪    币: 363
活跃值: (338)
能力值: ( LV15,RANK:310 )
在线值:
发帖
回帖
粉丝
9
发现上面的文章都很高深!刚开始翻译,翻译起来有点困难!泉哥还有没有其他的网站推荐下?
2010-9-3 22:07
0
雪    币: 95
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
顶一个,谢谢lz
2010-9-4 08:50
0
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习了。继续拜读!
2010-9-28 05:26
0
雪    币: 284
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
该死泉哥整天翻译这些,搞点实际的
2010-9-29 09:01
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
13
实际的自己搞就行了!!!
不过老外出的exploit基本都不能在我们的系统上运行,都得自己重新写exploit,但方法基本都那样了,自己编写自已系统上的可用exploit 就行了,这个月我也基本都在写exploit。
哥还没见你搞点东西让俺们这些小菜学习呢,总是扔张图,搞得那么神秘!!!!!!!!
2010-9-29 11:22
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
14
ROP搞起来要死比较多脑细胞
2010-9-30 00:25
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
15
那些地址不好找啊,还好出了个"!pvefindaddr rop nonull"可以辅助查找,不然死得更多!
寻找并构造那些指令,真的可以把大脑搞到死循环了
2010-9-30 09:22
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
16
构造参数更难啊,看起来就像是在看天书
郁闷的很
2010-10-10 18:16
0
雪    币: 181
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
好文章,学习了
2010-10-11 17:00
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
r大,为啥"!pvefindaddr rop 在我这里一运行就假死状态~ 系统配置低? 你们有没有碰到类似情况
2010-10-12 00:10
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
19
不是假死,它要搜索整个内存数据,需要较长时间,你放着就行,搜索完成后直接查看日志(按菜单上的"L"图标)就可以,日志中会给出提示,它会把结果保存在rop.txt文件中
2010-10-12 12:26
0
雪    币: 563
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
收下了
2010-10-13 10:06
0
雪    币: 240
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
关于ShellCode的布局:
第一次:
my $buffer = “A” x 4436 . “\x2F\x37\x01\x10” . “A” x 10000;
第二次:
my $buffer = “A” x 280 . “\x01\x00\x00\x00” . “B” x (4436 – 280) . “\x2F\x37\x01\x10” . “A” x 10000;

第二次是不是应该是
my $buffer = “A” x 280 . “\x01\x00\x00\x00” . “B” x (4436 – 280 - 4) . “\x2F\x37\x01\x10” . “A” x 10000;
2010-10-13 23:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
好文章,好思路,谢了!
2010-10-22 10:40
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
好文章,收藏了。
2011-1-7 10:09
0
雪    币: 175
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
谢谢,下载了,准备看看
2011-2-26 23:52
0
雪    币: 125
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
学习下,顺便看看有多少钱
2011-3-1 22:11
0
游客
登录 | 注册 方可回帖
返回
//