<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>How To Survive The Claire Perry Internet &#187; O2</title>
	<atom:link href="/tag/o2/feed/" rel="self" type="application/rss+xml" />
	<link>https://survivetheclaireperryinter.net</link>
	<description></description>
	<lastBuildDate>Fri, 16 Oct 2015 09:30:30 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8</generator>
	<item>
		<title>Increase the Cost of Filtering to ISPs by Raising ADR Complaints</title>
		<link>https://survivetheclaireperryinter.net/2014/10/01/increase-the-cost-of-filtering-to-isps-by-raising-adr-complaints/</link>
		<comments>https://survivetheclaireperryinter.net/2014/10/01/increase-the-cost-of-filtering-to-isps-by-raising-adr-complaints/#comments</comments>
		<pubDate>Wed, 01 Oct 2014 20:00:45 +0000</pubDate>
		<dc:creator><![CDATA[Op]]></dc:creator>
				<category><![CDATA[Overblocking]]></category>
		<category><![CDATA[ADR]]></category>
		<category><![CDATA[BT]]></category>
		<category><![CDATA[EE]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[O2]]></category>
		<category><![CDATA[Sky]]></category>
		<category><![CDATA[TalkTalk]]></category>
		<category><![CDATA[Three]]></category>
		<category><![CDATA[Virgin]]></category>

		<guid isPermaLink="false">https://survivetheclaireperryinter.net/?p=563</guid>
		<description><![CDATA[OFCOM has a lot of rules for ISPs to follow and under General Condition 14 (GC14.5 – Dispute Resolution) – all ISPs in the United Kingdom are required to be members of an approved ADR scheme like CISAS or Ombudsman Services, which are designed to supplement (not replace) the ISPs own internal complaints procedures and<br /><a class="moretag" href="/2014/10/01/increase-the-cost-of-filtering-to-isps-by-raising-adr-complaints/">Continue reading...</a>]]></description>
				<content:encoded><![CDATA[<p>OFCOM has a lot of rules for ISPs to follow and under General Condition 14 (GC14.5 – Dispute Resolution) – all ISPs in the United Kingdom are required to be members of an approved ADR scheme like CISAS or Ombudsman Services, which are designed to supplement (not replace) the ISPs own internal complaints procedures and are only used after a dispute has gone unresolved for 8 weeks (the “Deadlock Letter” stage).</p>
<p>The ADR process is a very useful tool for consumers, albeit an unpopular one among ISPs <em>(i.e. they still have to pay up to around £350 +vat in fees to the ADR regardless of whether or not they win)</em>, but some smaller providers continue to flout the rules by wrongly assuming that they don’t have to offer an ADR or by failing to make customers aware that one is available.</p>
<p>The key here is that if one were to make a request to unblock a website and the ISP doesn&#8217;t co-operate then you can start the ADR process.</p>
<p>Upon being told that the ISP won&#8217;t unblock the website request a deadlock letter in accordance with the Alternative Dispute Resolution process.</p>
<p>At this point the ISP representative will probably try and convince you that you cannot make an ADR complaint about this as they are scared of costing the company ~£350. Insist on your deadlock </p>
<p>Imagine if everyone with a censored Internet connection raised an ADR complaint for <strong>every</strong> blocked website.</p>
<p>Choose.net has an <a href="http://www.choose.net/media/guide/features/broadband-complaint-how-to.html">excellent guide on how to go about raising an ADR</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://survivetheclaireperryinter.net/2014/10/01/increase-the-cost-of-filtering-to-isps-by-raising-adr-complaints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filters Are For Coffee &#8211; Not The Internet</title>
		<link>https://survivetheclaireperryinter.net/2014/09/29/filters-are-for-coffee-not-the-internet/</link>
		<comments>https://survivetheclaireperryinter.net/2014/09/29/filters-are-for-coffee-not-the-internet/#comments</comments>
		<pubDate>Mon, 29 Sep 2014 20:14:00 +0000</pubDate>
		<dc:creator><![CDATA[Op]]></dc:creator>
				<category><![CDATA[Censorship Evasion]]></category>
		<category><![CDATA[Censorship Reporting]]></category>
		<category><![CDATA[Filter bypass]]></category>
		<category><![CDATA[Filter Evasion]]></category>
		<category><![CDATA[Block]]></category>
		<category><![CDATA[BT]]></category>
		<category><![CDATA[Bypass]]></category>
		<category><![CDATA[bypass bt filter]]></category>
		<category><![CDATA[Cafe Nero]]></category>
		<category><![CDATA[Costa Coffee]]></category>
		<category><![CDATA[Evasion]]></category>
		<category><![CDATA[Filter]]></category>
		<category><![CDATA[Friendly WiFi]]></category>
		<category><![CDATA[O2]]></category>
		<category><![CDATA[O2 Wifi]]></category>
		<category><![CDATA[Overblocking]]></category>
		<category><![CDATA[Starbucks]]></category>

		<guid isPermaLink="false">https://survivetheclaireperryinter.net/?p=568</guid>
		<description><![CDATA[Today is International Coffee Day so what better day to take the Open Rights Group tag line of &#8220;Filters Are For Coffee Not The Internet&#8221; and investigate the capabilities of the Internet filtering at various coffee locations. Costa Coffee / Cafe Nero &#8211; O2 Wifi DNS Spoofing: Partial MiTM SSL: No Deep Packet Inspection: Yes<br /><a class="moretag" href="/2014/09/29/filters-are-for-coffee-not-the-internet/">Continue reading...</a>]]></description>
				<content:encoded><![CDATA[<p>Today is <a href="https://en.wikipedia.org/wiki/International_Coffee_Day">International Coffee Day</a> so what better day to take the Open Rights Group tag line of &#8220;Filters Are For Coffee Not The Internet&#8221; and investigate the capabilities of the Internet filtering at various coffee locations.</p>
<h2>Costa Coffee / Cafe Nero &#8211; O2 Wifi</h2>
<p><strong>DNS Spoofing:</strong> <span style="color: orange;">Partial</span><br />
<strong>MiTM SSL:</strong> <span style="color: green;">No</span><br />
<strong>Deep Packet Inspection:</strong> <span style="color: red;">Yes</span><br />
<strong>Destination IP Transit Interference:</strong> <span style="color: red;">Yes</span></p>
<p>O2 WiFi requires two-factor registration via a phone number and SMS claiming that it is a legal requirement. This is easily traversed with a disposable PAYG phone <em>(e.g. EE have a Nokia 106 for £4.99 &#8211; an excellent option for a burner phone).</em> Once you&#8217;ve completed the two-factor check <em>(the first being they record your MAC address)</em> you can start browsing.</p>
<p>The first thing to notice is that unlike their mobile offering the WiFi has several layers of filtering, some DNS queries are intercepted to send you to a block page and even if you resolve the A record out-of-band Squid will intercept and block.</p>
<p>If you manually query a 3rd party DNS server for the record in question then it appears to return normally.</p>
<p>This level of blocking however is hit and miss with domains such as the thepiratebay.se suffering the worst interference but others that are blocked by the default mobile filters <strong>aren&#8217;t</strong> blocked on the WiFi.</p>
<p>Thankfully all the usual bypass methods <em>(Tor, RoutingPacketsIsNotACrime.uk, SSH SOCKS5 tunnel and SSL)</em> work flawlessly despite the use of Squid and DNS interference.</p>
<p>Interestingly O2 have chosen to force Google to not allow SSL searching (so they can inspect the content and block stuff) which also means anyone else in the coffee shop can spy on your browsing. DuckDuckGo.com does still offer SSL searching and isn&#8217;t blocked.</p>
<h4>Breaking down an O2 Intercept</h4>
<p>The packet capture for this attempt to hit http://reddit.com/r/nsfw is <a href="/wp-content/uploads/2014/09/costa-1.pcapng">here</a>, the pertinent part of the HTTP transfer is below;</p>
<pre>GET /r/nsfw HTTP/1.1
User-Agent: curl/7.34.0
Host: reddit.com
Accept: */*

HTTP/1.1 200 OK
Date: Mon, 29 Sep 2014 10:28:51 GMT
X-Template: blacklisted
Content-Type: text/html
Content-Length: 195
Cache-Control: no-cache
X-Cache: MISS from Squid
Via: 1.1 Squid (squid/3.2.11)
Connection: keep-alive
&lt; !DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;meta http-equiv="refresh" content="0; url=https://www.o2wifi.co.uk/pages/n4?bd=http://reddit.com:80/r/nsfw"/&gt;
    &lt;title&gt;&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Despite getting the correct A records back from the nameservers in packet 5 we can see in packets 12 onwards that the O2 Squid server <em>(ironically the same software <a href="https://PacketFlagon.is">PacketFlagon.is</a> uses to <strong>bypass</strong> censorship!)</em> returns back some HTML with a meta refresh that instantly directs the browser to their block page.</p>
<p>As shown in <a href="/wp-content/uploads/2014/09/costa-get-intercept.pcapng">this packet capture</a> there is no IP/Host matching it is all done on the GET path and the Host header so Hosts files hacks won&#8217;t work either.</p>
<p>High Court blocks are solved using DNS and <a href="/wp-content/uploads/2014/09/costa-piratebay.pcapng">an attempt to resolve</a> thepiratebay.se returns 127.0.0.1.</p>
<p>Finally some other blocks such as the block of torproject.org are achieved by <a href="/wp-content/uploads/2014/09/costa-torproject-min.pcapng">just silently dropping the packets</a>.</p>
<div class="row pad-xs-5 pad-sm-10 pad-md-20 pad-lg-20" style="min-height:0; padding-top:0; padding-bottom:0;">
<div class="col-lg-12 col-md-12 col-sm-12" style="min-height:0; border-bottom:1px solid rgba(0,0,0,0.1); margin-top:10px; margin-bottom:10px; "></div>
</div>
<h2>Starbucks &#8211; BT / Friendly WiFi</h2>
<p>The people at Friendly WiFi appear to be quite zealous about blocking &#8220;pornography&#8221; and come out with ridiculous claims such as that by putting in their filtering one gets a &#8220;porn free city&#8221;</p>
<blockquote class="twitter-tweet" lang="en"><p>Thanks <a href="https://twitter.com/stephen_mosley">@stephen_mosley</a> for supporting our campaign to make Chester world&#39;s first  <a href="https://twitter.com/hashtag/pornfreecity?src=hash">#pornfreecity</a> <a href="https://twitter.com/chestertweetsuk">@chestertweetsuk</a> <a href="http://t.co/WlL4X1cOJv">pic.twitter.com/WlL4X1cOJv</a></p>
<p>&mdash; getmedigital.com (@getmedigital) <a href="https://twitter.com/getmedigital/status/514343530119323648">September 23, 2014</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>Thankfully their blocks are almost as easy to bypass as O2&#8242;s. Interestingly, unlike O2, Starbucks and BT don&#8217;t believe they are required to legally know who is using their WiFi and no registration is required.</p>
<p><strong>DNS Spoofing:</strong> <span style="color: red;">Yes</span><br />
<strong>MiTM SSL:</strong> <span style="color: green;">No</span><br />
<strong>Deep Packet Inspection:</strong> <span style="color: red;">Yes</span><br />
<strong>Destination IP Transit Interference:</strong> <span style="color: green;">No</span></p>
<p>Websites that are blocked due to sub-content <em>(e.g. reddit.com/r/nsfw)</em> are blocked over HTTP but accessible over SSL. Interestingly thepiratebay.se is reachable over SSL e.g.</p>
<pre class="code">curl -k -v https://194.71.107.27 -H 'Host: thepiratebay.se'</pre>
<p>Using PAC files such as RoutingPacketsIsNotACrime.uk was hit and miss and requires some more investigation but other bypass options such as SSL, Tor and using an SSH SOCKS5 tunnel all worked without issue.</p>
<p>BT also force Google to downgrade search to a non-ssl version which means others could monitor your search terms.</p>
<h4>Breaking down a BT Intercept</h4>
<p>When trying to hit reddit.com/r/nsfw <a href="/wp-content/uploads/2014/09/bt-reddit-nsfw-min.pcap">this packet capture</a> shows a HTTP 302 is returned rather than the site we&#8217;re after.</p>
<pre>GET /r/nsfw HTTP/1.1
User-Agent: curl/7.34.0
Accept: */*
Host: reddit.com

HTTP/1.1 302 Found
Location: http://217.41.225.106/redirect/starbucks/index.html</pre>
<p>An attempt to reach thepiratebay.se resulted in a forged DNS reply for 193.113.9.167 that simply displays the words &#8220;Error &#8211; site blocked&#8221;</p>
<p>Interestingly as shown <a href="/wp-content/uploads/2014/09/bt-pirate-bay-dns-bypass-min.pcap">in this packet capture</a>, resolving the A record out-of-band and then passing a HTTP request through works fine!</p>
<h2>Bonus &#8211; EE Hotspot</h2>
<p>During my travels between coffee shops I stumbled across an EE hotspot which had a completely different set of filtering as it uses OpenDNS.</p>
<p><strong>DNS Spoofing:</strong> <span style="color: red;">Yes</span><br />
<strong>MiTM SSL:</strong> <span style="color: green;">No</span><br />
<strong>Deep Packet Inspection:</strong> <span style="color: green;">No</span><br />
<strong>Destination IP Transit Interference:</strong> <span style="color: green;">No</span></p>
<p>Much like O2 you are required to register using a phone and EE uses <a href="http://picopoint.com">www.picopoint.com</a> to do this.</p>
<p>The filtering is very lax with reddit.com/r/nsfw and the Pirate Bay being allowed through however shock sites like rotten.com resolve to 67.215.65.130 which results in an OpenDNS block page.</p>
<p>Since the filtering is entirely DNS based out-of-band resolution, RoutingPacketsIsNotACrime, Tor and SSH SOCKS5 tunnels all work fine.</p>
<div class="row pad-xs-5 pad-sm-10 pad-md-20 pad-lg-20" style="min-height:0; padding-top:0; padding-bottom:0;">
<div class="col-lg-12 col-md-12 col-sm-12" style="min-height:0; border-bottom:1px dashed rgba(0,0,0,0.1); margin-top:10px; margin-bottom:10px; "></div>
</div>
<p>I&#8217;ve drank far too much coffee today and it&#8217;s a shame that public establishments feel it necessary to put censorship technology that performs excessive over-blocking <em>(how is torproject.org sexual?)</em> but at least it is still easy to bypass.</p>
<p><a href="/wp-content/uploads/2014/09/coffeecoffee.jpg" class="lightbox" ><img src="/wp-content/uploads/2014/09/coffeecoffee.jpg" alt="coffeecoffee" width="500" height="309" class="aligncenter size-full wp-image-579" /></a></p>
]]></content:encoded>
			<wfw:commentRss>https://survivetheclaireperryinter.net/2014/09/29/filters-are-for-coffee-not-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Bypass O2&#8242;s Internet Filtering without a Credit Card or Identifying Yourself</title>
		<link>https://survivetheclaireperryinter.net/2014/09/27/how-to-bypass-o2s-internet-filtering-without-a-credit-card-or-identifying-yourself/</link>
		<comments>https://survivetheclaireperryinter.net/2014/09/27/how-to-bypass-o2s-internet-filtering-without-a-credit-card-or-identifying-yourself/#comments</comments>
		<pubDate>Sat, 27 Sep 2014 20:57:47 +0000</pubDate>
		<dc:creator><![CDATA[Op]]></dc:creator>
				<category><![CDATA[Censorship Evasion]]></category>
		<category><![CDATA[Filter bypass]]></category>
		<category><![CDATA[Filter Evasion]]></category>
		<category><![CDATA[age check]]></category>
		<category><![CDATA[blocking]]></category>
		<category><![CDATA[Bypass]]></category>
		<category><![CDATA[filtering]]></category>
		<category><![CDATA[O2]]></category>
		<category><![CDATA[packet capture]]></category>
		<category><![CDATA[wireshark]]></category>

		<guid isPermaLink="false">https://survivetheclaireperryinter.net/?p=514</guid>
		<description><![CDATA[O2 were next on the list for a tear-down of their filtering anyway but as luck would have it they blocked RoutingPacketsIsNotACrime.uk which meant I had control of both ends of a TCP/HTTP connection that was being filtered. Being able to investigate what happens from both sides is an opportunity that is too good to<br /><a class="moretag" href="/2014/09/27/how-to-bypass-o2s-internet-filtering-without-a-credit-card-or-identifying-yourself/">Continue reading...</a>]]></description>
				<content:encoded><![CDATA[<p>O2 were next on the list for a tear-down of their filtering anyway but as luck would have it they blocked RoutingPacketsIsNotACrime.uk which meant I had control of both ends of a TCP/HTTP connection that was being filtered. Being able to investigate what happens from both sides is an opportunity that is too good to miss.</p>
<p>You can buy an O2 PAYG device such as a phone, dongle or MiFi in cash and with a name that doesn&#8217;t require verification.</p>
<p>This will however result in you receiving a SIM with the &#8220;Default Safety&#8221; level of filtering enabled. Attempting to visit legitimate, non-sexual and legal websites such as RoutingPacketsIsNotACrime.uk can result in a block page;<br />
<a class="lightbox" href="/wp-content/uploads/2014/09/o2-block.png"><img class="aligncenter size-medium wp-image-516" alt="o2-block" src="/wp-content/uploads/2014/09/o2-block-300x205.png" width="300" height="205" /></a></p>
<p>The good news is that the O2 filters are quite easy to circumnavigate.</p>
<p><strong>DNS Spoofing:</strong> <span style="color: green;">No</span><br />
<strong>MiTM SSL:</strong> <span style="color: green;">No</span><br />
<strong>Deep Packet Inspection:</strong> <span style="color: orange;">Partial</span><br />
<strong>Destination IP Transit Interference:</strong> <span style="color: red;">Yes</span><br />
-<br />
<strong>Unique Reason for Block:</strong> <span style="color: red;">No</span><br />
<strong>Categorised Block:</strong> <span style="color: red;">No</span><br />
<strong>Ability to report incorrect block:</strong> <span style="color: red;">No</span></p>
<div class="row pad-xs-5 pad-sm-10 pad-md-20 pad-lg-20" style="min-height:0; padding-top:0; padding-bottom:0;">
<div class="col-lg-12 col-md-12 col-sm-12" style="min-height:0; border-bottom:1px solid rgba(0,0,0,0.1); margin-top:10px; margin-bottom:10px; "></div>
</div>
<h4>Tor</h4>
<p>The goto advice is, as always, to <a href="https://torproject.org">download Tor</a> as it will not only bypass all filtering but will also help mask those who need to use Tor to aid in protecting their privacy if configured as a relay too.</p>
<p>With Tor installed and configured to listen on port 9050 as a SOCKS proxy <em>(or using the bundled Tor Browser if using the Tor Bundle or the Android port <a href="https://play.google.com/store/apps/details?id=org.torproject.android">Orbot</a>)</em> you will be able to bypass all filtering <em>(including the censored blocks forced on you even if you are over 18)</em></p>
<h4>SOCKS5 SSH Proxy</h4>
<p>If you don&#8217;t want to use Tor then creating a SOCKS tunnel via SSH is also an excellent option. Visit <a href="http://LowEndBox.com">LowEndBox.com</a> where you can get tiny cloud servers <em>(e.g. 128Mb of RAM)</em> for as little as £5 a year that can be paid for in advance with a <a href="/2014/04/11/using-anonymous-visa-cards-to-create-untraceable-surveillance-censorship-avoidance-proxies-or-webhosts/">prepaid Visa/Mastercard</a>.</p>
<p>Once you&#8217;ve purchased or otherwise acquired a server running OpenSSH <em>(or any other variety that supports tunneling)</em> simply connect to it specifying the -D option to create a local dynamic tunnel;</p>
<pre class="bash">ssh -D 9050 proxy1.survivetheclaireperryinter.net</pre>
<p>Once connected you can configure your browser to use 127.0.0.1 port 9050 as a SOCKS5 proxy <em>(Edit &#8211; Preferences &gt; Network &gt; Settings &gt; SOCKS Host)</em> and bypass all filtering.</p>
<h4>SSL</h4>
<p>O2 cannot Man in the Middle <em>(MiTM)</em> SSL connections so any website that has an SSL component and <strong>not</strong> yet subject to a High Court Order block is accessible over SSL.</p>
<p>This also means that you can use a <a href="https://RoutingPacketsIsNotACrime.uk">RoutingPacketsIsNotACrime.uk </a>PAC file to get around all filtering despite them banning the HTTP path.</p>
<h2>
<div class="row pad-xs-5 pad-sm-10 pad-md-20 pad-lg-20" style="min-height:0; padding-top:0; padding-bottom:0;">
<div class="col-lg-12 col-md-12 col-sm-12" style="min-height:0; border-bottom:1px solid rgba(0,0,0,0.1); margin-top:10px; margin-bottom:10px; "></div>
</div>
</h2>
<h2>Attacking from Both Sides</h2>
<p>Since this is the first time I&#8217;ve had access to both sides of the filtering fence I can examine what is happening to our packets to see how O2&#8242;s filtering works.</p>
<p>A first attempt at connecting provides the <a href="/wp-content/uploads/2014/09/clientside-first.pcap">attached packet capture</a> where we can see that our host <em>(OpenBSD)</em> does a DNS lookup for both the A and the AAAA record. The MiFi dongle returns the correct IP addresses for both queries indicating that there isn&#8217;t any Nominum style DNS interference going on.</p>
<p>Packet 5 is the start of the HTTP sequence and everything is going fine, in packet 8 curl sends the host header we&#8217;re after, at this point there&#8217;s a rogue TLSv1 encrypted connection to 185.29.44.9 <em>(o2bb.winint.net and mobilebroadbandaccess.o2.co.uk &#8211; we&#8217;ll delve into this later)</em> which is from an earlier session.</p>
<p>Packet 11 appears to be an ACK from my server in response to packet 8 however packets 12 and 13 shows that the server sent a 302 redirect to send the browser to http://assets.o2.co.uk/18plusaccess. Well we know that this isn&#8217;t true. Interestingly we then get some packets <em>(16,17 and 19)</em> that Wireshark flags as out of order and duplicate responses to the earlier packets.</p>
<p>From this we can make a couple of assumptions, the first that O2&#8242;s filtering system relies on a deep packet or proxy inspection of the host header and secondly that there is possibly a race condition for returning HTTP packets.</p>
<h4></h4>
<h4>Hacking RFCs</h4>
<p>RFC 2616 section 14.23 dictates that a valid HTTP/1.1 request will contain a host header but doesn&#8217;t specify how many <em>(for obvious reasons),</em> so lets see if we can abuse this by manipulating the HTTP headers using curl e.g;</p>
<pre class="bash">curl 89.151.84.121 -H 'Host: o2-censor.com' -H 'routingpacketsisnotacrime.uk'</pre>
<p>The HTTP request is allowed through without issue however the web server at the other end will also ignore the second Host header and attempt to serve the first.</p>
<p>Passing the first host header as an empty string and the second as the host we want results in a block. Maybe we&#8217;ll come back to this later <em>(custom build of apache + browser plugin?)</em>.</p>
<p>The next test is to see if there is coupling between the IP and HTTP host.</p>
<pre class="bash">curl 46.4.22.9 -H 'routingpacketsisnotacrime.uk'</pre>
<p>Still results in a block. OK, well we know that O2 can&#8217;t interfere with 443, it&#8217;s possible that they see the cypto handshake or that they see it&#8217;s not port 80 and ignore it so I tried setting an apache host to listen on 8081 but the Host header was still detected and blocked.</p>
<p>On a whim I tried using a RoutingPacketsIsNotACrime.uk PAC file served over SSL and that worked which was a relief.</p>
<p>Anyhow, back to messing with host headers. Since we know that O2 rely on the Host header lets set a rubbish DNS name in /etc/hosts <em>(or C:\windows\system32\drivers\etc\hosts for you Windows people)</em> and configure apache to serve the censored website on a given IP regardless of host header <em>(a default vhost if you will)</em>.</p>
<pre>127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
89.151.84.121 routingpacketsisgreat.fucko2</pre>
<p>Success! As you can see in packet 4 of this <a href="/wp-content/uploads/2014/09/clientside-2.pcapng">Wireshark packet capture</a> we sent a Host header of routingpacketsisgreat.fucko2 and received the <strong>correct</strong> response back from the server which is a 302 to <strong>https</strong>://RoutingPacketsIsNotACrime.uk and since we know that SSL is not interfered with the connection continues.</p>
<p>For completeness sake lets see what a censored connection looks like <a href="/wp-content/uploads/2014/09/server-1.pcap">from the server side</a>.</p>
<p>When sending a HTTP GET to wtfismyip.com the IP returned was consistently 82.132.245.233 however as we can see from the packet capture the IP that reached out to my server was 82.132.245.111. It starts the first part of the TCP handshake and then sends a TCP reset.</p>
<p>From within the O2 network this server appears to be listening on thousands of ports whereas from an outside source it appears that there are no listening ports.</p>
<p>All servers within the 82.132.244.0/24 have a PTR record of dab-rcn1-h-<strong>xx</strong>-3.dab.02.net where xx does increase with each IP but does not correlate to the IP itself.</p>
<p>There appears to be a limited form of session or IP &#8216;stickiness&#8217; with repeated connections to differing remote IPs always coming from the same host <em>(e.g. a.b.c.d &#8216;sticks&#8217; to dab-rcn1-h-<strong>ab</strong>-3.dab.02.net but e.f.g.h &#8216;sticks&#8217; to dab-rcn1-h-<strong>xy</strong>-3.dab.02.net).</em>I didn&#8217;t test the longevity of the stickiness but it doesn&#8217;t really matter.</p>
<p>Using our fake Host header trick <a href="/wp-content/uploads/2014/09/server-2.pcap">the connection completes</a> but still comes from the 82.132.245.0/24 range <em>(although in other captures I&#8217;ve seen 82.132.244.0/24)</em>. So it would appear that these proxies will evaluate <strong>all</strong> plain text traffic regardless of whether the IP is known to host blocked content.</p>
<p>The TCP dump indicates that whilst the initial TCP handshake happens the upper layer (HTTP) doesn&#8217;t until the proxy has evaluated the host header which means the second assumption about a possible race condition was incorrect.</p>
<h4></h4>
<h4>StreamShield</h4>
<p>As an interesting aside by evaluating how the server responds to certain requests it&#8217;s fairly likely that these filtering boxes are running some form of Linux, that conclusion is further strengthened by the fact that BAE is <a href="https://uk.linkedin.com/jobs2/view/18385830">hiring Linux C++ engineers for their StreamShield</a> product which we know from Court documents is what O2 use.</p>
<p><a class="lightbox" href="/wp-content/uploads/2014/09/o2-streamshield.png"><img class="aligncenter size-large wp-image-536" alt="o2-streamshield" src="/wp-content/uploads/2014/09/o2-streamshield-1024x314.png" width="750" height="229" /></a>The BAE StreamShield system is quite nasty, enabling real time deep packet inspection of various protocols (which is how it picks out the host header from HTTP streams) but can also do real time filtering based on the content of the returned data.</p>
<p>It also gathers and stores all that information about you so that O2 can hand over details about what you&#8217;ve been doing to anyone who asks thanks to the Data Retention and Investigatory Powers Act.</p>
<h4></h4>
<h4>Returning to 185.29.44.9</h4>
<p>This IP block belongs to a company called IMIMOBILE EUROPE LTD who appear to be in the business of monetizing mobile customers through a variety of means.</p>
<p>185.29.44.9 is mobilebroadbandaccess.o2.co.uk and is part of a joint venture between the two to create self service portals.</p>
<p>Interestingly you can put any O2 phone number in, from any Internet connection <em>(including Tor)</em> and it will divulge a limited amount of information about the account.</p>
<p><a class="lightbox" href="/wp-content/uploads/2014/09/o2-selfservice.png"><img class="aligncenter size-medium wp-image-540" alt="o2-selfservice" src="/wp-content/uploads/2014/09/o2-selfservice-300x149.png" width="300" height="149" /></a></p>
<p>Little though the information may be, with scams such as the &#8220;Microsoft Event View Tech Support&#8221; or &#8220;Compromised Bank Card key in your Pin&#8221; call it is dangerous to tell the wrong people when another persons PAYG SIM expires and how much data is left, vulnerable people can be convinced with less. But then again, we&#8217;re talking about the company that <a href="http://pete-hamilton.co.uk/2013/12/21/o2-block-childline-nspcc/">censored the NSPCC and ChildLine websites</a> so looking after vulnerable people isn&#8217;t top of their priorities.</p>
<div class="row pad-xs-5 pad-sm-10 pad-md-20 pad-lg-20" style="min-height:0; padding-top:0; padding-bottom:0;">
<div class="col-lg-12 col-md-12 col-sm-12" style="min-height:0; border-bottom:1px dashed rgba(0,0,0,0.1); margin-top:10px; margin-bottom:10px; "></div>
</div>
<p>So, I&#8217;m down another £40 but it&#8217;s been very interesting to play with O2&#8242;s censorship technology which, it turns out, is easy to circumnavigate because the &#8216;Net interprets censorship as damage and routes around it.</p>
<blockquote><p>To prohibit the reading of certain books is to declare the inhabitants to be either fools or slaves<small>Claude Adrien Helvétius</small></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>https://survivetheclaireperryinter.net/2014/09/27/how-to-bypass-o2s-internet-filtering-without-a-credit-card-or-identifying-yourself/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Overblocking for reasons of &#8220;Sexual Orientation&#8221; &#8211; This time at Costa Coffee</title>
		<link>https://survivetheclaireperryinter.net/2014/05/19/more-overblocking-for-reasons-of-sexual-orientation-this-time-at-costa-coffee/</link>
		<comments>https://survivetheclaireperryinter.net/2014/05/19/more-overblocking-for-reasons-of-sexual-orientation-this-time-at-costa-coffee/#comments</comments>
		<pubDate>Mon, 19 May 2014 14:17:37 +0000</pubDate>
		<dc:creator><![CDATA[Op]]></dc:creator>
				<category><![CDATA[Censorship Reporting]]></category>
		<category><![CDATA[Overblocking]]></category>
		<category><![CDATA[Block]]></category>
		<category><![CDATA[Costa Coffee]]></category>
		<category><![CDATA[Filter]]></category>
		<category><![CDATA[O2]]></category>

		<guid isPermaLink="false">https://survivetheclaireperryinter.net/?p=342</guid>
		<description><![CDATA[It didn&#8217;t take long for more high profile websites to get overblocked by overzealous filters. PinkNews.co.uk reported today that it is blocked at Costa Coffee locations due to &#8220;Sexual Orientation&#8221;. Yes, we&#8217;ve got to protect those kids from the childhood corrupting influence of Gay news. But don&#8217;t worry, in the event that someone then planned<br /><a class="moretag" href="/2014/05/19/more-overblocking-for-reasons-of-sexual-orientation-this-time-at-costa-coffee/">Continue reading...</a>]]></description>
				<content:encoded><![CDATA[<p>It didn&#8217;t take long for more high profile websites to get overblocked by overzealous filters.</p>
<p>PinkNews.co.uk <a href="http://www.pinknews.co.uk/2014/05/19/costa-coffee-blocks-pinknews-and-stonewall-using-sexual-orientation-firewall/">reported today</a> that it is blocked at Costa Coffee locations due to &#8220;Sexual Orientation&#8221;.</p>
<p>Yes, we&#8217;ve got to protect those kids from the childhood corrupting influence of Gay news.</p>
<p>But don&#8217;t worry, in the event that someone then planned on browsing to <a href="http://www.stonewall.org.uk/">Stonewall</a> to report what they may feel is an inappropriate block bordering on discrimination they&#8217;d find that Stonewall is blocked too.</p>
<p>Things are only going to get worse&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>https://survivetheclaireperryinter.net/2014/05/19/more-overblocking-for-reasons-of-sexual-orientation-this-time-at-costa-coffee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
