logo资料库

Attacking.Network.Protocols.1593277504.pdf

第1页 / 共380页
第2页 / 共380页
第3页 / 共380页
第4页 / 共380页
第5页 / 共380页
第6页 / 共380页
第7页 / 共380页
第8页 / 共380页
资料共380页,剩余部分请下载后查看
Title Page
Copyright Page
About the Author
About the Technical Reviewer
Brief Contents
Contents in Detail
Foreword by Katie Moussouris
Acknowledgments
Introduction
Why Read This Book?
What’s in This Book?
How to Use This Book
Contact Me
Chapter 1: The Basics of Networking
Network Architecture and Protocols
The Internet Protocol Suite
Data Encapsulation
Network Routing
My Model for Network Protocol Analysis
Final Words
Chapter 2: Capturing Application Traffic
Passive Network Traffic Capture
Quick Primer for Wireshark
Alternative Passive Capture Techniques
Advantages and Disadvantages of Passive Capture
Active Network Traffic Capture
Network Proxies
Final Words
Chapter 3: Network Protocol Structures
Binary Protocol Structures
Dates and Times
Tag, Length, Value Pattern
Multiplexing and Fragmentation
Network Address Information
Structured Binary Formats
Text Protocol Structures
Encoding Binary Data
Final Words
Chapter 4: Advanced Application Traffic Capture
Rerouting Traffic
Configuring a Router
Network Address Translation
Forwarding Traffic to a Gateway
Final Words
Chapter 5: Analysis from the Wire
The Traffic-Producing Application: SuperFunkyChat
A Crash Course in Analysis with Wireshark
Identifying Packet Structure with Hex Dump
Developing Wireshark Dissectors in Lua
Using a Proxy to Actively Analyze Traffic
Final Words
Chapter 6: Application Reverse Engineering
Compilers, Interpreters, and Assemblers
The x86 Architecture
Operating System Basics
Static Reverse Engineering
Dynamic Reverse Engineering
Reverse Engineering Managed Languages
Reverse Engineering Resources
Final Words
Chapter 7: Network Protocol Security
Encryption Algorithms
Random Number Generators
Symmetric Key Cryptography
Asymmetric Key Cryptography
Signature Algorithms
Public Key Infrastructure
Case Study: Transport Layer Security
Final Words
Chapter 8: Implementing the Network Protocol
Replaying Existing Captured Network Traffic
Repurposing Existing Executable Code
Encryption and Dealing with TLS
Final Words
Chapter 9: The Root Causes of Vulnerabilities
Vulnerability Classes
Memory Corruption Vulnerabilities
Default or Hardcoded Credentials
User Enumeration
Incorrect Resource Access
Memory Exhaustion Attacks
Storage Exhaustion Attacks
CPU Exhaustion Attacks
Format String Vulnerabilities
Command Injection
SQL Injection
Text-Encoding Character Replacement
Final Words
Chapter 10: Finding and Exploiting Security Vulnerabilities
Fuzz Testing
Vulnerability Triaging
Exploiting Common Vulnerabilities
Writing Shell Code
Memory Corruption Exploit Mitigations
Final Words
Appendix: Network Protocol Analysis Toolkit
Passive Network Protocol Capture and Analysis Tools
Active Network Capture and Analysis
Network Connectivity and Protocol Testing
Web Application Testing
Fuzzing, Packet Generation, and Vulnerability Exploitation Frameworks
Network Spoofing and Redirection
Executable Reverse Engineering
Index
Resources
The Electronic Frontier Foundation (EFF)
Footnotes
ATTACKING NETWORK PROTOCOLS A Hacker’s Guide to Capture, Analysis, and Exploitation by James Forshaw San Francisco
ATTACKING NETWORK PROTOCOLS. Copyright © 2018 by James Forshaw. All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-10: 1-59327-750-4 ISBN-13: 978-1-59327-750-5 Publisher: William Pollock Production Editor: Laurel Chun Cover Illustration: Garry Booth Interior Design: Octopod Studios Developmental Editors: Liz Chadwick and William Pollock Technical Reviewers: Cliff Janzen Additional Technical Reviewers: Arrigo Triulzi and Peter Gutmann Copyeditor: Anne Marie Walker Compositors: Laurel Chun and Meg Sneeringer Proofreader: Paula L. Fleming Indexer: BIM Creatives, LLC For information on distribution, translations, or bulk sales, please contact No Starch Press, Inc. directly: No Starch Press, Inc. 245 8th Street, San Francisco, CA 94103 phone: 1.415.863.9900; info@nostarch.com www.nostarch.com Library of Congress Control Number: 2017954429 No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc. Other product and company names mentioned herein may be the trademarks of their respective owners. Rather than use a trademark symbol with every occurrence of a trademarked name, we are using the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The information in this book is distributed on an “As Is” basis, without warranty. While every precaution has been taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in it.
About the Author James Forshaw is a renowned computer security researcher at Google Project Zero, with more than ten years of experience in analyzing and exploiting application network protocols. His skills range from cracking game consoles to exposing complex design issues in operating systems, especially Microsoft Windows, which earned him the top bug bounty of $100,000 and placed him as the #1 researcher on Microsoft Security Response Center’s (MSRC) published list. He’s the creator of the network protocol analysis tool, Canape, which was developed from his years of experience. He’s been invited to present his novel security research at global security conferences such as BlackHat, CanSecWest and Chaos Computer Congress.
About the Technical Reviewer Since the early days of Commodore PET and VIC-20, technology has been a constant companion (and sometimes an obsession!) to Cliff Janzen. Cliff discovered his career passion when he moved to information security in 2008 after a decade of IT operations. Since then, Cliff has had the great fortune to work with and learn from some of the best people in the industry, including Mr. Forshaw and the fine people at No Starch during the production of this book. He is happily employed as a security consultant, doing everything from policy review to penetration tests. He feels lucky to have a career that is also his favorite hobby and a wife who supports him.
BRIEF CONTENTS Foreword by Katie Moussouris Acknowledgments Introduction Chapter 1: The Basics of Networking Chapter 2: Capturing Application Traffic Chapter 3: Network Protocol Structures Chapter 4: Advanced Application Traffic Capture Chapter 5: Analysis from the Wire Chapter 6: Application Reverse Engineering Chapter 7: Network Protocol Security Chapter 8: Implementing the Network Protocol Chapter 9: The Root Causes of Vulnerabilities Chapter 10: Finding and Exploiting Security Vulnerabilities Appendix: Network Protocol Analysis Toolkit Index
CONTENTS IN DETAIL FOREWORD by Katie Moussouris ACKNOWLEDGMENTS INTRODUCTION Why Read This Book? What’s in This Book? How to Use This Book Contact Me 1 THE BASICS OF NETWORKING Network Architecture and Protocols The Internet Protocol Suite Data Encapsulation Headers, Footers, and Addresses Data Transmission Network Routing My Model for Network Protocol Analysis Final Words 2 CAPTURING APPLICATION TRAFFIC Passive Network Traffic Capture Quick Primer for Wireshark Alternative Passive Capture Techniques System Call Tracing The strace Utility on Linux Monitoring Network Connections with DTrace Process Monitor on Windows Advantages and Disadvantages of Passive Capture Active Network Traffic Capture Network Proxies Port-Forwarding Proxy SOCKS Proxy HTTP Proxies
Forwarding an HTTP Proxy Reverse HTTP Proxy Final Words 3 NETWORK PROTOCOL STRUCTURES Binary Protocol Structures Numeric Data Booleans Bit Flags Binary Endian Text and Human-Readable Data Variable Binary Length Data Dates and Times POSIX/Unix Time Windows FILETIME Tag, Length, Value Pattern Multiplexing and Fragmentation Network Address Information Structured Binary Formats Text Protocol Structures Numeric Data Text Booleans Dates and Times Variable-Length Data Structured Text Formats Encoding Binary Data Hex Encoding Base64 Final Words 4 ADVANCED APPLICATION TRAFFIC CAPTURE Rerouting Traffic Using Traceroute Routing Tables Configuring a Router Enabling Routing on Windows Enabling Routing on *nix
分享到:
收藏