EBOOK - Buffer Overflow Attacks - Detect Exploit Prevent (James C. Foster)


EBOOK - Tấn công tràn bộ nhớ RAM - Phát hiện và ngăn chặn (James C. Foster) - 521 Trang.

I can recall with crystal clarity three times relating to buffer overflows. I remember the first moments of when I used a buffer overflow in the wild and it worked (imapd for Linux). I remember the first buffer overflow that I found and exploited all by myself (a Linux local).

And I remember the first time I got into a host by writing a buffer overflow. When most people read Aleph1’s seminal paper on buffer overflows “Buffer overflows for fun and profit,” they think largely on the “profit.” Someone skilled in the art of writing buffer overflows can make $90-120K USD a year as a consultant for any of the large companies in the market.

CONTENTS:

Part 1 Expanding on Buffer Overflows . . . . . . . . . . . . . . . .1
Chapter 1 Buffer Overflows: The Essentials . . . . . . . . . . . . .3
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
The Challenge of Software Security . . . . . . . . . . . . . . . . . . . . . . .4
Microsoft Software Is Not Bug Free . . . . . . . . . . . . . . . . . . . .6
The Increase in Buffer Overflows . . . . . . . . . . . . . . . . . . . . . . . . .8
Exploits vs. Buffer Overflows . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Madonna Hacked! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Solutions Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Frequently Asked Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
Chapter 2 Understanding Shellcode . . . . . . . . . . . . . . . . .25
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
An Overview of Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
The Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
The Assembly Programming Language . . . . . . . . . . . . . .27
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
Windows vs. Unix Assembly . . . . . . . . . . . . . . . . . . . . .31
The Addressing Problem . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Using the “call” and “jmp”Trick . . . . . . . . . . . . . . . . . .32
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
Pushing the Arguments . . . . . . . . . . . . . . . . . . . . . . . . .33
The NULL Byte Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Implementing System Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
System Call Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
System Call Arguments . . . . . . . . . . . . . . . . . . . . . . . . .36
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
System Call Return Values . . . . . . . . . . . . . . . . . . . . . .38
Remote Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
Port-Binding Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Socket Descriptor Reuse Shellcode . . . . . . . . . . . . . . . . . . .40
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Local Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
execve Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
setuid Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
...

LINK DOWNLOAD


EBOOK - Tấn công tràn bộ nhớ RAM - Phát hiện và ngăn chặn (James C. Foster) - 521 Trang.

I can recall with crystal clarity three times relating to buffer overflows. I remember the first moments of when I used a buffer overflow in the wild and it worked (imapd for Linux). I remember the first buffer overflow that I found and exploited all by myself (a Linux local).

And I remember the first time I got into a host by writing a buffer overflow. When most people read Aleph1’s seminal paper on buffer overflows “Buffer overflows for fun and profit,” they think largely on the “profit.” Someone skilled in the art of writing buffer overflows can make $90-120K USD a year as a consultant for any of the large companies in the market.

CONTENTS:

Part 1 Expanding on Buffer Overflows . . . . . . . . . . . . . . . .1
Chapter 1 Buffer Overflows: The Essentials . . . . . . . . . . . . .3
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
The Challenge of Software Security . . . . . . . . . . . . . . . . . . . . . . .4
Microsoft Software Is Not Bug Free . . . . . . . . . . . . . . . . . . . .6
The Increase in Buffer Overflows . . . . . . . . . . . . . . . . . . . . . . . . .8
Exploits vs. Buffer Overflows . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Madonna Hacked! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Solutions Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Frequently Asked Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
Chapter 2 Understanding Shellcode . . . . . . . . . . . . . . . . .25
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
An Overview of Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
The Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
The Assembly Programming Language . . . . . . . . . . . . . .27
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
Windows vs. Unix Assembly . . . . . . . . . . . . . . . . . . . . .31
The Addressing Problem . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Using the “call” and “jmp”Trick . . . . . . . . . . . . . . . . . .32
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
Pushing the Arguments . . . . . . . . . . . . . . . . . . . . . . . . .33
The NULL Byte Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Implementing System Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
System Call Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
System Call Arguments . . . . . . . . . . . . . . . . . . . . . . . . .36
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
System Call Return Values . . . . . . . . . . . . . . . . . . . . . .38
Remote Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
Port-Binding Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Socket Descriptor Reuse Shellcode . . . . . . . . . . . . . . . . . . .40
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Local Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
execve Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
setuid Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
...

LINK DOWNLOAD

M_tả
M_tả

Không có nhận xét nào: