. . . . . . . . . . . . . . . . . . . . 202
Multistage Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
System Call Proxy Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Process Injection Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Contents
xiii
Other Shellcode Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Shellcode Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Self-Corrupting Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Disassembling Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Kernel Space Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Kernel Space Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Chapter 10 Writing Linux Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Basic Linux Shellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
System Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pages:
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34