The Mac Hacker's Handbook
商品資訊
ISBN13:9780470395363
出版社:JOHN WILEY & SONS;LTD
作者:MILLER
出版日:2009/02/13
裝訂/頁數:平裝/384頁
規格:23.5cm*19.1cm*2.5cm (高/寬/厚)
商品簡介
作者簡介
目次
商品簡介
As more and more vulnerabilities are found in the Mac OS X (Leopard) operating system, security researchers are realizing the importance of developing proof-of-concept exploits for those vulnerabilities. This unique tome is the first book to uncover the flaws in the Mac OS X operating system—and how to deal with them. Written by two white hat hackers, this book is aimed at making vital information known so that you can find ways to secure your Mac OS X systems, and examines the sorts of attacks that are prevented by Leopard's security defenses, what attacks aren't, and how to best handle those weaknesses.
作者簡介
CharlIe Millerwon the second CanSecWest Pwn2Own contest in 2008 and was named one of the Top 10 Computer Hackers of 2008 by Popular Mechanics.
Dino Dai Zovi won the first CanSecWest Pwn2Own contest in 2007 and was named one of the 15 Most Influential People in Security by eWEEK.
Dino Dai Zovi won the first CanSecWest Pwn2Own contest in 2007 and was named one of the 15 Most Influential People in Security by eWEEK.
目次
Foreword.
Introduction.
Part I Mac OS X Basics.
Chapter 1 Mac OS X Architecture.
Basics.
XNU.
Mach.
BSD.
I/O Kit.
Darwin and Friends.
Tools of the Trade.
Ktrace/DTrace.
Objective-C.
Universal Binaries and the Mach-O File Format.
Universal Binaries.
Mach-O File Format.
Example.
Bundles.
launchd.
Leopard Security.
Library Randomization.
Executable Heap.
Stack Protection (propolice).
Firewall.
Sandboxing (Seatbelt).
References.
Chapter 2 Mac OS X Parlance.
Bonjour!.
Get an IP Address.
Set Up Name Translation.
Service Discovery.
Bonjour.
mDNSResponder.
Source Code.
QuickTime.
.mov.
RTSP.
Conclusion.
References.
Chapter 3 Attack Surface.
Searching the Server Side.
Nonstandard Listening Processes.
Cutting into the Client Side.
Safari.
All of Safari’s Children.
Safe File Types.
Having Your Cake.
Conclusion .
References.
Part II Discovering Vulnerabilities.
Chapter 4 Tracing and Debugging.
Pathetic ptrace.
Good Ol’ GDB.
DTrace.
D Programming Language.
Describing Probes.
Example: Using Dtrace.
Example: Using ltrace.
Example: Instruction Tracer/Code-Coverage Monitor.
Example: Memory Tracer.
PyDbg.
PyDbg Basics.
Memory Searching.
In-Memory Fuzzing.
Binary Code Coverage with Pai Mei.
iTunes Hates You.
Conclusion.
References.
Chapter 5 Finding Bugs.
Bug-Hunting Strategies.
Old-School Source-Code Analysis.
Getting to the Source.
Code Coverage.
CanSecWest 2008 Bug.
vi + Changelog = Leopard 0-day.
Apple’s Prerelease-Vulnerability Collection.
Fuzz Fun.
Network Fuzzing.
File Fuzzing.
Conclusion.
References.
Chapter 6 Reverse Engineering.
Disassembly Oddities.
EIP-Relative Data Addressing.
Messed-Up Jump Tables.
Identifying Missed Functions.
Reversing Obj-C.
Cleaning Up Obj-C.
Shedding Light on objc_msgSend Calls.
Case Study.
Patching Binaries.
Conclusion.
References.
Part III Exploitation.
Chapter 7 Exploiting Stack Overflows.
Stack Basics.
Stack Usage on PowerPC.
Stack Usage on x86.
Smashing the Stack on PowerPC.
Smashing the Stack on x86.
Exploiting the x86 Nonexecutable Stack.
Return into system().
Executing the Payload from the Heap.
Finding Useful Instruction Sequences.
PowerPC.
x86.
Conclusion.
References.
Chapter 8 Exploiting Heap Overflows.
The Heap.
The Scalable Zone Allocator.
Regions.
Freeing and Allocating Memory.
Overwriting Heap Metadata.
Arbitrary 4-Byte Overwrite.
Large Arbitrary Memory Overwrite.
Obtaining Code Execution.
Taming the Heap with Feng Shui.
Fill ’Er Up.
Feng Shui.
WebKit’s JavaScript.
Case Study.
Feng Shui Example.
Heap Spray.
References.
Chapter 9 Exploit Payloads.
Mac OS X Exploit Payload Development.
Restoring Privileges.
Forking a New Process.
Executing a Shell.
Encoders and Decoders.
Staged Payload Execution.
Payload Components.
PowerPC Exploit Payload.
execve_binsh.
system.
decode_longxor.
tcp_listen 231.
tcp_connect.
tcp_find.
dup2_std_fds.
vfork.
Testing Simple Components.
Putting Together Simple Payloads.
Intel x86 Exploit Payloads.
remote_execution_loop.
inject_bundle.
Testing Complex Components.
Conclusion.
References.
Chapter 10 Real-World Exploits.
QuickTime RTSP Content-Type Header Overflow.
Triggering the Vulnerability.
Exploitation on PowerPC.
Exploitation on x86.
mDNSResponder UPnP Location Header Overflow.
Triggering the Vulnerability.
Exploiting the Vulnerability.
Exploiting on PowerPC.
QuickTime QTJava toQTPointer() Memory Access.
Exploiting toQTPointer().
Obtaining Code Execution.
Conclusion.
References.
Part IV Post-Exploitation.
Chapter 11 Injecting, Hooking, and Swizzling.
Introduction to Mach.
Mach Abstractions.
Mach Security Model Mach Exceptions.
Mach Injection.
Remote Threads.
Remote Process Memory.
Loading a Dynamic Library or Bundle.
Inject-Bundle Usage.
Example: iSight Photo Capture.
Function Hooking.
Example: SSLSpy.
Objective-C Method Swizzling.
Example: iChat Spy.
Conclusion.
References.
Chapter 12 Rootkits.
Kernel Extensions.
Hello Kernel.
System Calls.
Hiding Files.
Hiding the Rootkit.
Maintaining Access across Reboots.
Controlling the Rootkit.
Creating the RPC Server.
Injecting Kernel RPC Servers.
Calling the Kernel RPC Server.
Remote Access.
Hardware-Virtualization Rootkits.
Hyperjacking.
Rootkit Hypervisor.
Conclusion.
References.
Index.
Introduction.
Part I Mac OS X Basics.
Chapter 1 Mac OS X Architecture.
Basics.
XNU.
Mach.
BSD.
I/O Kit.
Darwin and Friends.
Tools of the Trade.
Ktrace/DTrace.
Objective-C.
Universal Binaries and the Mach-O File Format.
Universal Binaries.
Mach-O File Format.
Example.
Bundles.
launchd.
Leopard Security.
Library Randomization.
Executable Heap.
Stack Protection (propolice).
Firewall.
Sandboxing (Seatbelt).
References.
Chapter 2 Mac OS X Parlance.
Bonjour!.
Get an IP Address.
Set Up Name Translation.
Service Discovery.
Bonjour.
mDNSResponder.
Source Code.
QuickTime.
.mov.
RTSP.
Conclusion.
References.
Chapter 3 Attack Surface.
Searching the Server Side.
Nonstandard Listening Processes.
Cutting into the Client Side.
Safari.
All of Safari’s Children.
Safe File Types.
Having Your Cake.
Conclusion .
References.
Part II Discovering Vulnerabilities.
Chapter 4 Tracing and Debugging.
Pathetic ptrace.
Good Ol’ GDB.
DTrace.
D Programming Language.
Describing Probes.
Example: Using Dtrace.
Example: Using ltrace.
Example: Instruction Tracer/Code-Coverage Monitor.
Example: Memory Tracer.
PyDbg.
PyDbg Basics.
Memory Searching.
In-Memory Fuzzing.
Binary Code Coverage with Pai Mei.
iTunes Hates You.
Conclusion.
References.
Chapter 5 Finding Bugs.
Bug-Hunting Strategies.
Old-School Source-Code Analysis.
Getting to the Source.
Code Coverage.
CanSecWest 2008 Bug.
vi + Changelog = Leopard 0-day.
Apple’s Prerelease-Vulnerability Collection.
Fuzz Fun.
Network Fuzzing.
File Fuzzing.
Conclusion.
References.
Chapter 6 Reverse Engineering.
Disassembly Oddities.
EIP-Relative Data Addressing.
Messed-Up Jump Tables.
Identifying Missed Functions.
Reversing Obj-C.
Cleaning Up Obj-C.
Shedding Light on objc_msgSend Calls.
Case Study.
Patching Binaries.
Conclusion.
References.
Part III Exploitation.
Chapter 7 Exploiting Stack Overflows.
Stack Basics.
Stack Usage on PowerPC.
Stack Usage on x86.
Smashing the Stack on PowerPC.
Smashing the Stack on x86.
Exploiting the x86 Nonexecutable Stack.
Return into system().
Executing the Payload from the Heap.
Finding Useful Instruction Sequences.
PowerPC.
x86.
Conclusion.
References.
Chapter 8 Exploiting Heap Overflows.
The Heap.
The Scalable Zone Allocator.
Regions.
Freeing and Allocating Memory.
Overwriting Heap Metadata.
Arbitrary 4-Byte Overwrite.
Large Arbitrary Memory Overwrite.
Obtaining Code Execution.
Taming the Heap with Feng Shui.
Fill ’Er Up.
Feng Shui.
WebKit’s JavaScript.
Case Study.
Feng Shui Example.
Heap Spray.
References.
Chapter 9 Exploit Payloads.
Mac OS X Exploit Payload Development.
Restoring Privileges.
Forking a New Process.
Executing a Shell.
Encoders and Decoders.
Staged Payload Execution.
Payload Components.
PowerPC Exploit Payload.
execve_binsh.
system.
decode_longxor.
tcp_listen 231.
tcp_connect.
tcp_find.
dup2_std_fds.
vfork.
Testing Simple Components.
Putting Together Simple Payloads.
Intel x86 Exploit Payloads.
remote_execution_loop.
inject_bundle.
Testing Complex Components.
Conclusion.
References.
Chapter 10 Real-World Exploits.
QuickTime RTSP Content-Type Header Overflow.
Triggering the Vulnerability.
Exploitation on PowerPC.
Exploitation on x86.
mDNSResponder UPnP Location Header Overflow.
Triggering the Vulnerability.
Exploiting the Vulnerability.
Exploiting on PowerPC.
QuickTime QTJava toQTPointer() Memory Access.
Exploiting toQTPointer().
Obtaining Code Execution.
Conclusion.
References.
Part IV Post-Exploitation.
Chapter 11 Injecting, Hooking, and Swizzling.
Introduction to Mach.
Mach Abstractions.
Mach Security Model Mach Exceptions.
Mach Injection.
Remote Threads.
Remote Process Memory.
Loading a Dynamic Library or Bundle.
Inject-Bundle Usage.
Example: iSight Photo Capture.
Function Hooking.
Example: SSLSpy.
Objective-C Method Swizzling.
Example: iChat Spy.
Conclusion.
References.
Chapter 12 Rootkits.
Kernel Extensions.
Hello Kernel.
System Calls.
Hiding Files.
Hiding the Rootkit.
Maintaining Access across Reboots.
Controlling the Rootkit.
Creating the RPC Server.
Injecting Kernel RPC Servers.
Calling the Kernel RPC Server.
Remote Access.
Hardware-Virtualization Rootkits.
Hyperjacking.
Rootkit Hypervisor.
Conclusion.
References.
Index.
主題書展
更多
主題書展
更多書展購物須知
外文書商品之書封,為出版社提供之樣本。實際出貨商品,以出版社所提供之現有版本為主。部份書籍,因出版社供應狀況特殊,匯率將依實際狀況做調整。
無庫存之商品,在您完成訂單程序之後,將以空運的方式為你下單調貨。為了縮短等待的時間,建議您將外文書與其他商品分開下單,以獲得最快的取貨速度,平均調貨時間為1~2個月。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

