Web Tracking for You. Gregory Fleischer



Similar documents
Proxies. Chapter 4. Network & Security Gildas Avoine

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith

Pwning Intranets with HTML5

Detecting and Exploiting XSS with Xenotix XSS Exploit Framework

Penetration Testing with Kali Linux

April 11, (Revision 2)

SiteCelerate white paper

Controlling Risk, Conserving Bandwidth, and Monitoring Productivity with Websense Web Security and Websense Content Gateway

The Risks of Client-Side Data Storage From cookie to database

Investment Management System. Connectivity Guide. IMS Connectivity Guide Page 1 of 11

Introduction to Computer Security Benoit Donnet Academic Year

How To Protect A Web Application From Attack From A Trusted Environment

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

Anonymity on the Internet Over Proxy Servers

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Citrix Access on SonicWALL SSL VPN

Learn Ethical Hacking, Become a Pentester

Web Application Vulnerability Testing with Nessus

How To Understand The History Of The Web (Web)

Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified

SSL VPN Server Guide Access Manager 3.1 SP5 January 2013

SmartGrant Web Browser Set-Up

MAXA-COOKIE-MANAGER - USER MANUAL - SW-Release V 5.0 / Document Rev. 1.1

Lab Exercise SSL/TLS. Objective. Requirements. Step 1: Capture a Trace

Dell SonicWALL SRA 7.5 Citrix Access

Live Guide System Architecture and Security TECHNICAL ARTICLE

Release Notes for Version

How to set up the HotSpot module with SmartConnect. Panda GateDefender 5.0

The evolution of virtual endpoint security. Comparing vsentry with traditional endpoint virtualization security solutions

Using EMC Unisphere in a Web Browsing Environment: Browser and Security Settings to Improve the Experience

Workday Mobile Security FAQ

Stopping secure Web traffic from bypassing your content filter. BLACK BOX

Cyber Security Workshop Ethical Web Hacking

AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence

Project X Mass interception of encrypted connections

Chapter 1 Web Application (In)security 1

Debugging With Netalyzr

Is preventing browser fingerprinting a lost cause?

PLATO Learning Environment System and Configuration Requirements for workstations. October 27th, 2008

Clientless SSL VPN Users

Internet Explorer turns your personal computer into a publicfile Server

A Practical Attack to De Anonymize Social Network Users

1 Introduction: Network Applications

Initial Access and Basic IPv4 Internet Configuration

HOW TO CONFIGURE PASS-THRU PROXY FOR ORACLE APPLICATIONS


RTC-Web Security Considerations

Vulnerability Assessment and Penetration Testing

Working With Your FTP Site

Clientless SSL VPN End User Set-up

Secure Web Service - Hybrid. Policy Server Setup. Release Manual Version 1.01

SAMSUNG SMARTTV: HOW-TO TO CREATING INSECURE DEVICE IN TODAY S WORLD. Sergey Belov

TRITON - Web Security Help

Ulteo Open Virtual Desktop - Protocol Description

PLATO Learning Environment 2.0 System and Configuration Requirements. Dec 1, 2009

Virtual Data Centre. User Guide

WEB SECURITY. Oriana Kondakciu Software Engineering 4C03 Project

SSL VPN Server Guide. Access Manager 3.2 SP2. June 2013

Criteria for web application security check. Version

Abusing Insecure Features of Internet Explorer

Weird New Tricks for Browser Fingerprinting. yan ToorCon 2015

Web Browsing Examples. How Web Browsing and HTTP Works

Divide and Conquer Real World Distributed Port Scanning

Chapter 6 Virtual Private Networking Using SSL Connections

vcloud Director User's Guide

TRITON - Web Security Help

How to Prevent Secure Web Traffic (HTTPS) from Crippling Your Content Filter. A Cymphonix White Paper

M86 Web Filter USER GUIDE for M86 Mobile Security Client. Software Version: Document Version:

What is Web Security? Motivation

Targeted attacks: Tools and techniques

DentalTek Privacy Statement

ez Agent Administrator s Guide

CS 665: Computer System Security. Network Security. Usage environment. Sources of vulnerabilities. Information Assurance Module

DNS REBINDING DENIS BARANOV, POSITIVE TECHNOLOGIES

STABLE & SECURE BANK lab writeup. Page 1 of 21

BROWSER AND SYSTEM REQUIREMENTS

Check list for web developers

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Feature and Technical Overview

HTML5. Eoin Keary CTO BCC Risk Advisory.

Citrix Receiver for Mobile Devices Troubleshooting Guide

VMware vcenter Support Assistant 5.1.1

Oracle Discoverer 4i Plus Firewall and SSL Tips. An Oracle White Paper February 2002

Websense Web Security Gateway: What to do when a Web site does not load as expected

Network Configuration Settings

WompMobile Technical FAQ

Recent Advances in Web Application Security

Websense Web Security Gateway: Integrating the Content Gateway component with Third Party Data Loss Prevention Applications

Sage HRMS 2014 Sage Employee Self Service

Conducting Web Application Pentests. From Scoping to Report For Education Purposes Only

Step into the Future: HTML5 and its Impact on SSL VPNs

INUVIKA OPEN VIRTUAL DESKTOP FOUNDATION SERVER

Web Conferencing Version 8.3 Troubleshooting Guide

OnCommand Performance Manager 1.1

DMZ Network Visibility with Wireshark June 15, 2010

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

A Java proxy for MS SQL Server Reporting Services

Internet Privacy Options

Transcription:

Web Tracking for You Gregory Fleischer 1

INTRODUCTION 2

Me Gregory Fleischer Senior Security Consultant at FishNet Security 3

Disclaimer Why do you hate? 4

Reasons For Tracking TradiFonal reasons for tracking web users Metrics and analyfcs Behavioral adverfsing and traffic monefzafon Security mechanisms to idenffy legifmate users Monitor malicious users Bad actors AOackers Search for suspicious behavior 5

Types of Tracking First Party Web sites you visit directly Third Party AdverFsers Social network integrafon AnalyFcs CounFng is not tracking? Tracking is pervasive 6

DEMO: COLLUSION FOR CHROME 7

AlternaFve Ways of Tracking Traffic inspecfon Look at the requests Local network gateway and proxies Provider and host ISP levels Content modificafon Modify the responses AdverFsing injecfon and rewrifng Web bug and tracking code inserfon 8

Key Tracking Concepts FingerprinFng Tracking Unmasking These are not mutually exclusive InformaFon from each type can reinforce others Discrepancies can be correlated 9

FINGERPRINTING 10

Goals of FingerprinFng Calculate a unique fingerprint based on the user s browser and OS characterisfcs Can be more resilient to explicit privacy acfons taken by users Private browsing mode Cookie and cache clearing 11

FingerprinFng Types Passive AcFve Varies based on if plugins are installed and/or enabled 12

Passive FingerprinFng InformaFon is captured passively Default data automafcally sent that can be used to group users into broad categories FuncFons without needed to execute JavaScript or plugin content However, informafon is easily faked or obscured 13

Passive FingerprinFng Data User- agent string and order of request headers Browser feature- sets and content type support Anonymous FTP username CSP (Content Site Policy) Image types, CSS, SVG, etc. HTTPS handshake Cipher suites and supported extensions Timestamp from client machine 14

Passive FingerprinFng with Plugins Plugins may expose addifonal informafon Can reference content just by loading it HosFng site can track requests Plugins can include custom request header data Mozilla/4.0 (Linux 2.6.38-8- generic) Java/1.7.0_05 X- Flash- Version: 11,3,370,178 15

AcFve FingerprinFng InformaFon is acfvely gathered from browser using JavaScript and CSS Harder to fake or hide because of direct interacfon Use feature set detecfon, not just based on reported browser user- agent 16

AcFve Fingerprint Data Standard items Navigator informafon and screen resolufon Date and Fmezone Installed plugins and fonts DetecFng browser extensions Resource references Custom types 17

DEMO: CUSTOM RESOURCE DETECTION 18

AcFve FingerprinFng with Plugins Many plugins expose their own addifonal API interface to JavaScript Plugins can be used to access: Detailed system informafon Fonts Other installed plugins Example: Adobe Acrobat PDF plugin can enumerate printers 19

DEMO: ACTIVE PLUGIN FINGERPRINTING 20

TRACKING 21

Goals of Tracking Install a persistent tracking ID that can be used to correlate user acfvity Real world limitafons require flexibility Should be compact, but verifiable Can be correlated Doesn t always have to be transmioed or received with every request Ideally, redundancy across different storage types 22

Web Browser Cookies Basic method implemented in every browser Browser cookie types: First- party Second- party set by page dynamically Third- party LimitaFons of browsers and privacy restricfons 23

HTML5 Storage Modern browsers offer divergent support across several APIs localstorage IndexedDB FileSystem API CharacterisFcs impact suitability for tracking Does user have to opt- in? How long does storage last? 24

Browser Cache Use embedded idenffiers in cached content ETag references to track and correlate content Complicated approaches are fragile and open redundant Complex request sequences Redirect caching Embedded basic auth references 25

Plugin Dependent Storage Plugin dependent storage methods offer flexibility Improvements over web browser methods Usually cross- browser Some are not integrated with browser private modes May be harder for user to detect 26

Flash Flash Shared Objects Local shared object (LSO) Remote shared object Integrated with private browsing modes Cross- browser support is diverging ~/.macromedia/flash_player/#sharedobjects/ ~/.config/google- chrome/default/pepper Data/ Shockwave Flash/WritableRoot/#SharedObjects/ 27

DEMO: FLASH REMOTE SHARED OBJECTS 28

Silverlight Silverlight exposes Isolated Storage Limited quota size Integrated with private browsing modes Most XAP loading use browser cache Some ability to embed resources streams Satellites and on- demand loading offer liole benefit Decent cross- browser when available 29

Java Java implements its own download cache Resource items and applets are cacheable Applets can read embedded resource streams Not integrated with private browsing modes Usually excellent cross- browser support When Java works... 30

Java Failures 31

DEMO: JAVA PERSISTENT TRACKING 32

Adobe Acrobat Adobe Acrobat Reader plugin setpersistent() funcfon can be used for limited storage of global name/value data Some integrafon with private browsing modes QuesFonable cross- browser support Browsers are moving to nafve PDF display 33

DEMO: ADOBE READER PDF TRACKING 34

Other Storage UserData Internet Explorer specific Web SQL Database SQL database exposed to browser Standard abandoned, but sfll may be available 35

UNMASKING 36

Goals of Unmasking IdenFfy web user s originafng IP, network environment, and operafng idenfty Some users aoempt to obscure their true origins Network proxies VPN tunnels Determine originafng user IP address Force direct connecfon using any available mechanism Correlate with addifonal GeoIP informafon 37

DetecFng Proxy Usage Detect known proxies if possible e.g., Tor using TorDNSExitList tools Generate requests and examine responses to detect differences Request magic urls to detect any local network or browser proxy Send requests using XMLHOpRequest or WebSocket and examine responses 38

DEMO: PROXY DETECTION 39

Proxy Bypasses Abuse browser funcfonality to bypass proxy Use resources that may not be properly proxied FTP and alternafve browser requests In CGI style proxy, all content must be rewrioen Some requests may be launched by browser e.g., Content Site Policy ( CSP ) violafon reports 40

Plugins and Proxies Various plugins can be made to leak informafon DNS leakage through unproxied UDP traffic Media requests may not respect host machine proxy setngs Plugin may support direct method of communicafon that bypasses proxy Requests that explicitly exclude proxy Binary socket protocols 41

DEMO: FLASH RTMP: CONNECTION 42

More Aggressive Approaches Use sparingly, because appear overtly malicious Injectable content that violates user privacy Capture text changes, keystrokes, images and HTML Monitor clicks and likes on social network badges History stealing and forced navigafon Abuse trust site status Port scanning local machine and local network Embed addifonal exploits 43

COMPLICATIONS 44

Private Browsing Modes Modern browsers have a private browsing mode Cookies should not be persisted Content not read from or stored in exisfng cache How to defeat? If possible, correlate cookie and page contents when switching from one to the other Use plugin support to enable cross- browser communicafons and cross reference values 45

DEMO: SAFARI PRIVATE BROWSING 46

DEMO: LOCAL CONNECTIONS 47

Tracking ProtecFon Lists Internet Explorer implements Tracking ProtecFon Lists (TPL) Curated blacklists maintained by third- parfes Restricts content loaded on page How to defeat? Manually navigate browser to content Use plugins to load from blocked locafons 48

DEMO: IE TRACKING PROTECTION LISTS 49

Third Party Cookie RestricFons Browser can block or restrict third- party cookies Safari has default blocking (limited to visited sites) Internet Explorer, Firefox and others are opt- in How to defeat? Use known workarounds to simulate user interacfons Cross- domain postmessage support to pass cookies between coordinafng sites and store in localstorage 50

DEMO: LOCAL STORAGE AND POSTMESSAGE 51

Do Not Track Do Not Track (DNT) OpFonal, sent as browser HTTP request header Opt- in signal to third parfes not to track Think of it as the Don t Track Me Bro header How to defeat? Do nothing (or point and laugh) Use protocols that aren t HTTP (e.g., FTP, binary sockets) if technical restricfons ever enforced 52

TRACKING SERVER 53

Goals of Tracking Server Create suitable environment to track web users Approach is to be as insecure and open as possible Support insecure protocols Allow all cross- domain requests Use separate domain, third- party locafon Bootstrap from first- party content if needed 54

ExisFng Sites BrowserSpy (hop://browserspy.dk/) PanopFclick (hops://panopfclick.eff.org/) Cross- browser fingerprinfng test 2.0 (hop:// fingerprint.pet- portal.eu/) Evercookie (hop://samy.pl/evercookie/) Metasploit Decloaking engine (hop://decloak.net/) IP Check (hop://ip- check.info/) 55

ExisFng Site Shortcomings ExisFng sites offer disjointed funcfonality Need purpose built tools to address weaknesses InteracFon with an untrusted third- party site Storage in unknown locafons and formats Lack of comprehensiveness Some features liole more than proof- of- concept Big difference between displaying and storing IntegraFon capabilifes missing or non- existent 56

Design Goals Design with correlafon in mind Tracking tokens are cleared over Fme FingerprinFng may not yield unique results Combine and cross- reference collected data The larger the network view, the more effecfve Methods to inject web tracking code Embed in HTML on your web site Use a transparent network proxy 57

Protocol Support Tracking server should support several protocols FTP DNS HTTP HTTPS Policy servers for Flash and Silverlight Binary sockets Media (RTMP, etc.) 58

Alpha Release Tracking server and uflifes Tracking server suitable for network or local machine Local, transparent HTTP proxy capable of injecfng tracking code Open Source WriOen in Python, GPLv3 license Download: h"ps://code.google.com/p/w0y/ Many features missing! 59

Conclusions Final Thoughts Web tracking is inevitable ImpracFcal to prevent web tracking between coordinafng sites QuesFons? 60

Contact Send your feature requests and hate mail gfleischer@gmail.com 61

Feedback Forms Please complete the Speaker Feedback Surveys. This will help speakers to improve and for Black Hat to make beoer decisions regarding content and presenters for future events. 62

63