The browser hacker's handbook

Author(s)

    • Alcorn, Wade
    • Frichot, Christian
    • Orrù, Michele

Bibliographic Information

The browser hacker's handbook

Wade Alcorn, Christian Frichot, Michele Orrù

John Wiley & Sons, c2014

  • : pbk

Available at  / 1 libraries

Search this Book/Journal

Note

Includes bibliographical references and index

Description and Table of Contents

Description

Hackers exploit browser vulnerabilities to attack deep within networks The Browser Hacker's Handbook gives a practical understanding of hacking the everyday web browser and using it as a beachhead to launch further attacks deep into corporate networks. Written by a team of highly experienced computer security experts, the handbook provides hands-on tutorials exploring a range of current attack methods. The web browser has become the most popular and widely used computer "program" in the world. As the gateway to the Internet, it is part of the storefront to any business that operates online, but it is also one of the most vulnerable entry points of any system. With attacks on the rise, companies are increasingly employing browser-hardening techniques to protect the unique vulnerabilities inherent in all currently used browsers. The Browser Hacker's Handbook thoroughly covers complex security issues and explores relevant topics such as: Bypassing the Same Origin Policy ARP spoofing, social engineering, and phishing to access browsers DNS tunneling, attacking web applications, and proxying-all from the browser Exploiting the browser and its ecosystem (plugins and extensions) Cross-origin attacks, including Inter-protocol Communication and Exploitation The Browser Hacker's Handbook is written with a professional security engagement in mind. Leveraging browsers as pivot points into a target's network should form an integral component into any social engineering or red-team security assessment. This handbook provides a complete methodology to understand and structure your next browser penetration test.

Table of Contents

Introduction xv Chapter 1 Web Browser Security 1 A Principal Principle 2 Exploring the Browser 3 Symbiosis with the Web Application 4 Same Origin Policy 4 HTTP Headers 5 Markup Languages 5 Cascading Style Sheets 6 Scripting 6 Document Object Model 7 Rendering Engines 7 Geolocation 9 Web Storage 9 Cross-origin Resource Sharing 9 HTML5 10 Vulnerabilities 11 Evolutionary Pressures 12 HTTP Headers 13 Reflected XSS Filtering 15 Sandboxing 15 Anti-phishing and Anti-malware 16 Mixed Content 17 Core Security Problems 17 Attack Surface 17 Surrendering Control 20 TCP Protocol Control 20 Encrypted Communication 20 Same Origin Policy 21 Fallacies 21 Browser Hacking Methodology 22 Summary 28 Questions 28 Notes 29 Chapter 2 Initiating Control 31 Understanding Control Initiation 32 Control Initiation Techniques 32 Using Cross-site Scripting Attacks 32 Using Compromised Web Applications 46 Using Advertising Networks 46 Using Social Engineering Attacks 47 Using Man-in-the-Middle Attacks 59 Summary 72 Questions 73 Notes 73 Chapter 3 Retaining Control 77 Understanding Control Retention 78 Exploring Communication Techniques 79 Using XMLHttpRequest Polling 80 Using Cross-origin Resource Sharing 83 Using WebSocket Communication 84 Using Messaging Communication 86 Using DNS Tunnel Communication 89 Exploring Persistence Techniques 96 Using IFrames 96 Using Browser Events 98 Using Pop-Under Windows 101 Using Man-in-the-Browser Attacks 104 Evading Detection 110 Evasion using Encoding 111 Evasion using Obfuscation 116 Summary 125 Questions 126 Notes 127 Chapter 4 Bypassing the Same Origin Policy 129 Understanding the Same Origin Policy 130 Understanding the SOP with the DOM 130 Understanding the SOP with CORS 131 Understanding the SOP with Plugins 132 Understanding the SOP with UI Redressing 133 Understanding the SOP with Browser History 133 Exploring SOP Bypasses 134 Bypassing SOP in Java 134 Bypassing SOP in Adobe Reader 140 Bypassing SOP in Adobe Flash 141 Bypassing SOP in Silverlight 142 Bypassing SOP in Internet Explorer 142 Bypassing SOP in Safari 143 Bypassing SOP in Firefox 144 Bypassing SOP in Opera 145 Bypassing SOP in Cloud Storage 149 Bypassing SOP in CORS 150 Exploiting SOP Bypasses 151 Proxying Requests 151 Exploiting UI Redressing Attacks 153 Exploiting Browser History 170 Summary 178 Questions 179 Notes 179 Chapter 5 Attacking Users 183 Defacing Content 183 Capturing User Input 187 Using Focus Events 188 Using Keyboard Events 190 Using Mouse and Pointer Events 192 Using Form Events 195 Using IFrame Key Logging 196 Social Engineering 197 Using TabNabbing 198 Using the Fullscreen 199 Abusing UI Expectations 204 Using Signed Java Applets 223 Privacy Attacks 228 Non-cookie Session Tracking 230 Bypassing Anonymization 231 Attacking Password Managers 234 Controlling the Webcam and Microphone 236 Summary 242 Questions 243 Notes 243 Chapter 6 Attacking Browsers 247 Fingerprinting Browsers 248 Fingerprinting using HTTP Headers 249 Fingerprinting using DOM Properties 253 Fingerprinting using Software Bugs 258 Fingerprinting using Quirks 259 Bypassing Cookie Protections 260 Understanding the Structure 261 Understanding Attributes 263 Bypassing Path Attribute Restrictions 265 Overflowing the Cookie Jar 268 Using Cookies for Tracking 270 Sidejacking Attacks 271 Bypassing HTTPS 272 Downgrading HTTPS to HTTP 272 Attacking Certificates 276 Attacking the SSL/TLS Layer 277 Abusing Schemes 278 Abusing iOS 279 Abusing the Samsung Galaxy 281 Attacking JavaScript 283 Attacking Encryption in JavaScript 283 JavaScript and Heap Exploitation 286 Getting Shells using Metasploit 293 Getting Started with Metasploit 294 Choosing the Exploit 295 Executing a Single Exploit 296 Using Browser Autopwn 300 Using BeEF with Metasploit 302 Summary 305 Questions 305 Notes 306 Chapter 7 Attacking Extensions 311 Understanding Extension Anatomy 312 How Extensions Differ from Plugins 312 How Extensions Differ from Add-ons 313 Exploring Privileges 313 Understanding Firefox Extensions 314 Understanding Chrome Extensions 321 Discussing Internet Explorer Extensions 330 Fingerprinting Extensions 331 Fingerprinting using HTTP Headers 331 Fingerprinting using the DOM 332 Fingerprinting using the Manifest 335 Attacking Extensions 336 Impersonating Extensions 336 Cross-context Scripting 339 Achieving OS Command Execution 355 Achieving OS Command Injection 359 Summary 364 Questions 365 Notes 365 Chapter 8 Attacking Plugins 371 Understanding Plugin Anatomy 372 How Plugins Differ from Extensions 372 How Plugins Differ from Standard Programs 374 Calling Plugins 374 How Plugins are Blocked 376 Fingerprinting Plugins 377 Detecting Plugins 377 Automatic Plugin Detection 379 Detecting Plugins in BeEF 380 Attacking Plugins 382 Bypassing Click to Play 382 Attacking Java 388 Attacking Flash 400 Attacking ActiveX Controls 403 Attacking PDF Readers 408 Attacking Media Plugins 410 Summary 415 Questions 416 Notes 416 Chapter 9 Attacking Web Applications 421 Sending Cross-origin Requests 422 Enumerating Cross-origin Quirks 422 Preflight Requests 425 Implications 425 Cross-origin Web Application Detection 426 Discovering Intranet Device IP Addresses 426 Enumerating Internal Domain Names 427 Cross-origin Web Application Fingerprinting 429 Requesting Known Resources 430 Cross-origin Authentication Detection 436 Exploiting Cross-site Request Forgery 440 Understanding Cross-site Request Forgery 440 Attacking Password Reset with XSRF 443 Using CSRF Tokens for Protection 444 Cross-origin Resource Detection 445 Cross-origin Web Application Vulnerability Detection 450 SQL Injection Vulnerabilities 450 Detecting Cross-site Scripting Vulnerabilities 465 Proxying through the Browser 469 Browsing through a Browser 472 Burp through a Browser 477 Sqlmap through a Browser 480 Browser through Flash 482 Launching Denial-of-Service Attacks 487 Web Application Pinch Points 487 DDoS Using Multiple Hooked Browsers 489 Launching Web Application Exploits 493 Cross-origin DNS Hijack 493 Cross-origin JBoss JMX Remote Command Execution 495 Cross-origin GlassFish Remote Command Execution 497 Cross-origin m0n0wall Remote Command Execution 501 Cross-origin Embedded Device Command Execution 502 Summary 508 Questions 508 Notes 509 Chapter 10 Attacking Networks 513 Identifying Targets 514 Identifying the Hooked Browser's Internal IP 514 Identifying the Hooked Browser's Subnet 520 Ping Sweeping 523 Ping Sweeping using XMLHttpRequest 523 Ping Sweeping using Java 528 Port Scanning 531 Bypassing Port Banning 532 Port Scanning using the IMG Tag 537 Distributed Port Scanning 539 Fingerprinting Non-HTTP Services 542 Attacking Non-HTTP Services 545 NAT Pinning 545 Achieving Inter-protocol Communication 549 Achieving Inter-protocol Exploitation 564 Getting Shells using BeEF Bind 579 The BeEF Bind Shellcode 579 Using BeEF Bind in your Exploits 585 Using BeEF Bind as a Web Shell 596 Summary 599 Questions 600 Notes 601 Chapter 11 Epilogue: Final Thoughts 605 Index 609

by "Nielsen BookData"

Details

Page Top