Linux(x86) Exploit 系列
2017-03-21 23:40
260 查看
最近发现了一个不错的外国博客,准备将博客中Linux (x86) Exploit Development Series这个系列搬运过来。
ASLR:
在计算机科学中,地址空间配置随机加载(英语:Address space layout randomization (ASLR)),又称为地址空间布局随机化,是指利用随机方式配置数据地址。一般现代操作系统中都加设这一机制,以防范恶意程序对已知地址进行攻击。
Stack Canary:
CANARY(栈溢出保护)是一种缓冲区溢出攻击缓解手段。
当启用栈保护后,函数开始执行的时候会先往栈里插入cookie信息,当函数真正返回的时候会验证cookie信息是否合法,如果不合法就停止程序运行。攻击者在覆盖返回地址的时候往往也会将cookie信息给覆盖掉,导致栈保护检查失败而阻止shellcode的执行。在Linux中我们将cookie信息称为canary。
NX:
NX位(全名“No eXecute bit”,即“禁止执行位”),是应用在CPU中的一种安全技术。
PIE:
一般情况下NX和地址空间分布随机化会同时工作。在linux下内存空间随机化被称作PIE。
Classic Stack Based Buffer Overflow
Integer Overflow
Off-By-One (Stack Based)
Bypassing NX bit using chained return-to-libc
Bypasing ASLR
Part I using return-to-plt
Part II using brute force
Part III using GOT overwrite and GOT dereference
Heap overflow using Malloc Maleficarum
Off-By-One (Heap Based)
Use After Free
Level 1: Basic Vulnerabilities
这个部分需要关闭一些安全机制( ASLR, Stack Canary, NX 和PIE)ASLR:
在计算机科学中,地址空间配置随机加载(英语:Address space layout randomization (ASLR)),又称为地址空间布局随机化,是指利用随机方式配置数据地址。一般现代操作系统中都加设这一机制,以防范恶意程序对已知地址进行攻击。
Stack Canary:
CANARY(栈溢出保护)是一种缓冲区溢出攻击缓解手段。
当启用栈保护后,函数开始执行的时候会先往栈里插入cookie信息,当函数真正返回的时候会验证cookie信息是否合法,如果不合法就停止程序运行。攻击者在覆盖返回地址的时候往往也会将cookie信息给覆盖掉,导致栈保护检查失败而阻止shellcode的执行。在Linux中我们将cookie信息称为canary。
NX:
NX位(全名“No eXecute bit”,即“禁止执行位”),是应用在CPU中的一种安全技术。
PIE:
一般情况下NX和地址空间分布随机化会同时工作。在linux下内存空间随机化被称作PIE。
Classic Stack Based Buffer Overflow
Integer Overflow
Off-By-One (Stack Based)
Level 2: Bypassing Exploit Mitigation Techniques
Bypassing NX bit using return-to-libcBypassing NX bit using chained return-to-libc
Bypasing ASLR
Part I using return-to-plt
Part II using brute force
Part III using GOT overwrite and GOT dereference
Level 3: Heap Vulnerabilities
Heap overflow using unlinkHeap overflow using Malloc Maleficarum
Off-By-One (Heap Based)
Use After Free
相关文章推荐
- Linux (x86) Exploit 开发系列教程之十一 Off-By-One 漏洞(基于堆)
- Linux (x86) Exploit 开发系列教程之七 绕过 ASLR -- 第二部分
- Linux (x86) Exploit 开发系列教程之六(绕过ASLR - 第一部分)
- SploitFun Linux x86 Exploit 开发系列教程
- Linux (x86) Exploit 开发系列教程之九 使用 unlink 的堆溢出
- Linux (x86) Exploit 开发系列教程之十二 释放后使用
- Linux (x86) Exploit 开发系列教程之十 使用 Malloc Maleficarum 的堆溢出
- Linux (x86) Exploit 开发系列教程之八 绕过 ASLR -- 第三部分
- linux 内核源代码情景分析——Intel X86 CPU 系列的寻址方式
- 栈溢出攻击系列:shellcode在linux x86 64位攻击获得root权限(一)函数如何执行
- Linux x86 Dropbear SSH <= 0.34 remote root exploit
- 栈溢出攻击系列:shellcode在linux x86 64位攻击获得root权限(二)shellcode
- 栈溢出攻击系列:shellcode在linux x86 64位攻击获得root权限(七)利用寄存器攻击
- 栈溢出攻击系列:shellcode在linux x86 64位攻击获得root权限(六)固定地址的栈溢出攻击
- boadcom x86_64 431*系列无线网卡驱动在linux 3.10以上内核编译问题的解决
- 栈溢出攻击系列:shellcode在linux x86 64位攻击获得root权限(五)栈溢出原理
- 栈溢出攻击系列:shellcode在linux x86 64位攻击获得root权限(四)linux下进程内存布局
- Linux 2.6.x fs/pipe.c local kernel root(kit?) exploit (x86)
- 栈溢出攻击系列:shellcode在linux x86 64位攻击获得root权限(三)linux下进程中的多用户
- unix&linux系列三:anti-backdoor by irunnet.com