<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUINSHo5cCp7ImA9WhRbEEQ.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230</id><updated>2012-02-01T11:53:19.428+01:00</updated><category term="WebApp" /><category term="Mobile" /><category term="Incident Handling" /><category term="PenTest" /><category term="GSM" /><category term="iphone" /><category term="Wi-Fi" /><category term="OWASP" /><category term="SMB" /><category term="tower location" /><category term="Vulnerability" /><category term="wireshark SMB" /><category term="SSL" /><category term="GSM/UMTS/GPRS/EDGE/HSPA/LTE" /><category term="signal" /><category term="GPRS" /><category term="Tool" /><title>Taddong</title><subtitle type="html">Security in Depth</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.taddong.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.taddong.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Raul Siles</name><uri>http://www.blogger.com/profile/06709503832135757060</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Taddong" /><feedburner:info uri="taddong" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D0ANQ34_eip7ImA9WhRQEkw.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-6275610344910381874</id><published>2011-12-06T23:42:00.001+01:00</published><updated>2011-12-07T00:56:32.042+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-07T00:56:32.042+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>Cookie decoder: F5 BIG-IP</title><content type="html">I still remember with excitement the first time I found my first F5 BIG-IP load balancer persistent cookie, disclosing the network details of the internal hosts: IP address and TCP port. Although it was a few years ago during a pen-test, still today is very common to find them on lots of target environments. The BIG-IP cookie value (used by the F5 devices to balance the client web traffic load) &lt;a href="http://support.f5.com/kb/en-us/solutions/public/6000/900/sol6917.html"&gt;is encoded using a public algorithm&lt;/a&gt; (since May 2007) designed by F5 ("&lt;a href="http://support.f5.com/kb/en-us/solutions/public/6000/900/sol6917.html"&gt;SOL6917: Overview of BIG-IP persistence cookie encoding&lt;/a&gt;").&lt;br /&gt;
&lt;br /&gt;
As it is clearly described in the "&lt;a href="http://blog.taddong.com/2011/07/owasp-session-management-cheat-sheet.html"&gt;OWASP Session Management Cheat Sheet&lt;/a&gt;" I published this Summer (section "2.4. Session ID Content (or Value)"), it is not a very good practice to include any meaningful or sensitive data inside the session ID, or cookie in this case. At some point, someone will figure out how to decode it :-)... so, instead of encoding the data, it is better to use other kind of session ID values. F5 provides a solution to this issue based on encrypting these persistent cookies: "&lt;a href="http://support.f5.com/kb/en-us/solutions/public/7000/700/sol7784.html"&gt;SOL7784: Overview of cookie encryption&lt;/a&gt;".&lt;br /&gt;
&lt;br /&gt;
It is possible to decode the cookies manually reversing the F5 algorithm used to encode the data, but when you are dealing with multiple load balancers and/or internal servers, it is better to use a tool to help in decoding all the cookie values gathered.&amp;nbsp;Although this is an old and well known issue, based on the &lt;a href="http://penturalabs.wordpress.com/2011/03/29/how-to-decode-big-ip-f5-persistence-cookie-values/"&gt;Python script published by dusty&lt;/a&gt; on March 29, 2011, we decided to release a extended version of the script, called "BIG-IP_cookie_decoder.py" and &lt;a href="http://www.taddong.com/tools/BIG-IP_cookie_decoder.zip"&gt;available here&lt;/a&gt; (in ZIP format), that decodes both,&amp;nbsp;the internal host&amp;nbsp;IP address and TCP port. Usage example (as root - in fact not required ;-):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-BYPaZuwCE1k/Tt6jzi70V-I/AAAAAAAAAAY/_RlCTXQox08/s1600/BIG-IP_cookie_decoder.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-BYPaZuwCE1k/Tt6jzi70V-I/AAAAAAAAAAY/_RlCTXQox08/s1600/BIG-IP_cookie_decoder.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Enjoy it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-6275610344910381874?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/rLxpO8-NKjs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/6275610344910381874/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/12/cookie-decoder-f5-big-ip.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/6275610344910381874?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/6275610344910381874?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/rLxpO8-NKjs/cookie-decoder-f5-big-ip.html" title="Cookie decoder: F5 BIG-IP" /><author><name>Raul Siles</name><uri>http://www.blogger.com/profile/06709503832135757060</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-BYPaZuwCE1k/Tt6jzi70V-I/AAAAAAAAAAY/_RlCTXQox08/s72-c/BIG-IP_cookie_decoder.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.taddong.com/2011/12/cookie-decoder-f5-big-ip.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUENQXs8fip7ImA9WhRTEEs.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-277039604045281506</id><published>2011-10-29T02:19:00.001+02:00</published><updated>2011-10-31T14:28:10.576+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-31T14:28:10.576+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>Hacking Vulnerable Web Applications Without Going To Jail</title><content type="html">&lt;div&gt;
While teaching web application security and penetration testing, one of the most prevalent questions from the audience at the end of every week is: "&lt;i&gt;How and where can I (legally) put in practice all the knowledge and &lt;/i&gt;&lt;i&gt;test all &lt;/i&gt;&lt;i&gt;the different tools we have covered during the training (while preparing for the next real-world engagement)?&lt;/i&gt;" Along the years I have been providing multiple references to the attendees (including the option of testing real-world vulnerable open-source web applications) and mentioned several times that I had a pending blog post listing all them together... Today is the day! ;)... and I will be able to refer people here in future training sessions.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This blog post provides an extensive and updated list (as of October 20, 2011) of vulnerable web applications you can test your web hacking knowledge, pen-testing tools, skills, and kung-fu on, with an added bonus... &lt;b&gt;without going to jail&lt;/b&gt; :) The vulnerable web applications have been classified in three categories: offline, VMs/ISOs, and online. Each list has been ordered alphabetically.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-0fL6WA_e59Q/Tp4CmaTA32I/AAAAAAAAAAQ/r0XKgf2Ej_g/s1600/get-out-of-jail.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5664968240196018018" src="http://2.bp.blogspot.com/-0fL6WA_e59Q/Tp4CmaTA32I/AAAAAAAAAAQ/r0XKgf2Ej_g/s320/get-out-of-jail.jpg" style="cursor: hand; cursor: pointer; display: block; height: 214px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;b&gt;Offline&lt;/b&gt;: The following list references downloadable vulnerable web applications to play with that can be installed on a standard operating system (Linux, Windows, Mac OS X, etc) using a standard web platform (Apache/PHP, Tomcat/Java, IIS/.NET, etc).&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;b&gt;BodgeIt Store&lt;/b&gt; (Java): &lt;a href="http://code.google.com/p/bodgeit/"&gt;http://code.google.com/p/bodgeit/&lt;/a&gt; (&lt;a href="http://code.google.com/p/bodgeit/downloads/list"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;The &lt;b&gt;ButterFly Security&lt;/b&gt; Project (PHP): &lt;a href="http://sourceforge.net/projects/thebutterflytmp/"&gt;http://sourceforge.net/projects/thebutterflytmp/&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/thebutterflytmp/files/"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Damn Vulnerable Web Application - &lt;b&gt;DVWA&lt;/b&gt; (PHP): &lt;a href="http://www.dvwa.co.uk/"&gt;http://www.dvwa.co.uk&lt;/a&gt; (&lt;a href="http://code.google.com/p/dvwa/downloads/list"&gt;download&lt;/a&gt;) &lt;/li&gt;
&lt;li&gt;OWASP &lt;b&gt;Hackademic Challenges&lt;/b&gt; Project (PHP): &lt;a href="https://www.owasp.org/index.php/OWASP_Hackademic_Challenges_Project"&gt;https://www.owasp.org/index.php/OWASP_Hackademic_Challenges_Project&lt;/a&gt; (&lt;a href="https://code.google.com/p/owasp-hackademic-challenges/"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Google &lt;b&gt;Gruyere&lt;/b&gt; (Python): &lt;a href="http://google-gruyere.appspot.com/"&gt;http://google-gruyere.appspot.com&lt;/a&gt; (&lt;a href="http://google-gruyere.appspot.com/gruyere-code.zip"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hacme Bank&lt;/b&gt; (.NET): &lt;a href="http://www.mcafee.com/us/downloads/free-tools/hacme-bank.aspx"&gt;http://www.mcafee.com/us/downloads/free-tools/hacme-bank.aspx&lt;/a&gt; (&lt;a href="http://www.mcafee.com/apps/free-tools/termsofuse.aspx?url=/us/downloads/free-tools/hacme-bank.aspx"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hacme Books&lt;/b&gt; (Java): &lt;a href="http://www.mcafee.com/us/downloads/free-tools/hacmebooks.aspx"&gt;http://www.mcafee.com/us/downloads/free-tools/hacmebooks.aspx&lt;/a&gt; (&lt;a href="http://www.mcafee.com/apps/free-tools/termsofuse.aspx?url=/us/downloads/free-tools/hacmebooks.aspx"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hacme Casino&lt;/b&gt; (Ruby on Rails): &lt;a href="http://www.mcafee.com/us/downloads/free-tools/hacme-casino.aspx"&gt;http://www.mcafee.com/us/downloads/free-tools/hacme-casino.aspx&lt;/a&gt; (&lt;a href="http://www.mcafee.com/apps/free-tools/termsofuse.aspx?url=/us/downloads/free-tools/hacme-casino.aspx"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hacme Shipping&lt;/b&gt; (ColdFusion): &lt;a href="http://www.mcafee.com/us/downloads/free-tools/hacmeshipping.aspx"&gt;http://www.mcafee.com/us/downloads/free-tools/hacmeshipping.aspx&lt;/a&gt; (&lt;a href="http://www.mcafee.com/apps/free-tools/termsofuse.aspx?url=/us/downloads/free-tools/hacmeshipping.aspx"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hacme Travel&lt;/b&gt; (C++): &lt;a href="http://www.mcafee.com/us/downloads/free-tools/hacmetravel.aspx"&gt;http://www.mcafee.com/us/downloads/free-tools/hacmetravel.aspx&lt;/a&gt; (&lt;a href="http://www.mcafee.com/apps/free-tools/termsofuse.aspx?url=/us/downloads/free-tools/hacmetravel.aspx"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;OWASP &lt;b&gt;Insecure Web App&lt;/b&gt; Project (Java): &lt;a href="https://www.owasp.org/index.php/Category:OWASP_Insecure_Web_App_Project"&gt;https://www.owasp.org/index.php/Category:OWASP_Insecure_Web_App_Project&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/insecurewebapp/files/"&gt;download&lt;/a&gt; - &lt;i&gt;orphaned&lt;/i&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Mutillidae&lt;/b&gt; (PHP): &lt;a href="http://www.irongeek.com/i.php?page=mutillidae/mutillidae-deliberately-vulnerable-php-owasp-top-10"&gt;http://www.irongeek.com/i.php?page=mutillidae/mutillidae-deliberately-vulnerable-php-owasp-top-10&lt;/a&gt; (&lt;a href="http://www.irongeek.com/mutillidae/"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;OWASP &lt;b&gt;.NET Goat&lt;/b&gt; (C#): &lt;a href="https://owasp.codeplex.com/"&gt;https://owasp.codeplex.com&lt;/a&gt; (&lt;a href="https://owasp.codeplex.com/SourceControl/list/changesets#"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Peruggia&lt;/b&gt; (PHP): &lt;a href="http://peruggia.sourceforge.net/"&gt;http://peruggia.sourceforge.net&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/peruggia/files/"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Puzzlemall&lt;/b&gt; (Java):&amp;nbsp;&lt;a href="https://code.google.com/p/puzzlemall/"&gt;https://code.google.com/p/puzzlemall/&lt;/a&gt; (&lt;a href="https://code.google.com/p/puzzlemall/downloads/list"&gt;download&lt;/a&gt;) (&lt;a href="https://code.google.com/p/puzzlemall/downloads/list"&gt;docs&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Stanford &lt;b&gt;Securibench&lt;/b&gt; (Java) &amp;amp; &lt;a href="http://suif.stanford.edu/~livshits/work/securibench-micro/"&gt;Micro&lt;/a&gt;: &lt;a href="http://suif.stanford.edu/~livshits/securibench/"&gt;http://suif.stanford.edu/~livshits/securibench/&lt;/a&gt; (&lt;a href="http://suif.stanford.edu/~livshits/securibench/download.html"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;OWASP &lt;b&gt;Vicnum&lt;/b&gt; Project (Perl &amp;amp; PHP): &lt;a href="https://www.owasp.org/index.php/Category:OWASP_Vicnum_Project"&gt;https://www.owasp.org/index.php/Category:OWASP_Vicnum_Project&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/vicnum/files/"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VulnApp&lt;/b&gt; (.NET): &lt;a href="http://www.nth-dimension.org.uk/blog.php?id=88"&gt;http://www.nth-dimension.org.uk/blog.php?id=88&lt;/a&gt; (&lt;a href="http://projects.nth-dimension.org.uk/dir?d=VulnApp"&gt;CVS download&lt;/a&gt;&amp;nbsp;&amp;amp; &lt;a href="http://projects.nth-dimension.org.uk/rptview?rn=6"&gt;vulns&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;WackoPicko&lt;/b&gt; (PHP): &lt;a href="https://github.com/adamdoupe/WackoPicko"&gt;https://github.com/adamdoupe/WackoPicko&lt;/a&gt; (&lt;a href="https://github.com/adamdoupe/WackoPicko/zipball/master"&gt;download&lt;/a&gt;) (&lt;a href="http://cs.ucsb.edu/~adoupe/static/black-box-scanners-dimva2010.pdf"&gt;whitepaper&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;OWASP &lt;b&gt;WebGoat&lt;/b&gt; (Java): &lt;a href="https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project"&gt;https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project&lt;/a&gt; (&lt;a href="http://code.google.com/p/webgoat/downloads/list"&gt;download&lt;/a&gt;) (&lt;a href="https://www.owasp.org/index.php/WebGoat_User_and_Install_Guide_Table_of_Contents"&gt;guide&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;OWASP ZAP &lt;b&gt;WAVE&lt;/b&gt; - Web Application Vulnerability Examples (Java): &lt;a href="http://code.google.com/p/zaproxy/downloads/list"&gt;http://code.google.com/p/zaproxy/downloads/list&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Wavsep&lt;/b&gt; - Web Application Vulnerability Scanner Evaluation Project (Java):&amp;nbsp;&lt;a href="https://code.google.com/p/wavsep/"&gt;https://code.google.com/p/wavsep/&lt;/a&gt; (&lt;a href="https://code.google.com/p/wavsep/downloads/list"&gt;download&lt;/a&gt;) (&lt;a href="https://code.google.com/p/wavsep/downloads/list"&gt;docs&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Virtual Machines (VMs) or ISO images&lt;/b&gt;: The following list references preinstalled and ready to use virtual machines (VMs) or ISO images that contain one or multiple vulnerable web applications to play with.&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;BadStore&lt;/b&gt; (ISO): &lt;a href="http://www.badstore.net/"&gt;http://www.badstore.net&lt;/a&gt; (&lt;a href="http://www.badstore.net/register.htm"&gt;download&lt;/a&gt; - registration required)&lt;/li&gt;
&lt;li&gt;OWASP &lt;b&gt;BWA&lt;/b&gt; - Broken Web Applications Project (VMware - &lt;a href="http://code.google.com/p/owaspbwa/wiki/ProjectSummary"&gt;list&lt;/a&gt;): &lt;a href="https://www.owasp.org/index.php/OWASP_Broken_Web_Applications_Project"&gt;https://www.owasp.org/index.php/OWASP_Broken_Web_Applications_Project&lt;/a&gt; (&lt;a href="http://code.google.com/p/owaspbwa/wiki/Downloads"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Exploit.co.il&lt;/b&gt; Vuln Web App (VMware): &lt;a href="http://exploit.co.il/projects/vuln-web-app/"&gt;http://exploit.co.il/projects/vuln-web-app/&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/exploitcoilvuln/files/"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hackxor&lt;/b&gt; (VMware): &lt;a href="http://hackxor.sourceforge.net/cgi-bin/index.pl"&gt;http://hackxor.sourceforge.net/cgi-bin/index.pl&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/hackxor/files/"&gt;download&lt;/a&gt;) (&lt;a href="http://hackxor.sourceforge.net/cgi-bin/hints.pl"&gt;hints&amp;amp;tips&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;LAMPSecurity&lt;/b&gt; (VMware): &lt;a href="http://sourceforge.net/projects/lampsecurity/"&gt;http://sourceforge.net/projects/lampsecurity/&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/lampsecurity/files/"&gt;download&lt;/a&gt;) (&lt;a href="http://sourceforge.net/projects/lampsecurity/files/Documentation/"&gt;doc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Metasploitable&lt;/b&gt; (VMware): &lt;a href="http://blog.metasploit.com/2010/05/introducing-metasploitable.html"&gt;http://blog.metasploit.com/2010/05/introducing-metasploitable.html&lt;/a&gt; (&lt;a href="http://updates.metasploit.com/data/Metasploitable.zip.torrent"&gt;download&lt;/a&gt; - torrent) (&lt;a href="http://www.metasploit.com/learn-more/how-do-i-use-it/test-lab.jsp"&gt;doc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Moth&lt;/b&gt; (VMware): &lt;a href="http://www.bonsai-sec.com/en/research/moth.php"&gt;http://www.bonsai-sec.com/en/research/moth.php&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/w3af/files/moth/moth/"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Samurai WTF&lt;/b&gt; (ISO - list): &lt;a href="http://www.samurai-wtf.org/"&gt;http://www.samurai-wtf.org&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/samurai/files/"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Sauron&lt;/b&gt;&amp;nbsp;(Quemu) [&lt;i&gt;Spanish&lt;/i&gt;]:&amp;nbsp;&lt;a href="http://sg6-labs.blogspot.com/2007/12/secgame-1-sauron.html"&gt;http://sg6-labs.blogspot.com/2007/12/secgame-1-sauron.html&lt;/a&gt; (&lt;a href="http://sg6-labs.blogspot.com/search/label/SecGame"&gt;solutions&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;UltimateLAMP&lt;/b&gt; (VMware - &lt;a href="http://www.metasploit.com/learn-more/how-do-i-use-it/test-lab.jsp"&gt;list&lt;/a&gt;): &lt;a href="http://ronaldbradford.com/blog/ultimatelamp-2006-05-19/"&gt;http://ronaldbradford.com/blog/ultimatelamp-2006-05-19/&lt;/a&gt; (&lt;a href="http://ronaldbradford.com/tmp/UltimateLAMP-0.2.zip"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Web Security Dojo&lt;/b&gt; (VMware, VirtualBox - &lt;a href="http://www.mavensecurity.com/web_security_dojo/"&gt;list&lt;/a&gt;): &lt;a href="http://www.mavensecurity.com/web_security_dojo/"&gt;http://www.mavensecurity.com/web_security_dojo/&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/websecuritydojo/files/"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Online/Live&lt;/b&gt;: The following list references online and live vulnerable web applications available on the Internet to play with.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Acunetix:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://testasp.vulnweb.com/"&gt;http://testasp.vulnweb.com&lt;/a&gt; (Forum - ASP)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://testaspnet.vulnweb.com/"&gt;http://testaspnet.vulnweb.com&lt;/a&gt; (Blog - .NET)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://testphp.vulnweb.com/"&gt;http://testphp.vulnweb.com&lt;/a&gt; (Art shopping - PHP)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Cenzic CrackMeBank: &lt;a href="http://crackme.cenzic.com/"&gt;http://crackme.cenzic.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Google Gruyere (Python): &lt;span class="Apple-style-span"&gt;&lt;u&gt;&lt;a href="http://google-gruyere.appspot.com/start"&gt;http://google-gruyere.appspot.com/start&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span"&gt;HackThisSite (HTS - Basic &amp;amp; Realistic (web) Missions):&amp;nbsp;&lt;a href="http://www.hackthissite.org/"&gt;http://www.hackthissite.org&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;HP/SpiDynamics Free Bank Online: &lt;a href="http://zero.webappsecurity.com/"&gt;http://zero.webappsecurity.com&lt;/a&gt; (admin/admin) &lt;/li&gt;
&lt;li&gt;IBM/Watchfire AltoroMutual: &lt;a href="http://demo.testfire.net/"&gt;http://demo.testfire.net&lt;/a&gt; (jsmith/Demo1234)&lt;/li&gt;
&lt;li&gt;NTOSpider Web Scanner Test Site: &lt;a href="http://www.webscantest.com/"&gt;http://www.webscantest.com&lt;/a&gt; (testuser/testpass)&lt;/li&gt;
&lt;li&gt;OWASP Hackademic Challenges Project - Live (PHP - Joomla): &lt;a href="http://hackademic1.teilar.gr/"&gt;http://hackademic1.teilar.gr&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
For completeness, there have been &lt;a href="https://www.owasp.org/index.php/Phoenix/Tools"&gt;some&lt;/a&gt; &lt;a href="http://www.irongeek.com/i.php?page=security/deliberately-insecure-web-applications-for-learning-web-app-security"&gt;other&lt;/a&gt; &lt;a href="http://securitythoughts.wordpress.com/2010/03/22/vulnerable-web-applications-for-learning/"&gt;similar&lt;/a&gt; lists published in the past that I'm aware of, and also some "in-the-cloud" commercial training lab options are getting popular (let's call them "pay-per-hack" :-). Enjoy all these different web vulnerable environments and sharp your web app pen-testing skills and tools practicing with them!&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Shameless plug&lt;/b&gt;: I will be teaching the 6-day SANS SEC542 training, "Web App Penetration Testing and Ethical Hacking", in &lt;a href="https://www.sans.org/madrid-2012-cs/"&gt;Spanish (March 12-17, 2012, in Madrid - Spain)&lt;/a&gt; and English (May 7-12, 2012, in Amsterdam - The Netherlands).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Updates&lt;/b&gt;: (2011-10-31) Added VulnApp (.NET) &amp;amp; Sauron (Quemu).&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;NOTE&lt;/b&gt;: WAVE and Wapsec main goal is to evaluate the&amp;nbsp;features, quality, and accuracy of automatic web application vulnerability scanners.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;Image source: http://www.headhacker.net/wp-content/uploads/2010/04/get-out-of-jail.jpg&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-277039604045281506?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/MseayQeMulI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/277039604045281506/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/10/hacking-vulnerable-web-applications.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/277039604045281506?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/277039604045281506?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/MseayQeMulI/hacking-vulnerable-web-applications.html" title="Hacking Vulnerable Web Applications Without Going To Jail" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-0fL6WA_e59Q/Tp4CmaTA32I/AAAAAAAAAAQ/r0XKgf2Ej_g/s72-c/get-out-of-jail.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://blog.taddong.com/2011/10/hacking-vulnerable-web-applications.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8HSHs5eCp7ImA9WhdbGUU.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-1411196905673719611</id><published>2011-10-12T23:28:00.028+02:00</published><updated>2011-10-19T02:40:39.520+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-19T02:40:39.520+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SSL" /><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>TLSSLed v1.2</title><content type="html">&lt;div&gt;TLSSLed v1.2 has been released and can be downloaded, as usual, from &lt;a href="http://www.taddong.com/en/lab.html#TLSSLED"&gt;Taddong's lab&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This new version incorporates feedback from several people, as well as new features, including support for Mac OS X (TLSSLed should now run in both Linux and Mac OS X; check &lt;a href="https://www.titania-security.com/labs/sslscan"&gt;how to build sslscan on Mac OS X&lt;/a&gt; first), an initial check to verify if the target service speaks SSL/TLS (finishing its execution if it does not), a few other optimizations and error checks, and new tests for TLS v1.1 and v1.2.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The latter feature has been added as a result of the recent BEAST vulnerability and research, CVE-2011-3389. In order to be able to check for TLS v1.1 and v1.2 you need to use openssl-1.0.1-stable, available from &lt;a href="ftp://ftp.openssl.org/snapshot/"&gt;the openssl snapshot repository&lt;/a&gt;. TLSSLed identifies if the target service supports TLS v1.1 and v1.2, if it does not, or if your local openssl version does not support these TLS versions. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This new test simply checks if the target service supports these two TLS versions, however, this does not mean the implementation is secure from a BEAST perspective, as lots of other factors can influence this, such as: &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The implementation could downgrade from TLS v1.1 or v1.2 to TLS v1.0 or SSLv3 if these versions are also supported by the server and a client requests it. &lt;/li&gt;&lt;li&gt;The implementation can use RC4 instead of AES CBC to mitigate this vulnerability.&lt;/li&gt;&lt;li&gt;Certain SSL/TLS implementations might not be vulnerable to BEAST, such as openssl since version 0.9.6d, as &lt;a href="http://www.openssl.org/~bodo/tls-cbc.txt"&gt;they already added empty plaintext fragments (problem #2)&lt;/a&gt; - if SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS &lt;a href="http://www.mail-archive.com/openssl-dev@openssl.org/msg29718.html"&gt;is not set&lt;/a&gt;. &lt;/li&gt;&lt;/ul&gt;The first two scenarios can be easily verified through the new "Testing for SSLv3 and TLSv1 support first ..." test. If you know how to remotely check for the third scenario using the openssl binary, I would love to hear about it and implement that inside the tool... Therefore, a careful and thorough brain-based analysis is still required :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The output below shows this new feature against "tls.woodgrovebank.com", an SSL/TLS public Interop Test Server from Microsoft, using openssl 1.0.1-dev:&lt;/div&gt;&lt;br /&gt;&lt;table bg="" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;$ ./TLSSLed.sh tls.woodgrovebank.com 443&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;------------------------------------------------------&lt;br /&gt;TLSSLed - (1.2) based on sslscan and openssl&lt;br /&gt;               by Raul Siles (www.taddong.com)&lt;br /&gt;------------------------------------------------------&lt;br /&gt;+ openssl version: OpenSSL 1.0.1-dev xx XXX xxxx&lt;br /&gt;+ sslscan version 1.8.2&lt;br /&gt;------------------------------------------------------&lt;br /&gt;&lt;br /&gt;[-] Analyzing SSL/TLS on tls.woodgrovebank.com:443 ..&lt;br /&gt;&lt;br /&gt;[*] The target service tls.woodgrovebank.com:443 seems to speak SSL/TLS...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[-] Running sslscan on tls.woodgrovebank.com:443...&lt;br /&gt;&lt;br /&gt;[*] Testing for SSLv2 ...&lt;br /&gt;  Accepted  SSLv2  168 bits  DES-CBC3-MD5&lt;br /&gt;  Accepted  SSLv2  128 bits  RC4-MD5&lt;br /&gt;&lt;br /&gt;[*] Testing for NULL cipher ...&lt;br /&gt;&lt;br /&gt;[*] Testing for weak ciphers (based on key length) ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[*] Testing for strong ciphers (AES) ...&lt;br /&gt;  Accepted  TLSv1  256 bits  AES256-SHA&lt;br /&gt;  Accepted  TLSv1  128 bits  AES128-SHA&lt;br /&gt;&lt;br /&gt;[*] Testing for MD5 signed certificate ...&lt;br /&gt;&lt;br /&gt;[*] Testing for certificate public key length ...&lt;br /&gt;  RSA Public Key: (2048 bit)&lt;br /&gt;&lt;br /&gt;[*] Testing for certificate subject ...&lt;br /&gt;  Subject: /C=US/ST=WA/L=Redmond/O=Microsoft/CN=tls.woodgrovebank.com&lt;br /&gt;&lt;br /&gt;[*] Testing for certificate CA issuer ...&lt;br /&gt;  Issuer: /CN=RSACERTSRV&lt;br /&gt;&lt;br /&gt;[*] Testing for certificate validity period ...&lt;br /&gt;  Today: Wed Oct 12 00:50:07 UTC 2011&lt;br /&gt;  Not valid before: Feb 14 22:52:50 2011 GMT&lt;br /&gt;  Not valid after: Feb 14 23:02:50 2012 GMT&lt;br /&gt;&lt;br /&gt;[*] Checking preferred server ciphers ...&lt;br /&gt;Prefered Server Cipher(s):&lt;br /&gt;  SSLv2  168 bits  DES-CBC3-MD5&lt;br /&gt;  SSLv3  128 bits  RC4-SHA&lt;br /&gt;  TLSv1  128 bits  AES128-SHA&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[-] Testing for SSLv3/TLSv1 renegotiation vuln. (CVE-2009-3555) ...&lt;br /&gt;&lt;br /&gt;[*] Testing for secure renegotiation ...&lt;br /&gt;Secure Renegotiation IS supported&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[-] Testing for TLS v1.1 and v1.2 (CVE-2011-3389 aka BEAST) ...&lt;br /&gt;&lt;br /&gt;[*] Testing for SSLv3 and TLSv1 first ...&lt;br /&gt;  Accepted  SSLv3  168 bits  DES-CBC3-SHA&lt;br /&gt;  Accepted  SSLv3  128 bits  RC4-SHA&lt;br /&gt;  Accepted  SSLv3  128 bits  RC4-MD5&lt;br /&gt;  Accepted  TLSv1  256 bits  AES256-SHA&lt;br /&gt;  Accepted  TLSv1  128 bits  AES128-SHA&lt;br /&gt;  Accepted  TLSv1  168 bits  DES-CBC3-SHA&lt;br /&gt;  Accepted  TLSv1  128 bits  RC4-SHA&lt;br /&gt;  Accepted  TLSv1  128 bits  RC4-MD5&lt;br /&gt;&lt;br /&gt;[*] Testing for TLS v1.1 support ...&lt;br /&gt;TLS v1.1 IS supported&lt;br /&gt;&lt;br /&gt;[*] Testing for TLS v1.2 support ...&lt;br /&gt;TLS v1.2 IS supported&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[-] Testing for SSL/TLS security headers ...&lt;br /&gt;&lt;br /&gt;[*] Testing for Strict-Transport-Security (STS) header ...&lt;br /&gt;&lt;br /&gt;[*] Testing for cookies with the secure flag ...&lt;br /&gt;&lt;br /&gt;[*] Testing for cookies without the secure flag ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[-] New files created:&lt;br /&gt;-rw-r--r-- 1 root root 5684 2011-10-18 20:50 sslscan_tls...com:443_2011-10-18_20:49:23.log&lt;br /&gt;-rw-r--r-- 1 root root 2675 2011-10-18 20:50 openssl_HEAD_tls...com:443_2011-10-18_20:49:23.log&lt;br /&gt;-rw-r--r-- 1 root root 2408 2011-10-18 20:49 openssl_RENEG_tls...com:443_2011-10-18_20:49:23.log&lt;br /&gt;-rw-r--r-- 1 root root 540 2011-10-18 20:49 openssl_RENEG_tls...com:443_2011-10-18_20:49:23.err&lt;br /&gt;-rw-r--r-- 1 root root 523 2011-10-18 20:50 openssl_HEAD_tls...com:443_2011-10-18_20:49:23.err&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[-] done&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;/div&gt;&lt;div&gt;If the target service does not support TLS v1.1 or v1.2 it will say "... IS NOT supported" instead. If your local openssl version does not support TLS v1.1 and v1.2, you will get the following output:&lt;/div&gt;&lt;br /&gt;&lt;table bg="" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;$ ./TLSSLed.sh www.example.com 443&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;...&lt;br /&gt;[-] Testing for TLS v1.1 and v1.2 (CVE-2011-3389 aka BEAST) ...&lt;br /&gt;...&lt;br /&gt;[*] Testing for TLS v1.1 support ...&lt;br /&gt;The local openssl version does NOT support TLS v1.1&lt;br /&gt;&lt;br /&gt;[*] Testing for TLS v1.2 support ...&lt;br /&gt;The local openssl version does NOT support TLS v1.2&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Some people suggested new additions to TLSSLed based on adding checks from other already available SSL/TLS related tools, such as &lt;a href="http://wiki.debian.org/SSLkeys"&gt;openssl-blacklist&lt;/a&gt; or &lt;a href="http://unspecific.com/ssl/"&gt;ssl-cipher-check.pl&lt;/a&gt;. After a careful thought and detailed analysis process, TLSSLed will remain loyal to its original spirit and design, trying to keep to a minimum the prerequisites to run it (just openssl and sslscan since version 1.0). Therefore, the goal is not to make use of any additional tools from within TLSSLed except openssl and sslscan, unless there is a very critical security test that cannot be accomplished with these two. However, I'm open to implementing other missing tests using these two tools.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;One of the future releases will include an associated user guide that briefly explains the different TLSSLed results and their meaning, so that you can easily understand the security implications of the findings reported by the tool without been well versed on SSL/TLS (HTTPS).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Remember, the tool is open to comments, suggestions, improvements, and new tests from the community. Do not hesitate to contact me with ideas! Thanks to  Abraham Aranguren and others that want to remain anonymous for their feedback!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-1411196905673719611?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/TVl771TbIzY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/1411196905673719611/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/10/tlssled-v12.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/1411196905673719611?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/1411196905673719611?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/TVl771TbIzY/tlssled-v12.html" title="TLSSLed v1.2" /><author><name>Raul Siles</name><uri>http://www.blogger.com/profile/06709503832135757060</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2011/10/tlssled-v12.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EBSHs4eyp7ImA9WhdXGUo.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-2296158515915546640</id><published>2011-08-29T16:27:00.035+02:00</published><updated>2011-09-02T17:00:59.533+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-02T17:00:59.533+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tower location" /><category scheme="http://www.blogger.com/atom/ns#" term="GPRS" /><category scheme="http://www.blogger.com/atom/ns#" term="GSM" /><category scheme="http://www.blogger.com/atom/ns#" term="signal" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><category scheme="http://www.blogger.com/atom/ns#" term="iphone" /><title>Using Signal to Detect Rogue Cellular Base Stations (Part Two)</title><content type="html">&lt;b&gt;Can Signal be used as a rogue base station detector?&lt;/b&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;For starters, this answer is subjected to the reliability and updating rate of the information source where Signal obtains the geographical location from.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;Provided that the previous condition is met, we can distinguish three different cases:
&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;If the attacker uses a non-existing cell identifier&lt;/b&gt;, the application will not provide any geographical information of it, and thus we will assume that the serving cell is false.&lt;/li&gt;&lt;li&gt;&lt;b&gt;If the attacker uses an existing cell identifier, belonging to a tower that is located far away from the place where the attacker is located&lt;/b&gt;, then Signal will report that we are in a location that does not match our real position. This fact will indicate that the serving cell is not legitimate.&lt;/li&gt;&lt;li&gt;&lt;b&gt;If the attacker configures his base station pretending to be one of the neighbor cells and achieves that the terminal registers to his base station&lt;/b&gt; (by emitting a signal that is perceived by the victim's terminal as much "better"), then Signal will not show any clue about the legitimacy of the cell. We must say that, in this situation, it is much more difficult for the attacker to force the terminal to register to his base station, due to the fact that the victim's terminal probably can see two radio signals with the same cell identifier (we don't know the terminal behavior in this case). To overcome this obstacle, the attacker could choose the identifier of an existing nearby cell, for which the terminal is not perceiving power at all.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;Our conclusion is that this application can help detecting whether the service that our terminal is receiving is legitimate or not, and it makes much more difficult for the attacker to maintain his attack undetected. However, it cannot be considered a 100% reliable method.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;Even so, we think that the use of the tower geographical location provides a very good way to help detecting rogue base station attacks, and it should be combined with other techniques as, for example, the GPS information of the terminal, the analysis of other parameters of the radio signal or the detection of some functionalities that a false network will not tipically implement.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;b&gt;Network traffic analysis&lt;/b&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;For each one of the performed tests we have obtained the corresponding traffic capture using Wireshark. We have done so because, if there is an information source from which one can extract the geographical location of a mobile base station, of course we want to know it.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;After analyzing some of the captures, we reach the conclusion that the source of such information was Google (what a surprise!). Also, we could realize that the answer/response has this appearence:&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-dBEQ8UVYyKk/Tl6qwkLTkWI/AAAAAAAAABw/pPEoVBZ4d9I/s1600/TCPStream.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 266px; text-align: center; " src="http://2.bp.blogspot.com/-dBEQ8UVYyKk/Tl6qwkLTkWI/AAAAAAAAABw/pPEoVBZ4d9I/s400/TCPStream.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5647138734090719586" /&gt;&lt;/a&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;In the previous picture you can see that the request is qualified by the cell identifier (MCC, MNC, LAC and CI), and that the answer comes in "longitude/lattitude" format.
&lt;br /&gt;The "User-Agent" field reflects that we are using "wget" (instead of "Signal" as it would reflect any capture of the application traffic). This is because instead of using Signal we have written a little software tool to access this information, as explained below.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;b&gt;tadbsl.sh tool&lt;/b&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;This application is a shell script that, taking the cell identifier as input data, performs the correctly-formatted request to Google, using wget. Once the answer from Google comes, it shows the longitude and latitude on the console and, optionally, it starts a web browser showing the geographical location of the tower in Google maps.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;The use instructions of the tool are shown here:
&lt;br /&gt;&lt;table bg="" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;$ ./tadbsl.sh --help&lt;/b&gt;&lt;/span&gt;
&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;tadbsl.sh --MCC=&lt;mcc&gt; --MNC=&lt;mnc&gt; --LAC=&lt;lac&gt; --CI=&lt;ci&gt; [-s | --show_in_browser]
&lt;br /&gt;tadbsl.sh [-h | --help]
&lt;br /&gt;	Description: this script asks Google for a particular
&lt;br /&gt;	Cellular Base Station Location and shows the Google's answer.
&lt;br /&gt;	(Based on the traffic analysis of Signal Cydia application
&lt;br /&gt;	 from PlanetBeing)
&lt;br /&gt;	Arguments:
&lt;br /&gt;		MCC: Mobile Country Code of the carrier owning the Base Station
&lt;br /&gt;		MNC: Mobile Network Code of the carrier owning the Base Staion
&lt;br /&gt;		LAC: Location Area Code of the Base Station
&lt;br /&gt;		CI:  Cell Identificator of the Base Station
&lt;br /&gt;	Options:
&lt;br /&gt;		-h | --help
&lt;br /&gt;			 Shows this help.
&lt;br /&gt;		-s | --show_in_browser
&lt;br /&gt;			 If you specify this options the script will launch
&lt;br /&gt;			 your browser with the obtained coordinates.
&lt;br /&gt;			 You can configure your browser location in a
&lt;br /&gt;			 configuration variable inside the script.
&lt;br /&gt;&lt;/ci&gt;&lt;/lac&gt;&lt;/mnc&gt;&lt;/mcc&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;An example of use is shown below:&lt;table bg="" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;tad3@ubuntu:~/tadbsl$ ./tadbsl.sh --MCC=302 --MNC=720 --LAC=65010 --CI=48626
&lt;br /&gt;LOCATION: 49.1560525 , -123.1586519
&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-PaG9oaG8LAc/Tl6vsPGnXPI/AAAAAAAAAB4/5deiQ2JyY0k/s1600/tadbsl_use.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://4.bp.blogspot.com/-PaG9oaG8LAc/Tl6vsPGnXPI/AAAAAAAAAB4/5deiQ2JyY0k/s400/tadbsl_use.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5647144157272562930" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;This tool is available at &lt;a href="http://www.taddong.com/en/lab.html#tadbsl"&gt;our lab&lt;/a&gt;.&lt;div&gt;
&lt;br /&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;NOTE: We first published this article, in Spanish, in &lt;a href="http://www.seguridadapple.com/2011/08/signal-y-la-deteccion-de-estaciones_13.html"&gt;this post&lt;/a&gt; of the blog &lt;a href="http://www.seguridadapple.com/"&gt;“Seguridad Apple”&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-2296158515915546640?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/glLb-VKiIPA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/2296158515915546640/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/08/using-signal-to-detect-rogue-cellular_29.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/2296158515915546640?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/2296158515915546640?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/glLb-VKiIPA/using-signal-to-detect-rogue-cellular_29.html" title="Using Signal to Detect Rogue Cellular Base Stations (Part Two)" /><author><name>Jose Pico</name><uri>http://www.blogger.com/profile/11351143259307490487</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-dBEQ8UVYyKk/Tl6qwkLTkWI/AAAAAAAAABw/pPEoVBZ4d9I/s72-c/TCPStream.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://blog.taddong.com/2011/08/using-signal-to-detect-rogue-cellular_29.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcNSHc7cSp7ImA9WhdXGUo.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-3525031908028056422</id><published>2011-08-26T17:53:00.031+02:00</published><updated>2011-09-02T16:18:19.909+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-02T16:18:19.909+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tower location" /><category scheme="http://www.blogger.com/atom/ns#" term="GPRS" /><category scheme="http://www.blogger.com/atom/ns#" term="GSM" /><category scheme="http://www.blogger.com/atom/ns#" term="signal" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><category scheme="http://www.blogger.com/atom/ns#" term="iphone" /><title>Using Signal to Detect Rogue Cellular Base Stations (Part One)</title><content type="html">&lt;div style="text-align: justify;"&gt;Some days ago Chema Alonso informed us that an application was able to show the geographical location of the tower that was providing service to an iPhone, as well as that of adjacent towers. The application also showed some technical data about these towers. Chema's question was whether this application could be used to detect a rogue base station attack or not. To be able to answer that question, we performed some tests. Some of them are explained in this article, as well as the conclusions and other things that we have obtained along the way.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;The application is called Signal (available on Cydia) and has been written by PlanetBeing. The purpose of the authors is to create a map of nearby towers, measure their power and provide technical data about them.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;b&gt;Test I: testing the application with and without Internet access&lt;/b&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;u&gt;Testing Lab&lt;/u&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;To perform the tests, we set up the laboratory shown in the picture:
&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-nGcdWet4CNE/Tl6bY_0vRJI/AAAAAAAAABo/P5Dk5mYWdf4/s1600/TestingLabI%2B-%2BEnglish.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 155px;" src="http://3.bp.blogspot.com/-nGcdWet4CNE/Tl6bY_0vRJI/AAAAAAAAABo/P5Dk5mYWdf4/s400/TestingLabI%2B-%2BEnglish.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5647121836520981650" /&gt;&lt;/a&gt;
&lt;br /&gt;The main objective of this set up was to be able to analyze the traffic generated by the application so that we could obtain preliminary conclusions before deciding what tests would follow.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;u&gt;Installation and first execution&lt;/u&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;After jaiblreaking our iPhone and installing Cydia, we configured the device in the following way:&lt;ul&gt;&lt;li&gt;We disabled 3G service to only accept GSM (this way it would be easier to provide service using our rogue base station)&lt;/li&gt;&lt;li&gt;The first time the application is launched, it asks if we want to use localization services. We answered "no" because we wanted to limit the available resources for the software to calculate its location, i.e., no GPS in the game.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Afterwards, we could see the application showing a map with the location of the towers nearby our position (somewhere in Valencia area), and a number that represents the perceived power in dBm. We checked that the geographical location really showed our position:
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-EhsGimd1vQY/Tl3YIhKJA9I/AAAAAAAAAAo/qVRb17_CpW0/s1600/MapI.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://3.bp.blogspot.com/-EhsGimd1vQY/Tl3YIhKJA9I/AAAAAAAAAAo/qVRb17_CpW0/s320/MapI.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5646907148643926994" /&gt;&lt;/a&gt;
&lt;br /&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;u&gt;Running the application without Internet access&lt;/u&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;Since we suspected that the application obtained the geographical location of the towers from the Internet, we disabled all data services of the iPhone, including GPRS and WiFi.
&lt;br /&gt;In these conditions, as soon as the application started, we could see that the serving cell was detected and data and parameters belonging to it were reported. Also, the geographical location of a set of nearby towers was shown in the map, but with a different format, as we can see in the following picture:
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-cLyedVeeWQM/Tl3YfLEWFZI/AAAAAAAAAAw/5vPO6L5AH9g/s1600/MapII.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://2.bp.blogspot.com/-cLyedVeeWQM/Tl3YfLEWFZI/AAAAAAAAAAw/5vPO6L5AH9g/s320/MapII.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5646907537851028882" /&gt;&lt;/a&gt;
&lt;br /&gt;The legend of color codes in the application reads as follows:&lt;ul&gt;&lt;li&gt;Blue: Visible towers&lt;/li&gt;&lt;li&gt;Red: Connected tower&lt;/li&gt;&lt;li&gt;Gray: Unlocatable tower&lt;/li&gt;&lt;li&gt;Yellow: Previously seen tower&lt;/li&gt;&lt;/ul&gt;It seemed to us that Signal kept some kind of cache where it stored information about previously seen towers. As the application has the ability to “Reset tower data”, we checked that when we chose this option, all geographical information was lost, and it didn't come back after several runs of the application.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;u&gt;Running the application with Internet access&lt;/u&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;After enabling WiFi, we started again the application and at that moment it detected again where the towers were in our geographical area.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;u&gt;Conclusions obtained in Testing Phase I&lt;/u&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;From the tests performed we can infer that:&lt;ul&gt;&lt;li&gt;Signal obtains the geographical information about cellular base sations from the Internet&lt;/li&gt;&lt;li&gt;The application holds a cache where it stores geographical information of the towers that he has previously seen; this cache can be erased by using the “Reset tower data” option&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;b&gt;Test II: using a rogue base station&lt;/b&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;u&gt;Testing Lab&lt;/u&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;For this second phase of tests, we modified our lab to provide GSM service using our rogue base station. The following schema illustrates this set up:
&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-uj7ZoGHu2lI/Tl6af7bCWdI/AAAAAAAAABg/7KNDehPBDVc/s1600/TestingLabII.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://2.bp.blogspot.com/-uj7ZoGHu2lI/Tl6af7bCWdI/AAAAAAAAABg/7KNDehPBDVc/s400/TestingLabII.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5647120856086895058" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;u&gt;Testing with a non-existent cell identifier&lt;/u&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;To perform this test we configured our rogue base station for emitting with a non-existent cell identifier, and then we turned on the iPhone inside the cage (remember that the iPhone was connected to the Internet inside the cage through our WiFi infrastructure, as shown in the previous picture).&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;When the Signal application started, it detected the servicing tower and correctly reported our false cell identificator, but it could not locate that cell geographically.&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;u&gt;Testing with a different cell identifier&lt;/u&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;In this test we used a cell identifier belonging to a cell that is located somewhere in the Madrid area (we were performing our tests in Valencia area) and, sure enough, the application located us in Madrid, next to that tower, as we can see in the following picture:&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-ce7zZoM_ZEI/Tl3Zt60mAkI/AAAAAAAAABI/SasbU69RSmQ/s1600/MapIII.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://1.bp.blogspot.com/-ce7zZoM_ZEI/Tl3Zt60mAkI/AAAAAAAAABI/SasbU69RSmQ/s320/MapIII.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5646908890699661890" /&gt;&lt;/a&gt;
&lt;br /&gt;&lt;u&gt;Conclusions obtained in Testing Phase II&lt;/u&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;From these tests we can infer that:&lt;ul&gt;&lt;li&gt;The identifying information about servicing tower is obtained from the radio signal&lt;/li&gt;&lt;li&gt;The geographical information, that Signal obtains from the Internet, depends uniquely on the cell identifier (MCC|MNC|LAC|CI) where:&lt;ul&gt;&lt;li&gt;MCC:  Mobile Country Code&lt;/li&gt;&lt;li&gt;MNC: Mobile Network Code&lt;/li&gt;&lt;li&gt;LAC: Location Area Code&lt;/li&gt;&lt;li&gt;CI: Cell Identifier&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;NOTE: We first published this article, in Spanish, in &lt;a href="http://www.seguridadapple.com/2011/08/signal-y-la-deteccion-de-estaciones.html"&gt;this post&lt;/a&gt; of the blog &lt;a href="http://www.seguridadapple.com/"&gt;“Seguridad Apple”&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-3525031908028056422?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/sULHvkXY0Uw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/3525031908028056422/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/08/using-signal-to-detect-rogue-cellular.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/3525031908028056422?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/3525031908028056422?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/sULHvkXY0Uw/using-signal-to-detect-rogue-cellular.html" title="Using Signal to Detect Rogue Cellular Base Stations (Part One)" /><author><name>Jose Pico</name><uri>http://www.blogger.com/profile/11351143259307490487</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-nGcdWet4CNE/Tl6bY_0vRJI/AAAAAAAAABo/P5Dk5mYWdf4/s72-c/TestingLabI%2B-%2BEnglish.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2011/08/using-signal-to-detect-rogue-cellular.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YFR3g-fip7ImA9WhdQEEg.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-2111400143861152544</id><published>2011-08-11T10:20:00.015+02:00</published><updated>2011-08-11T12:38:36.656+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-11T12:38:36.656+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="OWASP" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>Building OWASP ZAP Using Eclipse IDE for Java… Pen-Testers</title><content type="html">If I were only given a single tool for a web application penetration test, that would definitely be a web interception proxy!
&lt;br /&gt;
&lt;br /&gt;As you can check within &lt;a href="http://sourceforge.net/projects/samurai/"&gt;Samurai WTF&lt;/a&gt;, the number of web interception proxies available to web app analyst and pen-testers is... (at least) quite large. During the last years (after the old initial &lt;a href="http://www.mavensecurity.com/Achilles/"&gt;Achilles&lt;/a&gt; days... Wow!, from Oct 13, 2000), a few proxies have become the web application security assessment tool of choice. OWASP &lt;a href="https://www.owasp.org/index.php/Category:OWASP_WebScarab_Project"&gt;Webscarab&lt;/a&gt;, together with &lt;a href="http://www.parosproxy.org"&gt;Paros&lt;/a&gt; (Proxy), have been two of the most commonly used open-source alternatives, with &lt;a href="http://portswigger.net/burp/"&gt;Burp&lt;/a&gt; (Suite) on the free/commercial side (but not open-source).
&lt;br /&gt;
&lt;br /&gt;Unfortunately (or not... keep reading ;-p) Webscarab and Paros were somehow discontinued. The lastest official Webscarab build (not from GIT) is from May 2007, and &lt;a href="https://www.owasp.org/index.php/OWASP_WebScarab_NG_Project"&gt;Webscarab-NG&lt;/a&gt; (Next Generation) was born as a very promising Webscarab replacement, but is slowly progressing with new features and releases. Paros ended up on the famous 3.2.13 version from August 2006 (5 years ago!) and a replacement project or fork was born afterwards, called &lt;a href="https://code.google.com/p/andiparos/"&gt;Andiparos&lt;/a&gt;. In parallel, a new OWASP project saw the light, called ZAP (Zed Attack Proxy). On a very smart decision from their leaders (Psiinon and Axel), both projects joined forces to contribute to a single and common open-source web interception proxy (and security assessment tool, considering all the features currently available within ZAP), keeping the name of ZAP for the final project. Therefore, &lt;a href="https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project"&gt;OWASP ZAP (Zed Attack Proxy)&lt;/a&gt; is definitely the current open-source web interception proxy and security assessment tool of reference.
&lt;br /&gt;
&lt;br /&gt;What all these web interception proxy tools have in common? They have been developed in Java, what makes them great multi-platform (Windows, Linux, Mac OS X...) security assessment tools.
&lt;br /&gt;
&lt;br /&gt;Experience has demonstrated during the last few years that pen-testers need to use two types of tools on their daily activities: the latest official stable tool release, typically distributed by the project as a prepackaged and ready to install bundle (.tar.gz, .zip, .jar, etc), and the most current development tool revision, the one that includes the most cutting edge, neat and mighty features, options, and capabilities, typically distributed by the project from the official Subversion (SVN/CVS, GIT, etc) repository.
&lt;br /&gt;
&lt;br /&gt;Most pen-testing tools are developed using traditional languages, like C/C++ (e.g. nmap), where the standard 3-way build handshake works like a charm ("./configure", "make" &amp;amp; "sudo make install"), or using interpreted languages, where there is no need to build the package, such as Ruby (e.g. Metasploit), Python (e.g. w3af), or others.
&lt;br /&gt;
&lt;br /&gt;But... what about the Java-based web interception proxies? I've discovered that there is a significant barrier to entry that make it difficult for pen-testers to enter into the building process of this kind of tools, as a simple "javac" (Java compiler) invocation does not make the trick. In order to compile and build Java-based web interception proxy tools, as they make an extensive use of GUIs and library sets, a Java IDE (Integrated Development Environment) is required.
&lt;br /&gt;
&lt;br /&gt;As a result, lots of security professionals cannot and are not using the most current features of these tools until a new official version is released by the project. In order to overcome this, I have released the &lt;a href="http://www.taddong.com/en/lab.html#BUILDINGZAP"&gt;&lt;span style="font-weight: bold;"&gt;"Building OWASP ZAP Using Eclipse IDE for Java… Pen-Testers"&lt;/span&gt;&lt;/a&gt; guide, available for download (as usual) from &lt;a href="http://www.taddong.com/en/lab.html#BUILDINGZAP"&gt;Taddong's lab&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;The goal of this document is to provide a simplified step-by-step guide web app pen-testers can go through to be able to easily build the most current OWASP ZAP version from &lt;a href="https://code.google.com/p/zaproxy/source/checkout"&gt;the official Subversion repository&lt;/a&gt; by using the open-source &lt;a href="http://www.eclipse.org/"&gt;Eclipse Java IDE&lt;/a&gt;. A final appendix provides some brief guidance for those interested on, not only using the latest tool features, but &lt;a href="https://code.google.com/p/zaproxy/"&gt;contributing to the OWASP ZAP project&lt;/a&gt; (what I encourage you to do).
&lt;br /&gt;
&lt;br /&gt;Do not forget to always, but specially when using the most current development version, extensively test the tools on your lab environment before using them against the real pen-test targets, probably in production (at least, before you started using the tool... :-)
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-2111400143861152544?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/5IX5QADzhvc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/2111400143861152544/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/08/building-owasp-zap-using-eclipse-ide.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/2111400143861152544?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/2111400143861152544?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/5IX5QADzhvc/building-owasp-zap-using-eclipse-ide.html" title="Building OWASP ZAP Using Eclipse IDE for Java… Pen-Testers" /><author><name>Raul Siles</name><uri>http://www.blogger.com/profile/06709503832135757060</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2011/08/building-owasp-zap-using-eclipse-ide.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4CQ38-fip7ImA9WhdQEEg.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-2664025368674766231</id><published>2011-07-26T09:41:00.005+02:00</published><updated>2011-08-11T10:22:42.156+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-11T10:22:42.156+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OWASP" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>OWASP Session Management Cheat Sheet</title><content type="html">The results and conclusions obtained from dozens of web application penetration tests completed during the last few years confirm that session management is still today one of those  web application critical components prone to suffer multiple and critical vulnerabilities.
&lt;br /&gt;
&lt;br /&gt;Session management is a core and very complex module in modern web application architectures, and has to integrate smoothly and securely with other critical components, such as the authentication and access control modules:
&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://www.owasp.org/images/1/1d/Session-Management-Diagram_Cheat-Sheet.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 603px; height: 137px;" src="https://www.owasp.org/images/1/1d/Session-Management-Diagram_Cheat-Sheet.png" alt="" border="0" /&gt;&lt;/a&gt;Sessions, represented by a session ID or token, bind the user authentication credentials to the user HTTP traffic and the appropriate  access controls enforced by the web application. The stateless nature of the HTTP protocol, the complexity of  these three components (authentication, session management, and access  control) in modern web applications, plus the fact that its  implementation and binding resides on the web developer’s hands (as web  development framework do not provide strict relationships between these  modules), makes the implementation of a secure session management module  very challenging.
&lt;br /&gt;
&lt;br /&gt;Unfortunately most people put the focus on the top two or three risks or vulnerabilities, injection (being SQL injection the top one), Cross-Site Scripting (XSS) and (if lucky) Cross-Site Request Forgery (CSRF), but the &lt;a href="https://www.owasp.org/index.php/OWASP_Top_Ten_Project"&gt;OWASP Top 10&lt;/a&gt; already reflected the importance of session management flaws on its 2007 version (7th position - A7), and highlighted this fact even more in the 2010 version, raising authentication and session management risks ("A3: Broken Authentication and Session Management") to the 3rd position.
&lt;br /&gt;
&lt;br /&gt;Although the emphasis goes to authentication, due to all the weaknesses of the current authentication mechanisms (mainly based on username and password), session management tends to suffer serious vulnerabilities even for the most secure web applications. Do not forget that, once an authenticated session has been established, the session ID (or  token) is temporarily equivalent to the strongest authentication method  used by the web application, such as username and password, passphrase,  one-time password (OTP), client-based digital certificate, smartcard,  or biometrics (such as fingerprint or eye retina).
&lt;br /&gt;
&lt;br /&gt;For all these reasons, the &lt;a href="https://www.owasp.org/index.php/Session_Management_Cheat_Sheet"&gt;OWASP Session Management Cheat Sheet&lt;/a&gt; has been released, with the goal of providing guidance and best practices to web application architects, developers, and information security professionals when building or auditing the session management module of web applications.
&lt;br /&gt;
&lt;br /&gt;The whitepaper with the original content that has inspired and has been used for the creation of the first version of this OWASP cheatsheet is available in PDF format for easy download, distribution, and usage &lt;a href="http://www.taddong.com/en/lab.html#OWASPSESSMGMT"&gt;at Taddong's lab&lt;/a&gt;.  
&lt;br /&gt;
&lt;br /&gt;I encourage anyone involved in web application security to provide comments, feedback, and improvements to the OWASP Session Management Cheat Sheet, for the benefit of the whole web application community.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-2664025368674766231?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/9pMxCcO6zJI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/2664025368674766231/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/07/owasp-session-management-cheat-sheet.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/2664025368674766231?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/2664025368674766231?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/9pMxCcO6zJI/owasp-session-management-cheat-sheet.html" title="OWASP Session Management Cheat Sheet" /><author><name>Raul Siles</name><uri>http://www.blogger.com/profile/06709503832135757060</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2011/07/owasp-session-management-cheat-sheet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYHRH48fyp7ImA9WhdTGE4.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-6863069182533858920</id><published>2011-07-16T01:52:00.019+02:00</published><updated>2011-07-16T17:28:55.077+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-16T17:28:55.077+02:00</app:edited><title>Our latest Security Challenge</title><content type="html">&lt;div&gt;In the past few years, some of us have had the opportunity to participate in some security challenges organized by different teams in different events. It has always been an experience where we have had a lot of fun and where we have learned a very useful knowledge. The way the sponsor have created the challenges it is always different and this point of view make you acquire another perspective. Also, the way that other participants or people in your team approach a problem is also extremely interesting and didactic. When the challenge finishes you always have this feeling of a very good job by everyone, and a very rich experience in the technical and personal area.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Other times, we have been in charge of designing and prepare one or more security challenges in the context of a particular event. In this case, it is also a very interesting experience, because preparing a challenge makes your kwnowledge go deeper and wider. You also have a lot of fun trying to guess how the participant will behave when he is in front of the problems you are creating for him and, after that, you have the opportunity to check whether you were right or wrong, watching the participants make their way to the solution. Also, participants usually provide solutions that are different from those that you designed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For all these reasons we always encourage any person that likes computer security to participate in such activities.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At present, we are involved in a security challenge of the second flavour: Movistar Mexico, sponsor of Campus Party Mexico 2011, has asked us to prepare a set of security challenges in the context of the event. The challenge has been named "Retos Movistar - Security Geek" and &lt;a href="http://www.campus-party.com.mx/2011/actividades-movistar.html#secgeek"&gt;this&lt;/a&gt; is the official website.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We have designed seven security challenges, grouped into two main categories:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;offline challenges, accessible by everyone that can be solved using only your own PC&lt;/li&gt;&lt;li&gt;online challenges, that are online accessible through internet if you have registered into the challenge&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;The tests that we have prepared cover different areas of security: from malware analysis to web security, from forensics to pen testing, and more... Tests are absolutely independent, so that participants can solve one test without even starting other.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The challenge has just started and will last until Saturday 23th of July. We hope that the experience will be fun and motivating for all participants. All the information can be found in &lt;a href="http://www.campus-party.com.mx/2011/actividades-movistar.html#secgeek"&gt;the web page of the challenge&lt;/a&gt; and news and notifications can be followed through the official twitter account @SecurityGeekCP3 (hashtag #secgeekcpmx3)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-6863069182533858920?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/00Sfe5QM9qw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/6863069182533858920/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/07/our-last-security-challenge.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/6863069182533858920?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/6863069182533858920?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/00Sfe5QM9qw/our-last-security-challenge.html" title="Our latest Security Challenge" /><author><name>Jose Pico</name><uri>http://www.blogger.com/profile/11351143259307490487</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2011/07/our-last-security-challenge.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMGQnw-eyp7ImA9WhdTEkQ.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-8578405336963238314</id><published>2011-07-10T12:50:00.001+02:00</published><updated>2011-07-10T13:13:43.253+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-10T13:13:43.253+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SSL" /><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>TLSSLed v1.1</title><content type="html">A few weeks ago we &lt;a href="http://blog.taddong.com/2011/05/tlssled-v10.html"&gt;released TLSSLed v1.0&lt;/a&gt; with the goal of helping organizations to test their SSL/TLS (HTTPS) implementation for common flaws and misconfigurations. Today, we release an updated version, v1.1, that includes some additional tests.&lt;br /&gt;
&lt;br /&gt;
The new tests check the certificate public key length, the certificate subject and issuer (CA), as well as the validity period, but besides that, they focus on the existence of HTTP secure headers on the target website main page (by using the HTTP/1.0 HEAD method), such as Strict-Transport-Security and cookies with and without the "secure" flag set.&lt;br /&gt;
&lt;br /&gt;
TLSSLed v1.1 can be downloaded from &lt;a href="http://www.taddong.com/en/lab.html"&gt;Taddong's lab&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Future versions of the tool are open to improvements and new tests. Do not hesitate to contact me with ideas!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-8578405336963238314?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/TKVl1FKEAqU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/8578405336963238314/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/07/tlssled-v11.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/8578405336963238314?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/8578405336963238314?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/TKVl1FKEAqU/tlssled-v11.html" title="TLSSLed v1.1" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2011/07/tlssled-v11.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkECQHs-fip7ImA9WhZVFUw.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-3648025386285756364</id><published>2011-05-27T19:51:00.000+02:00</published><updated>2011-05-27T19:51:01.556+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-27T19:51:01.556+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SSL" /><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>TLSSLed v1.0</title><content type="html">When running web application security assessments it is mandatory to evaluate the security stance of the SSL/TLS (HTTPS) implementation and configuration. OWASP has a couple of references I strongly recommend to take a look at, the "&lt;a href="https://www.owasp.org/index.php/Testing_for_SSL-TLS_%28OWASP-CM-001%29"&gt;OWASP-CM-001: Testing for SSL-TLS&lt;/a&gt;" checks, part of the OWASP Testing Guide v3, and the &lt;a href="https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet"&gt;Transport Layer Protection Cheat Sheet&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
We have had several tools to test for SSL and TLS security misconfigurations along the years, but still today, lots of people get the output from all these tools and are not very sure what they need to look at. Apart from the SSL/TLS web application best practices, it is important to also check the security of SSL/TLS at the web platform layer.&lt;br /&gt;
&lt;br /&gt;
The purpose of the TLSSLed tool (named from the idea of your website being TLS/SSL-ed, that is, using "https;//") is to simplify the output of a couple of commonly used tools, and highlight the most relevant security findings of any target SSL/TLS implementation. It is based on &lt;a href="http://sourceforge.net/projects/sslscan/"&gt;sslscan&lt;/a&gt;, a thorough SSL/TLS scanner that is based on the openssl library, and on the "&lt;a href="http://openssl.org/"&gt;openssl s_client&lt;/a&gt;" command line tool.&lt;br /&gt;
&lt;br /&gt;
TLSSLed is a Linux shell script inspired on ssl_test.sh by Aung Khant, where a few optimizations have been made to reduce the stress on the target web server (sslscan is run only once and the results are stored on a local file), and some tests have been added and tuned.&lt;br /&gt;
&lt;br /&gt;
The current tests include checking if the target supports the SSLv2 protocol, the NULL cipher, weak ciphers based on their key length (40 or 56 bits), the availability of strong ciphers (like AES), if the digital certificate is MD5 signed, and the current SSL/TLS renegotiation capabilities. The tool is open to comments, suggestions, improvements and new tests from the community. Do not hesitate to contact me with ideas!&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;NOTE&lt;/i&gt;: First idea for v1.1 - Would it be useful to check for the certificate key length (&amp;lt;= 1024 bits)?&lt;br /&gt;
&lt;br /&gt;
TLSSLed v1.0 can be downloaded from &lt;a href="http://www.taddong.com/en/lab.html"&gt;Taddong's lab&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The following output shows how to use TLSSLed and the kind of results you will get. It only requires two arguments ("&lt;i&gt;yes, I know, with no verification...&lt;/i&gt;"): the target HTTPS server hostname (or IP address) and the target port. The example below shows a secure implementation from https://www.owasp.org, because unfortunately, I'm sure you will find multiple insecure examples out there (Make your web environment look the same!):&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;$ ./TLSSLed.sh www.owasp.org 443&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre&gt;&lt;span style="font-size: small;"&gt;------------------------------------------------------
 TLSSLed - (1.0) based on sslscan and openssl
 by Raul Siles (www.taddong.com)
 ( inspired by ssl_test.sh by Aung Khant )
------------------------------------------------------
+ openssl version: OpenSSL 0.9.8g 19 Oct 2007
+ sslscan version 1.8.2
------------------------------------------------------

[*] Analyzing SSL/TLS on www.owasp.org:443 ..

[*] Running sslscan on www.owasp.org:443...

[*] Testing for SSLv2 ...

[*] Testing for NULL cipher ...

[*] Testing for weak ciphers (based on key length) ...


[*] Testing for strong ciphers (AES) ...
    Accepted  SSLv3  256 bits  DHE-RSA-AES256-SHA
    Accepted  SSLv3  256 bits  AES256-SHA
    Accepted  SSLv3  128 bits  DHE-RSA-AES128-SHA
    Accepted  SSLv3  128 bits  AES128-SHA
    Accepted  TLSv1  256 bits  DHE-RSA-AES256-SHA
    Accepted  TLSv1  256 bits  AES256-SHA
    Accepted  TLSv1  128 bits  DHE-RSA-AES128-SHA
    Accepted  TLSv1  128 bits  AES128-SHA

[*] Testing for MD5 signed certificate ...

[*] Checking preferred server ciphers ...
  Prefered Server Cipher(s):
    SSLv3  256 bits  DHE-RSA-AES256-SHA
    TLSv1  256 bits  DHE-RSA-AES256-SHA


[*] Testing for SSLv3/TLSv1 renegotiation vuln. (CVE-2009-3555) ...
depth=3 /L=ValiCert Validation Network/O=ValiCert, Inc./OU=ValiCert Class 2 Policy ...
... Validation Authority/CN=http://www.valicert.com//emailAddress=info@valicert.com
verify error:num=19:self signed certificate in certificate chain
verify return:0
RENEGOTIATING
Secure Renegotiation IS supported
12172:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:530:

[*] New files created:
-rw-r--r-- 1 samurai samurai 5980 2011-05-27 19:47 sslscan_www.owasp.org:443_2011-05-27_19:46:59.log


[*] done&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-3648025386285756364?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/-Afsr5CNFYk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/3648025386285756364/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/05/tlssled-v10.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/3648025386285756364?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/3648025386285756364?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/-Afsr5CNFYk/tlssled-v10.html" title="TLSSLed v1.0" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total><feedburner:origLink>http://blog.taddong.com/2011/05/tlssled-v10.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcFRHc-cCp7ImA9WhZXFUg.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-6286069587365316017</id><published>2011-05-05T01:50:00.000+02:00</published><updated>2011-05-05T01:50:15.958+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-05T01:50:15.958+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Wi-Fi" /><category scheme="http://www.blogger.com/atom/ns#" term="Vulnerability" /><title>Vulnerability in Android: To add, or not to add (a Wi-Fi network), that is the question</title><content type="html">&lt;b&gt;Title:&lt;/b&gt; Preferred Network List (PNL) disclosure vulnerability in Android based on the method used to add Wi-Fi networks&lt;br /&gt;
&lt;b&gt;Vulnerability ID:&lt;/b&gt; TAD-2011-003&lt;br /&gt;
&lt;b&gt;Credits:&lt;/b&gt; This vulnerability was discovered by Raul Siles, Founder and Senior Security Analyst with Taddong (&lt;a href="http://www.taddong.com/"&gt;www.taddong.com&lt;/a&gt;)&lt;br /&gt;
&lt;b&gt;Publication date:&lt;/b&gt; May 5, 2011&lt;br /&gt;
&lt;b&gt;Vendors contacted:&lt;/b&gt; Android Security Team&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability Summary:&lt;/b&gt;&lt;br /&gt;
Depending on the method the user followed to add a Wi-Fi network to its Android mobile device, selecting it from the Wi-Fi networks scan list or manually through the “Add Wi-Fi Network” button, the network name could be disclosed in the air by Android and be used by an attacker to impersonate that network, forcing the victim mobile device to connect to it to capture and manipulate its traffic and launch more advanced attacks.&lt;br /&gt;
&lt;br /&gt;
For all broadcast Wi-Fi networks the user has previously connected to from the “Add Wi-Fi Network” button, it is advised to delete them all and re-add them back from the scan list once the user is under the network coverage.&lt;br /&gt;
&lt;br /&gt;
Android users should preferably connect to a new broadcast Wi-Fi network from the scan list and use the “Add Wi-Fi Network” button only for connecting to a non-broadcast Wi-Fi network. A non-broadcast Wi-Fi network does require a Wi-Fi client to expose the network name in its probe request packets in order to be able to successfully connect to the network, making the client vulnerable to the previously mentioned security threats.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability Description:&lt;/b&gt; &lt;br /&gt;
Android mobile devices, as most Wi-Fi clients, keep a list of the wireless networks manually configured, plus the networks it has connected to in the past, on the Preferred Network List (PNL). Every time the Wi-Fi interface is turned on, and periodically once it has been activated (for example, to roam between access points), the device checks through 802.11 probe requests what networks in its PNL are available in the current location. Based on the responses obtained, it tries to connect to the most preferred network.&lt;br /&gt;
&lt;br /&gt;
In the past this network discovery process was performed by sending a generic probe request for the broadcast (or any) network plus specific requests for every network in the PNL. This meant devices disclosed the full PNL in the air [1], exposing themselves to karma-like attacks [2], where an attacker can identify all the networks (or access points) the mobile device is trying to connect to and impersonate them, forcing the victim device to connect to the attacker's network to capture and manipulate its traffic and launch more advanced attacks. &lt;br /&gt;
&lt;br /&gt;
In order to avoid this vulnerable behavior, modern operating systems and Wi-Fi supplicants changed the previous vulnerable behavior not to advertise the wireless networks in its PNL. Modern Wi-Fi clients only generate 802.11 probe requests for the broadcast network, generically asking for the networks available in the area. An exception to this behavior is presented by the existence of Wi-Fi hidden networks in the PNL: due to the fact hidden (or non-broadcast) networks do not include their SSID (Wi-Fi network name) in the beacon frames, and do not respond to generic queries asking for any network available, the Wi-Fi clients need to specifically ask for these hidden networks, disclosing its name and existence inside the device PNL. This makes devices vulnerable again to the aforementioned attacks.&lt;br /&gt;
&lt;br /&gt;
Android mobile devices provide two methods to add and configure Wi-Fi networks into the device. If the network is visible, it will appear on the Wi-Fi networks scan list. By simply selecting it form the list, and after providing the network credentials, the user can add the Wi-Fi network to the device.  Additionally, Android provides an “Add Wi-Fi network” button at the bottom of the scan list, to manually add Wi-Fi networks. This is the only method available to add hidden networks, as they will never appear on the scan list. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-j8VTuoL1Yo0/TcHlI9C5KcI/AAAAAAAAACk/hy_4JAvg8Ts/s1600/Android_Wi-Fi_TAD-2011-003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-j8VTuoL1Yo0/TcHlI9C5KcI/AAAAAAAAACk/hy_4JAvg8Ts/s400/Android_Wi-Fi_TAD-2011-003.png" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;However, Android does not provide any specific configuration option through this method to specify if a network is hidden (non-broadcast) or visible (broadcast). Although the most natural way of adding a network for end users is from the scan list (fortunately, for Android, this is the secure option), unfortunately, the method of manually adding Wi-Fi networks to a device is very common too, and recommended from a security perspective, as advanced users have more control over all the Wi-Fi network settings and options. &lt;br /&gt;
&lt;br /&gt;
This subtle configuration behavior has serious security implications. Depending on how the user added the Wi-Fi network to the device, selecting it from the scan list or through the "Add Wi-Fi network" button, you are vulnerable or not. As a result, all the Wi-Fi networks (hidden or visible) added to Android through the “Add Wi-Fi network” button are implicitly considered as hidden, its details will be revealed in the air, and the mobile device will be exposed to Karma-like attacks [2].&lt;br /&gt;
&lt;br /&gt;
The expected non-vulnerable behavior implies the propagation of probe requests only for the broadcast (or any) network plus all the intentionally configured hidden networks in the PNL. By default, unless it is clearly specified by the user, all networks should be treated as visible, not generating any probe request frames for them. &lt;br /&gt;
&lt;br /&gt;
The vulnerable behavior exists on the default Android configuration when adding a Wi-Fi network through the “Add Wi-Fi network” button; the Wi-Fi networks connected from the scan list are not exposed and hence not vulnerable.&lt;br /&gt;
&lt;br /&gt;
This vulnerable behavior is similar to TAD-2010-003 [3], but in the case of Android, only those Wi-Fi networks added through the “Add Wi-Fi Network” button are disclosed, instead of the full PNL.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Security Solutions, Workarounds, and Countermeasures:&lt;/b&gt;&lt;br /&gt;
Every time a user connects to a Wi-Fi network for the first time from her Android mobile device, it must select it from the Wi-Fi networks scan list, instead of using the “Add Wi-Fi Network” button except when connecting to hidden networks (option not recommended). This method ensures the Wi-Fi network will be added to the PNL in a secure way and won’t be disclosed through probe request scans.&lt;br /&gt;
&lt;br /&gt;
End users, corporate administrators, and security professionals, using or managing Android mobile devices must be aware of this behavior and ensure that all the Wi-Fi networks available on the device PNL are treated as visible.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, Android does not provide any indication on the user interface to be able to differentiate between the two types of networks (hidden or visible) for the already configured Wi-Fi networks. Once a Wi-Fi network has been added, the user cannot know if it was securely added or not. Thus, for all Wi-Fi networks previously added to the device the user must delete them all and re-add them again, selecting each of them from the scan list (and not using the “Add Wi-Fi Network”) once the user is under the network coverage (and it is visible).&lt;br /&gt;
&lt;br /&gt;
A similar scenario occurs for those Wi-Fi networks that were configured as hidden in the past, were manually and insecurely added to Android, and are configured as visible now because the administrator learned about Karma-like attacks and improved the security of the network by making it visible. It is highly recommended not to setup or connect to Wi-Fi hidden networks, as the Wi-Fi clients will be exposed to the attacks previously mentioned.&lt;br /&gt;
&lt;br /&gt;
A more granular solution is to monitor the mobile device Wi-Fi traffic, identify what Wi-Fi networks Android is generating probe requests for, and delete and re-add again only those networks.&lt;br /&gt;
&lt;br /&gt;
The recommended solution would be for Android to add a new configuration setting to the user interface that allows the user to specify if the network must be considered hidden or visible every time a new Wi-Fi network is added to the mobile device, independently of the method used, or at least when it is manually added through the vulnerable “Add Wi-Fi Network” button. The default value for this new setting must reflect that the network to connect to is visible (unless the user specifies otherwise by changing the default value). &lt;br /&gt;
&lt;br /&gt;
Besides that, Android users should be able to see and change this “type of network” setting at any time, that is, when the Wi-Fi network is added for the first time, or afterwards, through the "Edit network" button.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerable Platforms:&lt;/b&gt;&lt;br /&gt;
The vulnerable behavior was discovered on Android 2.2. &lt;br /&gt;
&lt;br /&gt;
The Android Security Team has confirmed this vulnerable behavior also affects all currently available Android 2.x and 3.x versions (such as 2.2.1, 2.2.2, 2.3, 2.3.2, 2.3.3, or 3.0).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vendor Information:&lt;/b&gt;&lt;br /&gt;
The Android Security Team confirmed the existence of this vulnerable behavior and is working on changing the "Add Wi-Fi Network" dialog box to read "Configure a non-broadcast network".  The original intent of the "Add Wi-Fi Network" dialog box was only to add non-broadcast networks; the wording will hopefully make that clearer.&lt;br /&gt;
&lt;br /&gt;
The new dialog box text will inform aware users that probe request messages will be sent from their device. They also confirmed there is no Android documentation available which describes the “scan list” versus the “Add Wi-Fi Network" behavior, hence the importance of the distribution of this security advisory in an effort to raise awareness on this issue.&lt;br /&gt;
&lt;br /&gt;
In the “Vulnerability Description” section above, Taddong generally recommends from a security perspective the method of manually adding Wi-Fi networks to a device so that advanced users have more control over all the Wi-Fi network settings and options. The Android Security Team thinks that adding a network via the scan list is more secure, because more critical security information can be conveyed automatically, rather than relying on the limited options available to the user. We (at Taddong) agree this could be true for the average user, especially to avoid misconfiguration and user mistakes, IF the user connects to a secure and properly configured Wi-Fi network, but unfortunately, this is not always the case.&lt;br /&gt;
&lt;br /&gt;
We at Taddong honestly believe this finding must be publicly known by end users and by the information security community in order to take appropriate countermeasures and mitigate the vulnerable behavior. Therefore, we have tried to coordinate the release of this security advisory together with the vendor, following responsible disclosure principles. This vulnerable behavior is especially relevant considering the broad market adoption of Android mobile devices (with significant increasing adoption estimations for the upcoming years), and its extensive usage to connect to Wi-Fi networks.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability Report Timeline:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;2011-04-08&lt;/b&gt;: Taddong contacts the Android Security Team to provide details about this vulnerable behavior. The Android Security Team requests more details and clarifies the expected behavior.&lt;br /&gt;
&lt;b&gt;2011-04-09&lt;/b&gt;: Taddong provides extra details after reanalyzing the expected behavior and ratifies the vulnerable behavior only when the  “Add Wi-Fi Network” button is used. Taddong asks for details to differentiate the two types of networks, available documentation, expected behavior, and future plans to mitigate the vulnerable behavior.&lt;br /&gt;
&lt;b&gt;2011-04-12&lt;/b&gt;: Taddong asks for feedback, and the Android Security Team replies back clarifying the previous questions and notifying future plans to improve the Android user interface. Both parties start to coordinate the public disclosure of this issue. &lt;br /&gt;
&lt;b&gt;2011-04-15&lt;/b&gt;: Taddong completes and provides an initial security advisory draft to the Android Security Team for its review and comments. The Android Security Teams confirms its reception, internal distribution, and feedback is expected for next week.&lt;br /&gt;
&lt;b&gt;2011-04-22&lt;/b&gt;: The Android Security Team confirms it is still collecting feedback regarding the security advisory draft.&lt;br /&gt;
&lt;b&gt;2011-04-28&lt;/b&gt;: Taddong tries to get an update of the status of the security advisory draft review process.&lt;br /&gt;
&lt;b&gt;2011-05-04&lt;/b&gt;: Taddong again tries to get an update of the status of the security advisory draft review process. The Android Security Team provides its review and comments to the security advisory draft.&lt;br /&gt;
&lt;b&gt;2011-05-05&lt;/b&gt;: Taddong publishes security advisory TAD-2011-003.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
[1] "Trying to shut up your wireless chatty Windows". Raul Siles. 2005.&lt;br /&gt;
URL: &lt;a href="http://www.raulsiles.com/docs/Chatty_Windows_Wifi_Sep05.html"&gt;http://www.raulsiles.com/docs/Chatty_Windows_Wifi_Sep05.html&lt;/a&gt;&lt;br /&gt;
[2] "KARMA Wireless Client Security Assessment Tools". Dino A. Dai Zovi. 2005.&lt;br /&gt;
URL: &lt;a href="http://theta44.org/karma/index.html"&gt;http://theta44.org/karma/index.html&lt;/a&gt;&lt;br /&gt;
[3] “TAD-2010-003: Full 802.11 Preferred Network List (PNL) disclosure in windows Mobile 6.5”. Raul Siles. Taddong. 2010.&lt;br /&gt;
URL: &lt;a href="http://blog.taddong.com/2010/09/vulnerability-in-indiscreet-wi-fi.html"&gt;http://blog.taddong.com/2010/09/vulnerability-in-indiscreet-wi-fi.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;About Taddong:&lt;/b&gt;&lt;br /&gt;
Taddong (&lt;a href="http://www.taddong.com/"&gt;www.taddong.com&lt;/a&gt;)  is a company established in Spain in 2010 with the purpose of improving  customer's information security, by discovering and eliminating or  mitigating the real risks that threaten their networking and information  technology infrastructures. To achieve this goal, Taddong's portfolio  includes specialized information security services, requiring an  in-depth technical knowledge and broad understanding of the information  technology market, as well as training services, focused on providing  customers with auto-defense skills. Taddong remains at the forefront of  the security market through continuous research and education  activities.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Disclaimer:&lt;/b&gt;&lt;br /&gt;
The contents of  this security advisory are copyright (c) 2011 Taddong S.L., and may be  distributed freely provided that no fee is charged for this distribution  and proper credit is given.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-6286069587365316017?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/G9xY9De2K-E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/6286069587365316017/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/05/vulnerability-in-android-to-add-or-not.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/6286069587365316017?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/6286069587365316017?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/G9xY9De2K-E/vulnerability-in-android-to-add-or-not.html" title="Vulnerability in Android: To add, or not to add (a Wi-Fi network), that is the question" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-j8VTuoL1Yo0/TcHlI9C5KcI/AAAAAAAAACk/hy_4JAvg8Ts/s72-c/Android_Wi-Fi_TAD-2011-003.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2011/05/vulnerability-in-android-to-add-or-not.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQMRH86eSp7ImA9WhdQEEg.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-3366813223116382608</id><published>2011-05-03T22:43:00.026+02:00</published><updated>2011-08-11T11:03:05.111+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-11T11:03:05.111+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="GPRS" /><category scheme="http://www.blogger.com/atom/ns#" term="GSM" /><title>Selective attack with a rogue GSM/GPRS base station</title><content type="html">An attacker employing a rogue GSM/GPRS base station usually wants to compromise the communications of a particular user, while trying to generate the least possible activity for the rest of mobile users within his radio range. We call this a “selective attack”. In order to perform it, the attacker must know the victim’s IMSI (the number that identifies a SIM card) in advance.
&lt;br /&gt;There are two widespread misconceptions regarding this type of attack. Most people think that:
&lt;br /&gt;&lt;p style="padding-left: 50pt; color: #666666"&gt;A.- It is difficult to obtain the victim’s IMSI, and
&lt;br /&gt;B.- It is difficult not to affect the other users in the radio range of the rogue base station&lt;/p&gt;
&lt;br /&gt;However, there are some techniques that allow the attacker to solve the aforementioned issues. In this article we explain one of them as an illustrative example.&lt;div&gt;
&lt;br /&gt;&lt;b&gt;Discovering the victim’s IMSI&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To solve point A, the attacker could do the following:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Step 1: the attacker positions himself in the area where his victim lives (the victim’s home location) when the victim is inside and captures all the IMSIs in the range of his rogue base station. He will probably use a directional antenna to limit the geographical area where he is capturing IMSIs. During this operation, the rogue base station will reject all registration attempts from any mobile, but it will annotate the IMSI numbers of the subscribers that are trying to register.&lt;/li&gt;&lt;li&gt;Step 2: afterwards (for example the next working day), the attacker positions himself in the victim’s office location, and performs the same procedure. It is to be expected that the first IMSI that is present in both IMSI lists will be the one of the victim.&lt;/li&gt;&lt;li&gt;Step 3: after that, the attacker should authorize the registration of the victim’s IMSI (and only this one) in his rogue base station in order to intercept all its communications. The registration attempts from any other IMSI will be rejected.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Avoiding affecting the rest of users.&lt;/b&gt;&lt;div&gt;&lt;b&gt;
&lt;br /&gt;&lt;/b&gt;Once point A is solved, let’s see how the attacker can tackle point B. First, and most important, notice that the attacker didn’t leave the registration open for all mobile stations at any time, thus preventing the appearance of any symptom that could alert the mobile users in the area (such as a sudden change in the coverage indicator, any abnormal error in outgoing calls, the absence of incoming calls, etc.) and any overload problem for his rogue base station (that will typically have limited capabilities for traffic and call management).
&lt;br /&gt;For every aforementioned step, the attacker performs the following configuration actions to affect the least possible the rest of mobiles in his radio range:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Step 1: the attacker will configure its rogue base station so that each IMSI tries to register to it only once. This is convenient for him for several reasons: it will minimize any symptoms in the mobile phones in his range, and also he will reduce to the minimum redundant and useless information in his logs. One way to achieve this objective is to configure a Reject Cause Code 0x0C “Location Area Not Allowed”. This reject code is included by the base station in the “Location Update Procedure Reject” message, sent whenever the base station rejects a registration attempt. According to 3GPP 24.008 and the tests in our lab, the mobile station annotates the LAI (Location Area Identifier) in its “forbidden location areas” list and it will not try to register to any cell with this LAI (at least not until the mobile station is reset or the SIM is removed). This way, the attacker is forcing the mobile terminals in his range to try to register only once to his rogue base station, but they will continue to be able to register back to a legitimate base station.&lt;/li&gt;&lt;li&gt;Step 2: at this moment the attacker wants the victim’s mobile station to be rejected in its first registration attempt, as well as the other subscribers in his radio range. He can configure its rogue base station with a LAI different from the one used in the previous day, so that he will ensure that the mobile station will try to register again. Once identified the first IMSI matching any one stored the previous day, he shutdowns the base station.&lt;/li&gt;&lt;li&gt;Step 3: at this time, the attacker already knows the victim’s IMSI. He can then turn on again his rogue base station with a new LAI and with the victim’s IMSI authorized. When the victim’s mobile station tries to register, the registration will succeed and the attacker will be able to intercept the communications of the victim. All other mobile stations will try to register only once in the rogue base station and will register back to a legitimate cell, because the configured Reject Cause Code will still be 0x0C. &lt;/li&gt;&lt;/ul&gt;This procedure would allow an attacker to identify the victim’s IMSI with a first capture session that would last some minutes, and a second session in which he would be able to selectively intercept the victim’s communications. The only collateral effect on other mobile terminals in the attacker’s range would be that they would try to register to his rogue base station, but only once (or twice at most), and the users won’t even get an indication of this fact on their screens.
&lt;br /&gt;
&lt;br /&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;NOTE: We first published this article, in Spanish, in &lt;a href="http://www.elladodelmal.com/2011/04/ataque-selectivo-con-estacion-base.html"&gt;this post&lt;/a&gt; of the blog &lt;a href="http://www.elladodelmal.com/"&gt;“Un informático en el lado del mal”&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-3366813223116382608?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/yHvVlJs3s2I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/3366813223116382608/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/05/selective-attack-with-rogue-gsmgprs.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/3366813223116382608?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/3366813223116382608?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/yHvVlJs3s2I/selective-attack-with-rogue-gsmgprs.html" title="Selective attack with a rogue GSM/GPRS base station" /><author><name>Jose Pico</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://blog.taddong.com/2011/05/selective-attack-with-rogue-gsmgprs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MGSH09eSp7ImA9WhZTFU4.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-8210862760501711709</id><published>2011-03-18T20:17:00.003+01:00</published><updated>2011-03-19T11:43:49.361+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-19T11:43:49.361+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Vulnerability" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>Vulnerability in SAP NetWeaver Portal: Session Fixation</title><content type="html">&lt;b&gt;Title:&lt;/b&gt; Session fixation vulnerability in the SAP J2EE Engine affecting the core SAP NetWeaver platform&lt;br /&gt;
&lt;b&gt;Vulnerability ID:&lt;/b&gt; TAD-2011-002&lt;br /&gt;
&lt;b&gt;Credits:&lt;/b&gt; This vulnerability was discovered by Raul Siles, Founder and Senior Security Analyst with Taddong (&lt;a href="http://www.taddong.com/"&gt;www.taddong.com&lt;/a&gt;)&lt;br /&gt;
&lt;b&gt;Publication date:&lt;/b&gt; March 18, 2011&lt;br /&gt;
&lt;b&gt;Vendors contacted:&lt;/b&gt; SAP AG&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability description:&lt;/b&gt; &lt;br /&gt;
SAP's NetWeaver platform is vulnerable to a (web based) session fixation vulnerability. An initial&amp;nbsp; HTTP connection to the J2EE Engine gets assigned a standard Java cookie, named JSESSIONID, that contains the user session ID pre-authentication. Once the user successfully authenticates through any SAP web application or module, hence using the SAP NetWeaver platform and the SAP J2EE Engine, the session ID is not renewed post-authentication, therefore, the platform is vulnerable to session fixation.&lt;br /&gt;
&lt;br /&gt;
SAP NetWeaver is SAP’s integrated technology platform and technical foundation for all SAP applications and modules:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-cgCeiE36Kaw/TYOi4dCkyBI/AAAAAAAAACg/NtkT8aUnGu8/s1600/SAP_architecture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="352" src="https://lh5.googleusercontent.com/-cgCeiE36Kaw/TYOi4dCkyBI/AAAAAAAAACg/NtkT8aUnGu8/s640/SAP_architecture.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
This session fixation vulnerability can be used to selectively attack targeted key business SAP users (regular or administrator), as well as any SAP user indiscriminately. As a result of the attack, the attacker will get unauthorized access to SAP by hijacking the victim user session and fully impersonating the user within the SAP environment.&lt;br /&gt;
&lt;br /&gt;
Session fixation vulnerabilities can be leveraged to bypass the most advanced authentication mechanisms, including passphrases, client-based digital certificates, smart cards, and biometrics. &lt;br /&gt;
&lt;br /&gt;
Considering SAP industry presence as the world’s leader in business software, and its current numbers (+100K customers in 120 countries, +140K installations, and +2,4K certified partners), the impact of this specific vulnerability is extremely high worldwide, affecting thousands of critical business environments and their daily activities.&lt;br /&gt;
&lt;br /&gt;
All the vulnerability details, how it was discovered, worldwide impact, and additional protections mechanisms (apart from the ones detailed in this advisory) are available on the associated presentation and whitepaper [1], and specifically on case study #3.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Security solutions, workarounds, and countermeasures:&lt;/b&gt;&lt;br /&gt;
Companies and organizations using SAP products and solutions, therefore the SAP NetWeaver platform, must apply the recommendations detailed on the associated SAP Security Note, 1310561 [2], and ensure that the newly added "SessionIdRegenerationEnabled" Web Container Service property is enabled. Turning on this property adds a new secure (HTTPS) cookie to sessions, called JSESSIONMARKID, that gets renewed after a successful login, thus mitigating session fixation attacks.&lt;br /&gt;
&lt;br /&gt;
By default, this property is disabled in previous/legacy versions (6.x), and it is enabled since version +7.11 SP06 and all SPs for 7.20 and 7.30. &lt;br /&gt;
&lt;br /&gt;
Taddong's Black Hat Europe 2011 presentation and whitepaper associated to this advisory [1] contain considerations for specific deployment scenarios, additional SAP security-related properties, and other recommended security best practices to mitigate session fixation (as well as other session management) attacks.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerable platforms:&lt;/b&gt;&lt;br /&gt;
SAP has confirmed that multiple SAP NetWeaver versions are vulnerable, including 6.40 up to 7.20. See the associated SAP Security Note for details [2].&lt;br /&gt;
&lt;br /&gt;
The vulnerability was discovered on SAP NetWeaver Portal version 6.4.200607310245.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vendor information:&lt;/b&gt;&lt;br /&gt;
SAP confirmed the existence of this vulnerability on July 2009 and released an associated SAP Security Note, number 1310561, on December 2010 [2], acknowledging proper security researcher credit [3].&lt;br /&gt;
&lt;br /&gt;
We  at Taddong honestly believe this finding must be publicly known by the  information security community in order to take appropriate  countermeasures and mitigate the vulnerable behavior. Therefore, we have  tried to coordinate the release of this security advisory together with  the vendor, following responsible disclosure principles. This  vulnerability is extremely relevant considering the extensive number of SAP-based business environments available in the industry and the potential impact of  the associated attacks.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability report timeline: (Summary)&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;2009-07-02&lt;/b&gt;: Taddong contacts SAP to provide details about this vulnerability.&lt;br /&gt;
&lt;b&gt;2009-07-14&lt;/b&gt;: SAP ratifies the vulnerability and provides the temporary available countermeasures ("SessionIdRegenerationEnabled"). The disclosure plans and estimated timeframe for a fix started to get discussed.&lt;br /&gt;
&lt;b&gt;2009-07-23&lt;/b&gt;: The initial estimated timeframe is set in two months (end of September), being both parties aware that most probably this is a best case scenario. &lt;br /&gt;
&lt;b&gt;2009-09-18&lt;/b&gt;: A few difficulties and stability issues associated to fixing the vulnerability started to arise, so a new fix estimate is set for January 2010. During the next couple of weeks different options are evaluated to reduce the newly estimated deadline, and to analyze the real impact worldwide.&lt;br /&gt;
&lt;b&gt;2009-11-24&lt;/b&gt;: An status update is requested by Taddong, and the January estimation is confirmed to be still valid. An initial technical solution was being tested by that time. Besides that, the disclosure plans and models of both parties continued being evaluated. SAP clarifies is in the process of evaluating its externally facing security program.&lt;br /&gt;
&lt;b&gt;2010-01-26&lt;/b&gt;: A solution is still not available, the issue was escalated internally, and several months were required to be able to fix the vulnerability for all the different releases affected (7 months after initial notification). During the process, responsible disclosure and impact are reevaluated.&lt;br /&gt;
&lt;b&gt;2010-03-08&lt;/b&gt;: A new deadline is established for September 2010 trying to cover all releases, as a few issues were found on legacy versions. In parallel, the option of providing partial fixes for specific customers is under evaluation (9 months after initial notification).&lt;br /&gt;
&lt;b&gt;2010-08-06&lt;/b&gt;: A meeting is scheduled for November 2010 with the goal of discussing in-depth the vulnerability details and conclusions, plus collaborating and agreeing on the final disclosure actions and release deadline (13 months after initial notification).&lt;br /&gt;
&lt;b&gt;2010-12-14&lt;/b&gt;: The vulnerability is privately released by SAP in the SAP Service Marketplace as Security Note 1310561 [2] to its customers and partners (18 months after initial notification).&lt;br /&gt;
&lt;b&gt;2011-03-17&lt;/b&gt;: The vulnerability and lessons learned are publicly released by Taddong during the Black Hat Europe 2011 conference in Barcelona [1] after an implementation time of three months (21 months after initial notification).&lt;br /&gt;
&lt;b&gt;2011-03-18&lt;/b&gt;: Taddong publishes this security advisory.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
[1] "SAP: Session (Fixation) Attacks and Protections (in Web Applications)". Raul Siles. Taddong. Black Hat Europe 2011. March 2011.&lt;br /&gt;
URL (presentation): &lt;a href="http://www.taddong.com/docs/BlackHat_EU_2011_Siles_SAP_Session-Slides.pdf"&gt;http://www.taddong.com/docs/BlackHat_EU_2011_Siles_SAP_Session-Slides.pdf&lt;/a&gt;&lt;br /&gt;
URL (whitepaper): &lt;a href="http://www.taddong.com/docs/BlackHat_EU_2011_Siles_SAP_Session-WP.pdf"&gt;http://www.taddong.com/docs/BlackHat_EU_2011_Siles_SAP_Session-WP.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
[2] SAP Security Note 1310561. SAP. December 2010. (Registration on the SAP Service Marketplace, SMP, is required).&lt;br /&gt;
URL: &lt;a href="https://websmp130.sap-ag.de/sap/support/notes/1310561"&gt;https://websmp130.sap-ag.de/sap/support/notes/1310561&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
[3] SAP acknowledgements to security researchers. SAP. December 2010.&lt;br /&gt;
URL: &lt;a href="http://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/c05604f6-4eb3-2d10-eea7-ceb666083a6a"&gt;http://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/c05604f6-4eb3-2d10-eea7-ceb666083a6a&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;About Taddong:&lt;/b&gt;&lt;br /&gt;
Taddong (&lt;a href="http://www.taddong.com/"&gt;www.taddong.com&lt;/a&gt;)  is a company established in Spain in 2010 with the purpose of improving  customer's information security, by discovering and eliminating or  mitigating the real risks that threaten their networking and information  technology infrastructures. To achieve this goal, Taddong's portfolio  includes specialized information security services, requiring an  in-depth technical knowledge and broad understanding of the information  technology market, as well as training services, focused on providing  customers with auto-defense skills. Taddong remains at the forefront of  the security market through continuous research and education  activities.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Disclaimer:&lt;/b&gt;&lt;br /&gt;
The contents of  this security advisory are copyright (c) 2011 Taddong S.L., and may be  distributed freely provided that no fee is charged for this distribution  and proper credit is given.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-8210862760501711709?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/-EvGwpv3BaI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/8210862760501711709/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/03/vulnerability-in-sap-netweaver-portal.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/8210862760501711709?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/8210862760501711709?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/-EvGwpv3BaI/vulnerability-in-sap-netweaver-portal.html" title="Vulnerability in SAP NetWeaver Portal: Session Fixation" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-cgCeiE36Kaw/TYOi4dCkyBI/AAAAAAAAACg/NtkT8aUnGu8/s72-c/SAP_architecture.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2011/03/vulnerability-in-sap-netweaver-portal.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UNQX45fip7ImA9Wx9aFkQ.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-5924711342341803647</id><published>2011-03-09T18:16:00.002+01:00</published><updated>2011-03-09T18:21:30.026+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-09T18:21:30.026+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>﻿Browser Exploitation for Fun &amp; Profit Revolutions</title><content type="html">Unexpectedly, at the end of last week I had to prepare in less than 24 hours the third (and last by now) episode of the "Browser Exploitation for Fun and Profit" trilogy, dubbed "Revolutions". With this one, the "Matrix-like" series is over ;) &lt;br /&gt;
&lt;br /&gt;
I have had most of the ideas I wanted to highlight on the third episode on my mind for a few weeks/months, but had to put them all together on a slide deck for a last minute presentation slot on the awesome &lt;a href="http://www.rootedcon.es/"&gt;Rooted CON 2011&lt;/a&gt; Spanish security and hacking conference. It was the perfect scenario to finish the trilogy:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-SZ8RFGadMc4/TXeprxdDXnI/AAAAAAAAACc/IXfwSPoVQMI/s1600/253232848_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="https://lh6.googleusercontent.com/-SZ8RFGadMc4/TXeprxdDXnI/AAAAAAAAACc/IXfwSPoVQMI/s640/253232848_small.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: xx-small;"&gt;Picture by &lt;a href="http://twitpic.com/46rnps/full"&gt;@a_zumito&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
The full trilogy is available on three different Taddong's blog posts and associated presentations:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.taddong.com/2010/11/browser-exploitation-for-fun-profit.html"&gt;"Browser Exploitation for Fun and Profit"&lt;/a&gt;. November 2, 2010. SANS Special Webcast. Internet.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.taddong.com/2010/12/browser-exploitation-for-fun-profit.html"&gt;"Browser Exploitation for Fun and Profit Reloaded"&lt;/a&gt;. December 2, 2010. SANS@Night. SANS London 2010. London, UK.&lt;/li&gt;
&lt;li&gt;"Browser Exploitation for Fun and Profit Revolutions" (&lt;a href="http://blog.taddong.com/2011/03/browser-exploitation-for-fun-profit.html"&gt;this post&lt;/a&gt;). March 4, 2011. Rooted CON 2011. Madrid, Spain. Presentation &lt;a href="http://www.taddong.com/docs/Browser_Exploitation_for_Fun&amp;amp;Profit_Revolutions_Taddong-RaulSiles_RootedCon-2011.pdf"&gt;available here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;Each episode content somehow builds on the topics and knowledge covered on the previous episodes, trying to minimize the overlap, except for the most important messages and goals I wanted to address with this initiative:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;XSS vulnerabilities and attacks are undervalued, and both their risk and real impact must be seriously considered by any organization interested on protecting their web applications, and collaterally, their web users and clients.&lt;/li&gt;
&lt;li&gt;XSS (Cross-Site Scripting) should be renamed WCI (Web Content Injection) in order to reflect the real scope of the attack, as well as what can be really done with it.&lt;/li&gt;
&lt;li&gt;One of the main goals was to provide web application pen-testers with an open-source XSS exploitation platform, based on &lt;a href="http://sourceforge.net/projects/samurai/"&gt;Samurai WTF&lt;/a&gt;, &lt;a href="https://code.google.com/p/beef/"&gt;BeEF&lt;/a&gt; (&lt;a href="http://www.bindshell.net/tools/beef/"&gt;the old PHP-based&lt;/a&gt; and &lt;a href="https://code.google.com/p/beef/"&gt;the new Ruby-based&lt;/a&gt; versions) and &lt;a href="http://www.metasploit.com/"&gt;Metasploit&lt;/a&gt;, to push XSS vulnerabilities to the limit and be able to really demonstrate the impact of XSS.&lt;/li&gt;
&lt;/ul&gt;This third episode emphasizes all these main principles, focusing on the current XSS state-of-the-art and using (again) a practical and live demo, plus including two related topics I had a pending publication for:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;A “new” kind of XSS I have dubbed "Global (or URL-based) non-persistent XSS"&lt;/b&gt;: I've called it "new" not stating I'm the one that has discovered it, but emphasizing how most organization put all their attention on enforcing input validation and output encoding to mitigate XSS vulnerabilities mainly on HTTP parameters (GET and POST) and HTTP headers, forgetting about the URL itself.&lt;br /&gt;
There are specific scenarios, such as web applications with multi-language support, where this vulnerability is specially relevant, and in particular, due to its global nature, as it affects all the resources within the web application.&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Multi-technology WCI (or XSS) on mobile devices&lt;/b&gt;: XSS, or better said WCI, not only affects the traditional web applications and web browsers but other "web clients" (or web-based user interfaces) associated to wireless technologies, such as the SMS or Bluetooth notification systems in mobile devices, like Windows Mobile (WM) 6.1, WM 6.5 (HTC), or Palm WebOS. My bet is that other inputs, such as barcodes, QR-codes, or audio, will affect mobile devices in the near future too!&lt;/li&gt;
&lt;/ul&gt;I added a new final step to the live demo to demonstrate the BeEF frame redirect plug-in capabilities (by Yori Kvitchko), where the victim user can remain hooked to the BeEF framework through the vulnerable web application, while the vulnerable web page is hidden under a 100% iframe showing a different page, such as Google. Although this technique still has a few drawbacks on the pen-tester side due to the original URL and favicon not being replaced by the new attacker's iframe, this can be easily bypassed on some (web clients of) mobile devices (e.g. iPhone and Android) using URL or address bar hiding techniques (see the references at the end of the presentation).&lt;br /&gt;
&lt;br /&gt;
I hope everybody attending any of the related presentations run during the last four moths, or that have simply read the material, enjoyed the whole trilogy. Now it is your turn to put that knowledge and skills into practice and help organizations to mitigate the impact and reduce the prevalence of XSS (or WCI) on web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;i&gt;NOTE&lt;/i&gt;&lt;/u&gt;: In addition to these three episodes, I run an extra live episode on a special SANS promotion event in Madrid on January 25, 2011, "Browser Exploitation for Fun and Profit - Redux". It was a summary of episodes 1 and 2 in preparation for the last one (potentially) during Rooted CON 2011. The event was used to promote my upcoming 2-day &lt;a href="http://www.sans.org/madrid-2011-cs/"&gt;"Metasploit Kung Fu for Enterprise Pen Testing" (SEC580, June 1-2, 2011)&lt;/a&gt; and 6-day &lt;a href="http://www.sans.org/madrid-2011-emea-cs/"&gt;"Web App Penetration Testing and Ethical Hacking" (SEC542, September 19-24, 2011)&lt;/a&gt; training courses in Spanish in Madrid later this year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-5924711342341803647?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/06hcVsubs-k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/5924711342341803647/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/03/browser-exploitation-for-fun-profit.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/5924711342341803647?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/5924711342341803647?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/06hcVsubs-k/browser-exploitation-for-fun-profit.html" title="﻿Browser Exploitation for Fun &amp; Profit Revolutions" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-SZ8RFGadMc4/TXeprxdDXnI/AAAAAAAAACc/IXfwSPoVQMI/s72-c/253232848_small.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2011/03/browser-exploitation-for-fun-profit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ECRHYyfyp7ImA9Wx9bE00.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-552916781674805455</id><published>2011-02-21T16:20:00.025+01:00</published><updated>2011-02-21T17:27:45.897+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-21T17:27:45.897+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GSM/UMTS/GPRS/EDGE/HSPA/LTE" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><title>Does your phone warn you when it is not encrypting your calls?</title><content type="html">Looking at the following picture, do you know what the open lock icon, near the top left corner of the screen of the Nokia phone, mean?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-jwlPkw0wBdI/TWKEe5tzq0I/AAAAAAAAABE/Fa7JKGsXnYo/s1600/Nokia6230withSIM2-iPhone3GwithSIM1-OpenLock.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://3.bp.blogspot.com/-jwlPkw0wBdI/TWKEe5tzq0I/AAAAAAAAABE/Fa7JKGsXnYo/s400/Nokia6230withSIM2-iPhone3GwithSIM1-OpenLock.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5576164955061988162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In short, it means that the phone call is not being encrypted. But that being the case, shouldn't the iPhone be displaying a similar icon? (the call in progress in the picture was established between the two phones). Keep on reading, and you will see that there is more to it than meets the eye.&lt;br /&gt;&lt;br /&gt;GSM usually encrypts your calls to protect your privacy, and the same goes for your GPRS/EDGE data connections. Now, GSM has many security problems, but for the purpose of this discussion, let us concentrate on the "usually" part in the above sentence.&lt;br /&gt;&lt;br /&gt;The GSM specification gives full control to the network to select the encryption algorithm to be used to protect the communications on the radio interface, choosing from a set of supported algorithms, which nowadays in most cases include only two choices: A5/1, which is the most commonly used encryption algorithm in GSM networks (already broken, but that's another story), and A5/0, which is an euphemism for no-encryption-at-all. Thus, the network can choose to encrypt, or not, your communications.&lt;br /&gt;&lt;br /&gt;Most GSM operators do encrypt their subscribers' communications, but some may choose not to do it, and in some countries, like India, they may even be required by law not to use encryption. Making things even more worrisome, an attacker can very easily set up a rogue GSM base station, pretending to belong to your usual network operator, and route all your calls and data connections, unencrypted, through his base station.&lt;br /&gt;&lt;br /&gt;So, you cannot decide whether the communication will be encrypted or not. But, could you, at least, KNOW if your communication is being encrypted or not?&lt;br /&gt;&lt;br /&gt;The GSM specification states that you, the user, "should" be informed by your mobile device when the communication is not encrypted (3GPP Rel.9 TS 33.102-920  "3G Security Architecture" 5.5.1 Visibility):&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div style="color: black;margin: 20px;"&gt;&lt;br /&gt;&lt;em&gt;"Although in general the security features should be transparent to the user, for certain events and according to the user's concern, greater user visibility of the operation of security features should be provided. This yields to a number of features that inform the user of security-related events, such as:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;indication of access network encryption: the property that the user is informed whether the confidentiality of user data is protected on the radio access link, in particular when non-ciphered calls are set-up;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;[...]&lt;br /&gt;The ciphering indicator feature is specified in 3GPP TS 22.101 [...]"&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The referenced 3GPP TS 22.101 specification (R99 22.101-3.17.0), on section 13, "Types of features of UEs", says:&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div style="color: black;margin: 20px;"&gt;&lt;br /&gt;&lt;em&gt;"The basic mandatory UE requirements are:&lt;br /&gt;[...]&lt;br /&gt;- Ciphering Indicator for terminals with a suitable display;&lt;br /&gt;The ciphering indicator feature allows the ME to detect that ciphering is not switched on and to indicate this to the user. The ciphering indicator feature may be disabled by the home network operator setting data in the SIM/USIM.  If this feature is not disabled by the SIM, then whenever a connection is in place, which is, or becomes unenciphered, an indication shall be given to the user. Ciphering itself is unaffected by this feature, and the user can choose how to proceed;"&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Interesting! So, according to the specification, our mobile devices should tell us that the communication is not encrypted and we should be allowed to choose how to proceed, unless our SIM card were configured to disable this feature. However, is that how it is in real life?&lt;br /&gt;&lt;br /&gt;In a little experiment we did in our lab, we took 2 SIM cards from 2 different network operators, let us call them Operator1 and Operator2, and we inserted them in the phones you saw in the previous picture, an old (2004) Nokia 6230, and a more recent (2008) iPhone 3G. Then, we established a call between them, using our own base station with A5/0, that is, no encryption, and the result was the one depicted in the previous picture: the old Nokia phone displayed the open lock icon, indicating that the call was not being encrypted, while the iPhone did not show any indication of this fact.&lt;br /&gt;&lt;br /&gt;Then, we swapped the SIM cards between the two phones, and established again a call between them. The result: this time neither the Nokia 6230 nor the iPhone 3G displayed any indication of the call not being encrypted, as you can see in the following picture:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-E9lzG09BdG8/TWKE66Acm9I/AAAAAAAAABM/bYfGTXhXDgA/s1600/Nokia6230withSIM1-iPhone3GwithSIM2-NoLock.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://4.bp.blogspot.com/-E9lzG09BdG8/TWKE66Acm9I/AAAAAAAAABM/bYfGTXhXDgA/s400/Nokia6230withSIM1-iPhone3GwithSIM2-NoLock.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5576165436176505810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The conclusions we can draw from this little experiment are:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;the Nokia 6230 will show an open lock icon when a call is not encrypted, unless the SIM card disables this feature,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;the iPhone 3G will never notify the user about a call not being encrypted,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;the SIM card from Operator1 (inserted in the Nokia Phone in the first picture) does not disable the ciphering indicator, and&lt;/li&gt;&lt;br /&gt;&lt;li&gt;the SIM card from Operator2 (inserted in the Nokia Phone in the second picture) disables the ciphering indicator&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Think about it for a second, and then try again to answer the question in the title of this article: does your phone warn you when it is not encrypting your calls?&lt;br /&gt;&lt;br /&gt;&amp;lt;plug&amp;gt;&lt;br /&gt;If you want to find out, bring your mobile phone and SIM card to our &lt;a href=http://www.taddong.com/en/training.html&gt;GSM/UMTS (2G/3G) SECURITY&lt;/a&gt; training course, and you will be able to test it yourself! Sessions available in English and in Spanish!&lt;br /&gt;&amp;lt;/plug&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-552916781674805455?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/uYsdFuXztxE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/552916781674805455/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/02/does-your-phone-warn-you-when-it-is-not.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/552916781674805455?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/552916781674805455?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/uYsdFuXztxE/does-your-phone-warn-you-when-it-is-not.html" title="Does your phone warn you when it is not encrypting your calls?" /><author><name>David Perez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-jwlPkw0wBdI/TWKEe5tzq0I/AAAAAAAAABE/Fa7JKGsXnYo/s72-c/Nokia6230withSIM2-iPhone3GwithSIM1-OpenLock.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://blog.taddong.com/2011/02/does-your-phone-warn-you-when-it-is-not.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMCSH45fSp7ImA9WhZTFE0.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-8005307327754219919</id><published>2011-02-04T00:30:00.084+01:00</published><updated>2011-03-17T23:21:09.025+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-17T23:21:09.025+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Vulnerability" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>Vulnerability in HTC Peep: Twitter Credentials Disclosure</title><content type="html">&lt;b&gt;Title:&lt;/b&gt; Twitter credentials disclosure in HTC Peep mobile app (default HTC Twitter client)&lt;br /&gt;
&lt;b&gt;Vulnerability ID:&lt;/b&gt; TAD-2011-001&lt;br /&gt;
&lt;b&gt;Credits:&lt;/b&gt; This vulnerability was discovered by Raul Siles, Founder and Senior Security Analyst with Taddong (&lt;a href="http://www.taddong.com/"&gt;www.taddong.com&lt;/a&gt;)&lt;br /&gt;
&lt;b&gt;Publication date:&lt;/b&gt; February 4, 2011&lt;br /&gt;
&lt;b&gt;Last update:&lt;/b&gt; March 17, 2011 - FOTA fixes released by HTC for Tattoo &amp;amp; Hero. See timeline and (&lt;span style="color: red;"&gt;UPDATE2&lt;/span&gt;) marks.&lt;br /&gt;
&lt;b&gt;Previous updates:&lt;/b&gt; February 14, 2011 - Fix released by HTC and validated by Taddong. See timeline and (&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) marks.&lt;br /&gt;
&lt;b&gt;Vendors contacted:&lt;/b&gt; HTC (and MITRE - CVE ID)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability description:&lt;/b&gt; &lt;br /&gt;
The default Twitter client (or application) in HTC mobile devices is called HTC Peep. HTC Peep is vulnerable to two different credentials disclosure vulnerabilities during the authentication process against the Twitter service (twitter.com).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="176" src="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/TTrI8oEUE0I/AAAAAAAAACM/sphIMEvUe5I/s200/HTC_Peep.png" width="200" /&gt;&lt;/div&gt;&lt;br /&gt;
During the authentication process, the HTC Peep app establishes an HTTP (TCP/80) connection against the twitter.com servers, sending a few HTTP OAuth-related requests. The first two HTTP GET requests try to gather and make use of an OAuth token: "GET /oauth/request_token" (the response contains the "oauth_token") and "GET /oauth/authorize?oauth_token=...". &lt;br /&gt;
&lt;br /&gt;
The first vulnerability resides in the third HTTP request, a POST request towards the "/oauth/authorize" resource, which contains several parameters, including the Twitter username and password in the clear, making the authentication process vulnerable to eavesdropping attacks:&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;authenticity_token=c8b5abaf53f223e827d9258ddfef4285a816db5f&amp;amp;&lt;br /&gt;
oauth_token=I4FK956n1foaHjayLKXJT2IaBpsmoo0amKyPhebc&amp;amp;&lt;br /&gt;
session%5B&lt;b&gt;username_or_email%5D=USERNAME&amp;amp;session%5Bpassword%5D=PASSWORD&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
This authentication exchange should be protected by HTTPS, forcing the credentials to be sent over an encrypted channel.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_aEtn4Xz5qsQ/TT1EBXlFXqI/AAAAAAAAACQ/zoG6SLR0Jv4/s1600/HTC_Peep_HTTP_OAuth_POST.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="206" src="http://4.bp.blogspot.com/_aEtn4Xz5qsQ/TT1EBXlFXqI/AAAAAAAAACQ/zoG6SLR0Jv4/s320/HTC_Peep_HTTP_OAuth_POST.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The second vulnerability resides in the way HTC Peep works. Once the Twitter session has been established, all the HTTP requests from the mobile device to the Twitter service include an HTTP Basic authentication header that contains the Twitter username and password (although the app is supposed to be using OAuth). Examples of standard Twitter resources retrieved through HTTP GET requests: "/direct_messages.json?count=50&amp;amp;page=1", "/favorites.json?page=2", "/statuses/friends_timeline.json?count=50&amp;amp;page=1", or "/statuses/mentions.json?count=50&amp;amp;page=1".&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;GET /statuses/friends_timeline.json?count=50&amp;amp;page=1 HTTP/1.1&lt;br /&gt;
Accept: text/xml, application/xml;q=0.9, */*;q=0&lt;br /&gt;
&lt;b&gt;Authorization: Basic BASE64("USERNAME:PASSWORD")&lt;/b&gt;&lt;br /&gt;
User-Agent: TwitterEngine&lt;br /&gt;
Host: twitter.com&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;a href="http://oauth.net/"&gt;OAuth&lt;/a&gt; is a technology that enables applications to access a service, in this case Twitter, on behalf of the user, with the user approval, without asking the user directly for (or storing) her password. HTTP Basic authentication is one of the most basic, hence the name, and insecure web-based authentication mechanisms. The credentials are sent (almost) in the clear on every HTTP request from the web client to the web server. In fact, the credentials ("username:password") are encoded in Base64 in the HTTP "Authorization" header. Simply by capturing or eavesdropping the web traffic and looking at the HTTP request headers, an attacker can easily obtain the user Twitter credentials.&lt;br /&gt;
&lt;br /&gt;
The Twitter session can be protected by using a pure OAuth exchange, without making use of Basic authentication, or by protecting the whole session with HTTPS.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/TT1EMVUppTI/AAAAAAAAACU/2Od1aU0XBNE/s1600/HTC_Peep_HTTP_Basic_Auth.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/TT1EMVUppTI/AAAAAAAAACU/2Od1aU0XBNE/s320/HTC_Peep_HTTP_Basic_Auth.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Coincidentally, the discovery of these vulnerabilities was aligned with Twitter's announcement to increase the security of third-party apps: "Starting August 31, &lt;a href="http://blog.twitter.com/2010/08/twitter-applications-and-oauth.html"&gt;all applications will be required to use “OAuth” to access your Twitter account&lt;/a&gt;". This service switch didn't make any difference regarding this vulnerability, as HTC Peep still works through its OAuth capabilities. However, as this advisory demonstrate, technology must be implemented properly. Historically, Twitter developers have been able to choose one of two authentication methods: Basic Authentication or OAuth. Somehow, HTC Peep is using both methods simultaneously, exposing the user credentials.&lt;br /&gt;
&lt;br /&gt;
Modern mobile devices implement multiple communication technologies, such as IrDa, Bluetooth, Wi-Fi, and mobile (2G/3G). The last two, Wi-Fi and 2G/3G, are the most commonly used methods to establish data communications from the mobile device to other entities. Therefore, this vulnerability can be exploited on targeted attacks when the mobile device is using any of these two technologies:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Wi-Fi&lt;/b&gt;: When the mobile device connects to a Wi-Fi (802.11) network, an attacker can intercept all your web traffic if it is an open or WEP Wi-Fi network. If the network is based on WPA(2)-PSK, any user with access to that network can also collect all your traffic. You can protect your Wi-Fi data communications if you only connect to WPA2-Enterprise Wi-Fi networks (or, potentially, if you thoroughly make use of VPN technologies). Unfortunately, even when your device is not connected to any Wi-Fi network, still this vulnerability can be exploited in combination with other vulnerabilities, such as Karma-like attacks. See "&lt;a href="http://blog.taddong.com/2010/09/vulnerability-in-indiscreet-wi-fi.html"&gt;TAD-2010-003: Full 802.11 Preferred Network List (PNL) disclosure in Windows Mobile 6.5&lt;/a&gt;".&lt;/li&gt;
&lt;li&gt;&lt;b&gt;2G/3G&lt;/b&gt;: When the mobile device connects to a mobile network (2G or 2.5G: GPRS or EDGE) an attacker can intercept all your web traffic. You can protect your mobile data communications if you only connect to +3G data networks. For more information see the "&lt;a href="http://blog.taddong.com/2010/09/gprsedge-security.html"&gt;GPRS/EDGE Security&lt;/a&gt;" blog post and the recent "&lt;a href="https://www.blackhat.com/html/bh-dc-11/bh-dc-11-archives.html#Perez"&gt;A practical attack against GPRS/EDGE/UMTS/HSPA mobile data communications&lt;/a&gt;" BlackHat DC 2011 Taddong &lt;a href="http://blogs.forbes.com/andygreenberg/2011/01/19/smartphone-data-vulnerable-to-base-station-spoof-trick/"&gt;presentation&lt;/a&gt;, by David and Jose.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Independently of the data network access used by the mobile device, at some point the web traffic will enter on the public Internet in the clear (unencrypted), where it can be intercepted by anyone with access to capture the traffic on any of the intermediate network segments between the mobile device and Twitter.&lt;br /&gt;
&lt;br /&gt;
The fact that Twitter credentials can be easily eavesdropped has a pretty significant impact, as most users assume other users credentials have not been hijacked, therefore, they blindly  trust tweets (or microblog/blog posts) coming from trusted parties (their friends, people they frequently follow, public personalities...). Twitter account hijacking can be used for web-based &amp;amp; client-based targeted attacks (specially through the use of short URLs), and can cause a significant damage to the image and credibility of the victim user. &lt;br /&gt;
&lt;br /&gt;
While analyzing in-depth the affected HTC Peep version and the version associated to the temporary hotfix provided by HTC (LEO_S01175.exe), we collected the following details from the Windows Mobile registry:&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;[HKEY_LOCAL_MACHINE\Software\OEM\MASD]&lt;br /&gt;
"Manila_Twitter"="2_5_19212224_0"&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\HotFix]&lt;br /&gt;
"Social_Networks_Engine_version"="20101005-00"&lt;br /&gt;
"Manila_Twitter_version"="20101005-00"&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;i&gt;NOTE&lt;/i&gt;: Extract your own conclusions about the hotfix version number. &lt;i&gt;Hint:&lt;/i&gt; It looks like a date.&lt;br /&gt;
&lt;br /&gt;
(&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) While validating the software update released by HTC on February 10, 2011, the  version associated to the final hotfix (LEO_S01236.exe), replaces the following details on the Windows Mobile registry:&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\HotFix]&lt;br /&gt;
"Social_Networks_Engine_version"="20110208-00"&lt;br /&gt;
"Manila_Twitter_version"="20110208-00"&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;i&gt;NOTE&lt;/i&gt;: It is a date ;) &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Security solutions, workarounds, and countermeasures:&lt;/b&gt;&lt;br /&gt;
(&lt;span style="color: red;"&gt;UPDATE2&lt;/span&gt;) HTC has publicly released a couple of FOTA (Firmware Over-The-Air) fixes or updates [3] for &lt;a href="http://www.htc.com/www/product/tattoo/specification.html"&gt;HTC Tattoo&lt;/a&gt; and &lt;a href="http://www.htc.com/www/product/hero/specification.html"&gt;HTC Hero&lt;/a&gt; associated to the HTC Peep Client. Please note that these two HTC mobile devices are &lt;b&gt;not based on Windows Mobile but on Android&lt;/b&gt;. &lt;br /&gt;
&lt;br /&gt;
(&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) HTC has publicly released a hotfix [2] that forces HTC Peep not to use HTTP Basic authentication but OAuth during the whole Twitter session, and that performs the authentication process over HTTPS (versus HTTP) against the "api.twitter.com" service on port TCP/443, not disclosing the user credentials for the Twitter service. However, after completing the OAuth authentication process over HTTPS, HTC Peep switches to HTTP for the remaining of the Twitter session, making the unencrypted session vulnerable to HTTP session hijacking attacks based on eavesdropping Twitter's session id (e.g. cookies).&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
We think HTC should release a software update to change the vulnerable behavior in the HTC Peep mobile application, solving both credentials disclosure issues: the usage of HTTP Basic authentication versus pure OAuth capabilities, and the usage of HTTP versus HTTPS during the authentication process (and preferably, for the whole HTTP(S) session).&lt;br /&gt;
&lt;br /&gt;
HTC has just confirmed (February 3, 2011 - 6pm CET) that an update is available, although it has not been released publicly. It will be delivered under request to any interested customer. If you are interested on the fix, you must contact HTC directly.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Due to the absence of a public software update at this time (5 months since the initial notification), we strongly recommend users not to use HTC Peep to connect to Twitter. Users must evaluate the usage of HTC Peep as their preferred mobile Twitter client, and use other Twitter clients available for their HTC mobile device instead. There are multiple third-party Twitter clients for Windows Mobile (available through a simple Google search: "windows mobile twitter app (or client)") such as: ceTwit, GPS Twit, Jitter, Locify with Twitter, Pocket Tweet, PocketTwit, Quakk, SQIJ, TinyTwitter, Twibble, Twikini, TwitToday, Twitter2Go, Twitter Answers, Twitter deBolsillo, Twitula, Twobile, Viigo, or direct access to the official Twitter Mobile homepage (https://moblie.twitter.com/login) from a mobile web browser.&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Disclaimer:&lt;/b&gt;&lt;/i&gt; These mobile Twitter applications have not been analyzed against these, similar, or other security vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
Users must avoid reusing their Twitter credentials in other services and applications (a common security best practice), as their Twitter username and password can be easily retrieved by an attacker. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerable platforms:&lt;/b&gt;&lt;br /&gt;
HTC mobile devices running HTC Peep (HTC Peep is the default HTC Twitter client). HTC has confirmed HTC Peep is vulnerable at least in the following HTC mobile platforms: HD2, T-Mobile HD2, Topaz, Rhodium, and HD Mini.&lt;br /&gt;
&lt;br /&gt;
(&lt;span style="color: red;"&gt;UPDATE2&lt;/span&gt;) A new hotfix is available for &lt;span class="status-body"&gt;&lt;span class="status-content"&gt;&lt;span class="entry-content"&gt;HTC Tattoo &amp;amp; HTC Hero [3].&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
(&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) The final hotfix is available for &lt;span class="status-body"&gt;&lt;span class="status-content"&gt;&lt;span class="entry-content"&gt;HTC Touch Pro2/HTC HD2/HTC Touch Diamond2/HTC HD mini [2]. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Other mobile platforms running HTC Peep, based on Windows Mobile or other mobile operating system, such as Android (if available), could be affected too.&lt;br /&gt;
&lt;br /&gt;
The vulnerability was discovered on an HTC HD2 mobile device running Windows Mobile 6.5 Professional and the built-in HTC Peep version ("2_5_19212224_0").&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vendor information:&lt;/b&gt;&lt;br /&gt;
HTC has confirmed the existence of this vulnerability and it is working to release a hotfix to solve the issue. The temporary hotfix provided was named "LEO_S01175" but it still discloses the Twitter credentials by using HTTP instead of HTTPS.&lt;br /&gt;
&lt;br /&gt;
(&lt;span style="color: red;"&gt;UPDATE2&lt;/span&gt;) On March 11, 2011, HTC released &lt;span class="status-body"&gt;&lt;span class="status-content"&gt;&lt;span class="entry-content"&gt;a hotfix for the HTC Peep Client in the form of a FOTA update for HTC Tattoo and HTC Hero, both based on Android [3]. The build numbers after installing the updates will be 1.67.405.70 (for Tattoo) and 3.36.405.1 (for Hero): "&lt;i&gt;From the Home Screen go to MENU&amp;gt; Settings&amp;gt; About Phone&amp;gt; Software Information&amp;gt; Software number&lt;/i&gt;".&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
(&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) On February 10, 2011, HTC released &lt;span class="status-body"&gt;&lt;span class="status-content"&gt;&lt;span class="entry-content"&gt;a hotfix for this HTC Peep credentials disclosure security vulnerability for HTC Touch Pro2/HTC HD2/HTC Touch Diamond2/HTC HD mini [2]. The hotfix filename for the various HTC models varies: LEO_S01236.exe (HD2), PHO03880.exe (HD mini), RHO_S2_00923.exe (Touch Pro2), and TOP_S2_00478.exe (Touch Diamond2).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
We at Taddong honestly believe this finding must be publicly known by the information security community in order to take appropriate countermeasures and mitigate the vulnerable behavior. Therefore, we have tried to coordinate the release of this security advisory together with the vendor, following responsible disclosure principles. This vulnerability is especially relevant considering the extensive number of HTC mobile devices available in the market and the potential impact of the associated attacks.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability report timeline:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;2010-08-21&lt;/b&gt;: Taddong tries to report the vulnerability to HTC through the standard channels (web, e-mail...) without success.&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
&lt;b&gt;2010-08-23&lt;/b&gt;: Taddong contacts other security researchers (Thanks Alberto!) previously involved in reporting vulnerabilities to HTC in order to identify a valid contact or notification channel to let HTC know about the issue.&lt;br /&gt;
&lt;b&gt;2010-08-25&lt;/b&gt;: Taddong spends around a week trying to identify a secure channel to report the issue to HTC, without any success. Please, read "&lt;a href="http://blog.taddong.com/2010/08/seven-deadly-sins-of-security.html"&gt;The Seven Deadly Sins of Security Vulnerability Reporting&lt;/a&gt;"!! [1]&lt;br /&gt;
&lt;b&gt;2010-09-03&lt;/b&gt;: Taddong finally decides to notify HTC about the vulnerability through the only available (but insecure) web channel and sends a brief technical report.&lt;br /&gt;
&lt;b&gt;2010-09-04&lt;/b&gt;:  HTC confirms they "...will investigate (the issue) and get back to us as soon as they get a reply."&lt;br /&gt;
&lt;b&gt;2010-09-19&lt;/b&gt;: Taddong contacts HTC again (after 15 days) emphasizing this is a serious issue that requires immediate action, as Twitter credentials are directly exposed. Taddong tried to get an estimated date when an update would be available in order to proceed to publicly and responsibly disclose the vulnerability.&lt;br /&gt;
&lt;b&gt;2010-09-20&lt;/b&gt;: HTC replies and they "...&lt;span id="ctl00_ContentPlaceHolder1_GridView2_ctl02_Label4"&gt;apologize for the inconvenience and the delay. The case is being investigated and they will get back to us as soon as they get a reply.&lt;/span&gt;"&lt;br /&gt;
&lt;b&gt;2010-10-03&lt;/b&gt;: Taddong contacts HTC again (one month since the initial notification) in order to gather specific details, such as an official confirmation of the vulnerability and an estimated fix release date, trying to coordinate the publication of the associated advisory.&lt;br /&gt;
&lt;b&gt;2010-10-10&lt;/b&gt;: No response was received from HTC. Taddong tries to contact HTC again (+1 week).&lt;br /&gt;
&lt;b&gt;2010-10-22&lt;/b&gt;: HTC replies apologizing (again) for the delay and... asking for "all the details for further investigation"? Taddong replies and clarifies it is still waiting for a confirmation or any chance to discuss the technical details. At the same time, an estimated deadline is set by Taddong for the public release on November 4, 2010 (two months since the original notification).&lt;br /&gt;
&lt;b&gt;2010-10-26&lt;/b&gt;: HTC clarifies the reason for its previous request (for further details), as it is still starting to "...&lt;span id="ctl00_ContentPlaceHolder1_GridView2_ctl02_Label4"&gt;check if there is in fact a vulnerability and try to reproduce it&lt;/span&gt;". Taddong replies back clarifying the details were provided on September 3, 2010, and offering again another brief technical description.&lt;br /&gt;
&lt;b&gt;2010-11-06&lt;/b&gt;: Taddong contacts HTC again asking for the latest details or updates regarding the issue. The goal was to offer HTC an opportunity to step in prior to the public release, even delaying the previously set deadline (of Nov, 4), trying to be extremely responsible.&lt;br /&gt;
&lt;b&gt;2010-11-08&lt;/b&gt;: HTC replies back &lt;span id="ctl00_ContentPlaceHolder1_GridView2_ctl02_Label4"&gt;informing Taddong that currently they are still analyzing it and will issue a notification on their website once they have reached a conclusion.&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;2010-11-21&lt;/b&gt;: Taddong informs HTC that plans to release the vulnerability to the public on Monday, December 6, 2010, and encourage them to contact us during the remaining two week period, as the best option would be having a fix/update ready in order to offer a solution to end users.&lt;br /&gt;
&lt;b&gt;2010-11-22&lt;/b&gt;: HTC informs Taddong that the engineering department is investigating and finding a solution for this issue.&lt;br /&gt;
&lt;b&gt;2010-12-01&lt;/b&gt;: Taddong asks HTC about the availability of (or future plans to get) a CVE ID for this issue prior to the final public disclosure, trying to coordinate both parties.&lt;br /&gt;
&lt;b&gt;2010-12-02&lt;/b&gt;: HTC confirms the engineering department has been notified about the CVE proposal and will get back with a response (three months since the original notification).&lt;br /&gt;
&lt;b&gt;2010-12-11&lt;/b&gt;: Due to the lack of a response, Taddong finally requests one (or two; this is left up to MITRE) CVE ID(s) to MITRE. The CVE ID request process is the reason for a new delay in the second proposed deadline for the public disclosure (Dec, 6).&lt;br /&gt;
&lt;b&gt;2010-12-15&lt;/b&gt;: Taddong tries to confirm if the CVE ID request has been received by MITRE without success. Taddong never got a response from MITRE about the CVE ID request.&lt;br /&gt;
&lt;b&gt;2010-12-16&lt;/b&gt;: HTC provides a hotfix for testing to Taddong (named "LEO_S01175"). &amp;nbsp; &lt;br /&gt;
&lt;b&gt;2010-12-17&lt;/b&gt;: Taddong replies back confirming that the hotfix solves the Basic authentication issue, as OAuth is the only authentication method used after applying the hotfix. However, &lt;b&gt;still&lt;/b&gt; HTC Peep discloses the user credentials in the initial OAuth exchange through HTTP. Taddong suggests to use HTTPS for the whole Twitter session as the right solution (that would also solve other session-based attacks) and asks for the details of a future release.&lt;br /&gt;
&lt;b&gt;2010-12-20&lt;/b&gt;: HTC confirms the suggested solutions have been notified to the engineering department, and that the fix is available for several models. Taddong requests details of the affected models.&lt;br /&gt;
&lt;b&gt;2010-12-21&lt;/b&gt;: HTC confirms that the affected models include: HD2, T-Mobile HD2, Topaz, Rhodium, and HD Mini. There is no information yet about the web page where the update will be available.&lt;br /&gt;
&lt;b&gt;2011-01-17&lt;/b&gt;: Taddong tries to gather details about the web page where the update will be available, as well as information about the pending issue, the credentials being disclosed through HTTP (vs. HTTPS). It is four and a half months since the original notification.&lt;br /&gt;
&lt;b&gt;2011-01-18&lt;/b&gt;: HTC replies notifying they "haven’t received any further information yet (from engineering), and that they will resend our feedback regarding the update again and check with them if they will release any further upgrades soon".&lt;br /&gt;
&lt;b&gt;2011-01-24&lt;/b&gt;: Taddong sets the &lt;span id="ctl00_ContentPlaceHolder1_GridView2_ctl02_Label4"&gt;final vulnerability advisory release for February 4, 2011 (in +10 days and five months since the initial notification), and notifies HTC accordingly, asking for HTTPS support over the hotfix functionality, and trying to retrieve the specific webpage where the update will be available to include it in the advisory. HTC confirmed the reception of this notification. Taddong sent an e-mail to MITRE trying, once again, to get one (or two) CVE IDs for these vulnerabilities.&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;2011-02-03&lt;/b&gt;: One day before publishing the advisory, Taddong contacts HTC and tries to gather details about the&lt;span id="ctl00_ContentPlaceHolder1_GridView2_ctl02_Label4"&gt; web page from where users could download a fix for this vulnerability, trying to include an official solution in the advisory. HTC replies back informing "...that for the time being the update hasn’t yet been released on the website however, any customer who wishes to download it can contact us and we will send it out to them".&lt;/span&gt; &lt;br /&gt;
&lt;b&gt;2011-02-04&lt;/b&gt;: Taddong publishes security advisory TAD-2011-001.&lt;br /&gt;
&lt;b&gt;2011-02-04&lt;/b&gt;: (11:30pm CET) &lt;i&gt;Bugtraq ID&lt;/i&gt; assigned&lt;i&gt;: &lt;a href="http://www.securityfocus.com/bid/46153"&gt;46153&lt;/a&gt;&lt;/i&gt;.&lt;br /&gt;
&lt;b&gt;2011-02-10&lt;/b&gt;: (&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) HTC releases on its support website the fix for the HTC Peep credentials disclosure security vulnerability. The fix for the following models, &lt;span class="title_18"&gt;&lt;span id="ctl00_ContentPlaceHolder1_lblTitle"&gt;HTC Touch Pro2/HTC HD2/HTC Touch Diamond2/HTC HD mini&lt;/span&gt;&lt;/span&gt;, is available at &lt;a href="http://www.htc.com/europe/SupportViewNews.aspx?dl_id=1085&amp;amp;news_id=866"&gt;http://www.htc.com/europe/SupportViewNews.aspx?dl_id=1085&amp;amp;news_id=866&lt;/a&gt; [2]. &lt;br /&gt;
&lt;b&gt;2011-02-14&lt;/b&gt;: (&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) Taddong validates the fix on a HTC HD2 device and updates this advisory accordingly. &lt;br /&gt;
&lt;b&gt;2011-03-11&lt;/b&gt;: (&lt;span style="color: red;"&gt;UPDATE2&lt;/span&gt;) HTC released a new update for HTC Tattoo and HTC Hero, both based on Android (and not Windows Mobile).&lt;br /&gt;
&lt;b&gt;2011-03-17&lt;/b&gt;: (&lt;span style="color: red;"&gt;UPDATE2&lt;/span&gt;) Taddong updates this advisory with the new Android-based hotfixes.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
[1] "The Seven Deadly Sins of Security Vulnerability Reporting". Raul Siles. Taddong. August 15, 2010.&lt;br /&gt;
&lt;a href="http://blog.taddong.com/2010/08/seven-deadly-sins-of-security.html"&gt;http://blog.taddong.com/2010/08/seven-deadly-sins-of-security.html&lt;/a&gt;&lt;br /&gt;
[2] "&lt;span class="title_18"&gt;&lt;span id="ctl00_ContentPlaceHolder1_lblTitle"&gt;Update for HTC Touch Pro2/HTC HD2/HTC Touch Diamond2/HTC HD mini Peep Security update&lt;/span&gt;&lt;/span&gt;". HTC. February 10, 20111.&lt;br /&gt;
&lt;a href="http://www.htc.com/europe/SupportViewNews.aspx?dl_id=1085&amp;amp;news_id=866"&gt;http://www.htc.com/europe/SupportViewNews.aspx?dl_id=1085&amp;amp;news_id=866&lt;/a&gt;&lt;br /&gt;
[3] "HTC Support (Europe)". HTC. March 11, 2011.&lt;br /&gt;
&lt;a href="http://www.htc.com/europe/support.aspx"&gt;http://www.htc.com/europe/support.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;About Taddong:&lt;/b&gt;&lt;br /&gt;
Taddong (&lt;a href="http://www.taddong.com/"&gt;www.taddong.com&lt;/a&gt;) is a company established in Spain in 2010 with the purpose of improving customer's information security, by discovering and eliminating or mitigating the real risks that threaten their networking and information technology infrastructures. To achieve this goal, Taddong's portfolio includes specialized information security services, requiring an in-depth technical knowledge and broad understanding of the information technology market, as well as training services, focused on providing customers with auto-defense skills. Taddong remains at the forefront of the security market through continuous research and education activities.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Disclaimer:&lt;/b&gt;&lt;br /&gt;
The contents of this security advisory are copyright (c) 2011 Taddong S.L., and may be distributed freely provided that no fee is charged for this distribution and proper credit is given.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-8005307327754219919?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/FoJqcwMxb0M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/8005307327754219919/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/02/vulnerability-in-htc-peep-twitter.html#comment-form" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/8005307327754219919?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/8005307327754219919?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/FoJqcwMxb0M/vulnerability-in-htc-peep-twitter.html" title="Vulnerability in HTC Peep: Twitter Credentials Disclosure" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/TTrI8oEUE0I/AAAAAAAAACM/sphIMEvUe5I/s72-c/HTC_Peep.png" height="72" width="72" /><thr:total>10</thr:total><feedburner:origLink>http://blog.taddong.com/2011/02/vulnerability-in-htc-peep-twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cDRnc9eSp7ImA9WhZWEEk.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-4426516473405325174</id><published>2011-01-24T09:30:00.020+01:00</published><updated>2011-05-10T19:37:57.961+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-10T19:37:57.961+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wireshark SMB" /><title>Wireshark SMB capture feature for Windows</title><content type="html">Since we published our "SMB export object" feature for wireshark a few people has asked for a windows version. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When a functionality is included in the wireshark development trunk, but is not yet included in an stable version, the only way to use it is to obtain the source code (by using "svn co http://anonsvn.wireshark.org/wireshark/trunk/ wireshark") and compile it. Although windows compilation has no technical secret since it is very well explained in &lt;a href="http://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html"&gt;Wireshark's development guide&lt;/a&gt;, it is a little bit of a burden because you have to install some tools (Microsoft C Compiler and SDK, cygwin, python, SVN client, etc.) before being able to compile it.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For that reason, we've decided to build a Windows version of wireshark that includes our feature, and publish it in &lt;a href="http://www.taddong.com/es/lab.html#wiresharkexe"&gt;our Lab page&lt;/a&gt;. The file is a windows installer executable packaged with NSIS. It has been tested in a Windows XP system and a Windows 7 system.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Before install and use it, please be aware that this is a wireshark development version and, by definition, it is subject to errors (our functionality is not an exception). We are still working on some enhancements. Therefore, although running wireshark as a non-privileged user is always a good practice, in this case is even more recommended.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We will announce future improvements of the functionality via twitter and/or on this blog.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) This functionality is included in the oficial version of Wireshark for Windows from release 1.5.1 on.&lt;br /&gt;(&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) We have released a patch that corrects some bugs in the export object SMB functionality of version 1.5.1. It has been included in development trunk from SVN revision 36979 on. Until Wireshark publishes release 1.5.2, you can obtain a windows installer from &lt;a href="http://www.taddong.com/en/lab.html#wiresharkexe"&gt;our lab&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-4426516473405325174?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/zLqRqMJ-q8c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/4426516473405325174/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2011/01/wireshark-smb-capture-feature-for.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/4426516473405325174?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/4426516473405325174?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/zLqRqMJ-q8c/wireshark-smb-capture-feature-for.html" title="Wireshark SMB capture feature for Windows" /><author><name>Jose Pico</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2011/01/wireshark-smb-capture-feature-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQAQnw4eip7ImA9Wx9SGE8.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-630966044999620037</id><published>2010-12-08T18:12:00.000+01:00</published><updated>2010-12-08T18:12:23.232+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-08T18:12:23.232+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>Browser Exploitation for Fun &amp; Profit Reloaded</title><content type="html">This week during the SANS London 2010 conference I presented the second part of the web browser exploitation series, "&lt;a href="http://www.taddong.com/docs/Browser_Exploitation_for_Fun&amp;amp;Profit_Reloaded_Taddong-RaulSiles_Dec2010_v1.0.pdf"&gt;Browser Exploitation for Fun and Profit Reloaded&lt;/a&gt;". This &lt;a href="http://www.taddong.com/docs/Browser_Exploitation_for_Fun&amp;amp;Profit_Reloaded_Taddong-RaulSiles_Dec2010_v1.0.pdf"&gt;presentation&lt;/a&gt; is a follow up of the previous "&lt;a href="http://blog.taddong.com/2010/11/browser-exploitation-for-fun-profit.html"&gt;Browser Exploitation for Fun and Profit&lt;/a&gt;" one from last month, and builds on top of the penetration testing setup previously described based on &lt;a href="http://sourceforge.net/projects/samurai/"&gt;Samurai WTF&lt;/a&gt; v0.9, plus &lt;a href="http://www.bindshell.net/tools/beef/"&gt;BeEF&lt;/a&gt; v0.4.0.3, and &lt;a href="http://www.metasploit.com/"&gt;Metasploit&lt;/a&gt; v3.5.x.&lt;br /&gt;
&lt;br /&gt;
This second part provides penetration testers with new tools, ideas, and techniques to demonstrate the impact of XSS vulnerabilities on the client side (but not only), with a specific focus on the top vulnerable (client-side) applications during the first three quarters of 2010: web browsers and their associated plug-ins.&lt;br /&gt;
&lt;br /&gt;
The core of the session covers Java and Adobe Reader exploitation, including the availability of related exploits in multiple criminal sploit packs, and several demonstrations of different complexity levels for these two vulnerable plug-ins. In some scenarios, extra steps on the pen-tester side are required. On the one hand, the MSF Java exploit for CVE-2010-0886 requires a few tweaks to avoid binding conflicts on the web-based ports between Apache (used by Samurai &amp;amp; BeEF) and Metasploit; see the details on part one of the series. On the other hand, the proposed pen-testing setup provides capabilities to turn file format exploits, such as the MSF CVE-2010-0188 exploit, into web application exploits. To be more realistic and succeed in real-world environments, this attack makes use of (a slightly modified version of) the MSF meterpreter reverse_https module, which requires again a few tweaks to avoid port binding conflicts between Apache &amp;amp; BeEF and MSF. Both modifications have been made available through the "misc" directory of the &lt;a href="http://sourceforge.net/projects/samurai/develop"&gt;SVN repository for the Samurai WTF project&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The presentation additionally introduces how to update Samurai v0.9 to the latest BeEF Ruby-based version, v0.4.2-alpha, as this is where the main XSS browser exploitation framework project is leading the industry to. Although the project is still in alpha state, the new features are very promising, and definitely opens the door for future presentations in this series ("To be continued..."). &lt;br /&gt;
&lt;br /&gt;
The third and final section of the presentation introduces web browsing best practices, pros and cons, extra countermeasures, and new industry movements into plug-in checking services and sandbox client applications. &lt;br /&gt;
&lt;br /&gt;
Thanks to all the people that showed up and the interesting debate afterward. Enjoy &lt;a href="http://www.taddong.com/docs/Browser_Exploitation_for_Fun&amp;amp;Profit_Reloaded_Taddong-RaulSiles_Dec2010_v1.0.pdf"&gt;the PDF file of the presentation&lt;/a&gt; (no, it is not malicious... ;-) and try to put all this info in practice within your pen-tests... of course... with authorization!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-630966044999620037?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/pAbiv1Qb13c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/630966044999620037/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2010/12/browser-exploitation-for-fun-profit.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/630966044999620037?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/630966044999620037?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/pAbiv1Qb13c/browser-exploitation-for-fun-profit.html" title="Browser Exploitation for Fun &amp; Profit Reloaded" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.taddong.com/2010/12/browser-exploitation-for-fun-profit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEMSXs4fCp7ImA9Wx5bF0Q.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-2764241615863777178</id><published>2010-11-03T15:31:00.000+01:00</published><updated>2010-11-03T15:31:28.534+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-03T15:31:28.534+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><category scheme="http://www.blogger.com/atom/ns#" term="WebApp" /><title>Browser Exploitation for Fun &amp; Profit</title><content type="html">This past Tuesday I run a &lt;a href="http://www.sans.org/info/65488"&gt;SANS special webcast titled "Browser Exploitation for Fun and Profit"&lt;/a&gt; complementing the &lt;a href="http://www.sans.org/london-2010/description.php?tid=4382"&gt;"Security 542: Web App Penetration Testing and Ethical Hacking"&lt;/a&gt; training I will run in SANS London 2010 at the end of November, early December:&lt;br /&gt;
&lt;br /&gt;
"&lt;i&gt;Cross-Site Scripting (XSS) is still one of the most prevalent  vulnerability on web applications, and its exploitation is a very  relevant threat to be considered by any organization. As the owner of  the web application, you don't want your visitors and customers to get  exploited through your website, and as the owner of any company, you  don't want your users, browsing the web innocently, to become victims of  large scale or targeted attacks. Browser exploitation frameworks, such  as BeEF, provide attackers and pen-testers advanced capabilities to  perform in-depth devastating attacks into an organization, using the  ubiquitous web browser as the entry point.&lt;/i&gt;"&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/TNFxufW2gTI/AAAAAAAAACE/U5Aqc7e0z5s/s1600/no_surfing_S8021.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="197" src="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/TNFxufW2gTI/AAAAAAAAACE/U5Aqc7e0z5s/s200/no_surfing_S8021.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The main goal was to introduce the state of the art of client vulnerabilities on the web browser and its associated plug-ins, and focus on the prevalence and impact of (the sometimes undervalued) XSS vulnerabilities. In order to change the general perception and help others to identify the real impact of XSS, pen-testers can make use of the attack platform suggested on the presentation: &lt;a href="http://sourceforge.net/projects/samurai/"&gt;Samurai WTF&lt;/a&gt; v0.9, plus &lt;a href="http://www.bindshell.net/tools/beef/"&gt;BeEF&lt;/a&gt; v0.4.0.3, and &lt;a href="http://www.metasploit.com/"&gt;Metasploit&lt;/a&gt; v3.5.x. The integration of BeEF and Metasploit provides the capabilities required for advanced attacks. The presentation guides pen-testers through the process of updating, configuring, and launching these tools, greatly simplified by using Samurai WTF as your favourite web-app pen-testing platform :)&lt;br /&gt;
&lt;br /&gt;
From the most commonly used web browser plug-ins (Adobe Reader, Flash Player, Java, Quick Time, Windows Media Player, RealPlayer…), I had to select one as my target, and Java was the (chosen) one as all webcast attendees had it installed; it is a pre-requisite for the Ellumitate Live! webcasting platform used by SANS. Despite the technical difficulties during the webcast (&lt;i&gt;it seems an XSS attack affected the slides and the application sharing capabilities of the webcast ;-p&lt;/i&gt; ), I could run a demo of a Java-based vulnerability (CVE-2010-0094) to show how smoothly the integration of these two tools work. Time constraints didn't allow me to run the second, and more advanced demo, exploiting a different Java-based vulnerability (CVE-2010-0886), but you have all the details on &lt;a href="http://www.taddong.com/docs/Browser_Exploitation_for_Fun&amp;amp;Profit_Taddong-RaulSiles_Nov2010_v1.1.pdf"&gt;the presentation&lt;/a&gt;. &lt;a href="http://www.taddong.com/docs/Browser_Exploitation_for_Fun&amp;amp;Profit_Taddong-RaulSiles_Nov2010_v1.1.pdf"&gt;This presentation&lt;/a&gt; is an extended version of the original one with extra detailed steps and references.&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
Unfortunately, we almost didn't have time for questions and answers, so feel free to &lt;a href="http://www.taddong.com/en/contact.html"&gt;send me an e-mail&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
This is the first of a series of XSS and browser exploitation presentations I will be running in the next few months. The next one will take place during the SANS London 2010 conference: Thursday, 2 December, from 19:30 - 20:45. This second part, titled "&lt;a href="http://www.sans.org/london-2010/night.php"&gt;Browser Exploitation for Fun and Profit Reloaded&lt;/a&gt;", will take the already covered setup for granted, and will describe and demo live more XSS attacks, tools, and techniques, including (if it is mature enough) the new Ruby-based BeEF, v0.4.1.x. &lt;b&gt;Hope to see you there!&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-2764241615863777178?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/yEJOuTwADzc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/2764241615863777178/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2010/11/browser-exploitation-for-fun-profit.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/2764241615863777178?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/2764241615863777178?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/yEJOuTwADzc/browser-exploitation-for-fun-profit.html" title="Browser Exploitation for Fun &amp; Profit" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/TNFxufW2gTI/AAAAAAAAACE/U5Aqc7e0z5s/s72-c/no_surfing_S8021.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2010/11/browser-exploitation-for-fun-profit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYFQn04cCp7ImA9Wx5WEEs.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-1353162006085079711</id><published>2010-09-20T19:08:00.064+02:00</published><updated>2010-09-21T12:15:13.338+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-21T12:15:13.338+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GSM/UMTS/GPRS/EDGE/HSPA/LTE" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><title>GPRS/EDGE Security</title><content type="html">&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;You should already know by now that &lt;a href="http://en.wikipedia.org/wiki/GSM"&gt;GSM &lt;/a&gt;voice calls and &lt;a href="http://en.wikipedia.org/wiki/SMS"&gt;SMS &lt;/a&gt;messages are not secure. Any third party can easily set up a rogue base station and listen to your calls, read your SMS messages, and reroute, drop, or alter any of them.&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;Yes, GSM security is &lt;i style="mso-bidi-font-style: normal"&gt;&lt;u&gt;that&lt;/u&gt;&lt;/i&gt; broken.&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;What you may not have realized yet, is that your &lt;a href="http://en.wikipedia.org/wiki/Gprs"&gt;GPRS&lt;/a&gt;/&lt;a href="http://en.wikipedia.org/wiki/Enhanced_Data_Rates_for_GSM_Evolution"&gt;EDGE &lt;/a&gt;connections are just as insecure.&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;Take a look at the following two pictures and try and answer this question: is the smartphone shown on those images connected, via GPRS and via EDGE, respectively, to the network operator "movistar"?&lt;/p&gt;&lt;div align="center"&gt;&lt;table style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-yfti-tbllook: 1184; mso-padding-alt: 0mm 5.4pt 0mm 5.4pt; mso-border-insideh: none; mso-border-insidev: none" class="MsoTableGrid" border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"&gt;&lt;td style="PADDING-BOTTOM: 0mm; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; PADDING-TOP: 0mm; border-bottom:none" valign="top" width="319"&gt;&lt;p style="TEXT-ALIGN: justify; LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt" class="MsoNormal"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BaDa34raY3I/TJehi8BD42I/AAAAAAAAAAM/_9H7WFPdVwQ/s1600/IMG_0386+-+iphone+planeta+gprs_c.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 214px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5519057489964032866" border="0" alt="iphone gprs" src="http://4.bp.blogspot.com/_BaDa34raY3I/TJehi8BD42I/AAAAAAAAAAM/_9H7WFPdVwQ/s320/IMG_0386+-+iphone+planeta+gprs_c.png" /&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 0mm; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; PADDING-TOP: 0mm; border-bottom:none" valign="top" width="319"&gt;&lt;p style="TEXT-ALIGN: justify; LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt" class="MsoNormal"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BaDa34raY3I/TJeiXVgznBI/AAAAAAAAAAU/hKVp9bPkcdo/s1600/IMG_0385+-+iphone+planeta+edge_c.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 214px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5519058390161267730" border="0" alt="iphone edge" src="http://2.bp.blogspot.com/_BaDa34raY3I/TJeiXVgznBI/AAAAAAAAAAU/hKVp9bPkcdo/s320/IMG_0385+-+iphone+planeta+edge_c.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="TEXT-ALIGN: center" class="MsoNormal"&gt;Figure 1. iPhone 3G connected via GPRS and EDGE, respectively&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal"&gt;Note for those of you unfamiliar with the iPhone: the smartphone in the pictures is an iPhone 3G, which, on the top left corner of the screen, it usually displays the name of the network operator it is connected to, and then, next to it, a symbol representing the type of data connection it has established: a circle, if it is connected using GPRS, or a letter "E", if it is connected using EDGE (or "3G" if it is connected using &lt;/i&gt;&lt;i&gt;&lt;a href="http://en.wikipedia.org/wiki/Universal_Mobile_Telecommunications_System"&gt;UMTS&lt;/a&gt;&lt;/i&gt;&lt;i style="mso-bidi-font-style: normal"&gt;).&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;The right answer, sadly enough, is this:"Maybe it is, but then again, maybe it is not". That's the thing: you simply cannot tell!&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;In fact, the pictures were taken while the smartphone was connected to a rogue base station (&lt;a href="http://en.wikipedia.org/wiki/Base_transceiver_station"&gt;BTS&lt;/a&gt;) that we set up in Taddong's lab, pretending to belong to the network operator &lt;a href="http://www.movistar.com/"&gt;Movistar&lt;/a&gt;. The BTS, in turn, was connected to a PC that emulated a whole network operator (&lt;a href="http://en.wikipedia.org/wiki/Base_station_subsystem"&gt;BSC&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/GPRS_Core_Network#Serving_GPRS_Support_Node_.28SGSN.29"&gt;SGSN&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/GPRS_Core_Network#Gateway_GPRS_Support_Node_.28GGSN.29"&gt;GGSN&lt;/a&gt;, etc.) and had Internet access via ADSL. The PC would route any traffic between the smartphone and the Internet. The following diagram depicts the lab setup:&lt;/p&gt;&lt;table style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-yfti-tbllook: 1184; mso-padding-alt: 0mm 5.4pt 0mm 5.4pt; mso-border-insideh: none; mso-border-insidev: none" class="MsoTableGrid" border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"&gt;&lt;td style="PADDING-BOTTOM: 0mm; PADDING-LEFT: 5.4pt; WIDTH: 600pt; PADDING-RIGHT: 5.4pt; PADDING-TOP: 0mm; border-bottom:none" valign="top"&gt;&lt;p style="TEXT-ALIGN: justify; LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt" class="MsoNormal"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BaDa34raY3I/TJejBpwU17I/AAAAAAAAAAk/3WpgLw1O8J4/s1600/lab_diagram.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 127px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5519059117149575090" border="0" alt="lab diagram" src="http://4.bp.blogspot.com/_BaDa34raY3I/TJejBpwU17I/AAAAAAAAAAk/3WpgLw1O8J4/s400/lab_diagram.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="TEXT-ALIGN: center" class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figure 2. Diagram showing the lab setup&lt;/span&gt;&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal"&gt;Note: &lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;In this case, the Internet connection of the PC was established via ADSL, but we could have used any other access technology like cable, UMTS or even GPRS/EDGE. &lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;So, for example, when the user navigated to our web page (&lt;a href="http://www.taddong.com/"&gt;http://www.taddong.com/&lt;/a&gt;) using the web browser of the smartphone...&lt;/p&gt;&lt;table style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-yfti-tbllook: 1184; mso-padding-alt: 0mm 5.4pt 0mm 5.4pt; mso-border-insideh: none; mso-border-insidev: none" class="MsoTableGrid" border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"&gt;&lt;td style="PADDING-BOTTOM: 0mm; PADDING-LEFT: 5.4pt; WIDTH: 600pt; PADDING-RIGHT: 5.4pt; PADDING-TOP: 0mm; border-bottom:none" valign="top" width="638"&gt;&lt;p style="TEXT-ALIGN: justify; LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt" class="MsoNormal"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BaDa34raY3I/TJeju4Gct4I/AAAAAAAAAAs/zoifJZzfHIo/s1600/IMG_0383+-+iphone+taddong_b.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 214px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5519059894094575490" border="0" alt="iphone homepage tadddong" src="http://1.bp.blogspot.com/_BaDa34raY3I/TJeju4Gct4I/AAAAAAAAAAs/zoifJZzfHIo/s320/IMG_0383+-+iphone+taddong_b.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="TEXT-ALIGN: center" class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figure 3. Smartphone browsing www.taddong.com&lt;/span&gt;&lt;/p&gt;... we could see those packets going through our PC, with as little effort as simply invoking good old &lt;a href="http://www.wireshark.org/"&gt;Wireshark&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-yfti-tbllook: 1184; mso-padding-alt: 0mm 5.4pt 0mm 5.4pt; mso-border-insideh: none; mso-border-insidev: none" class="MsoTableGrid" border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"&gt;&lt;td style="PADDING-BOTTOM: 0mm; PADDING-LEFT: 5.4pt; WIDTH: 600pt; PADDING-RIGHT: 5.4pt; PADDING-TOP: 0mm; border-bottom:none" valign="top" width="638"&gt;&lt;p style="TEXT-ALIGN: justify; LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt" class="MsoNormal"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BaDa34raY3I/TJekZKJzjEI/AAAAAAAAAA0/ODd2pQJfR4k/s1600/Capture01c.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 232px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5519060620494998594" border="0" alt="wireshark capture" src="http://1.bp.blogspot.com/_BaDa34raY3I/TJekZKJzjEI/AAAAAAAAAA0/ODd2pQJfR4k/s400/Capture01c.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="TEXT-ALIGN: center" class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figure 4. Wireshark's capture of the HTTP request from the smartphone to www.taddong.com&lt;/span&gt;&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;The above example, in which a user simply navigates to a static web page and the attacker sniffs the connection is a really simple one, granted, but it does illustrate the point: the attacker is sitting between the user's smartphone and the Internet, with full control over any packet flowing between them. Now, think of the possibilities for mischief: the attacker could read any e-mail sent or received in cleartext, she could read any usernames and passwords sent in cleartext by the user to remote servers, she could redirect any outgoing HTTP request to a malicious web server that would then send malicious content back to the browser, etc.&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;Just think about it the next time your smartphone tells you that it is using a GPRS/EDGE connection. Or, if you feel that your data is not interesting enough for an attacker, think about what might be going on the next time the smartphone of your CEO or any other VIP in your organization reports that it is using GPRS/EDGE. Would those connections be interesting to an attacker? Oh, yes!&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;So, what can you do to protect your GPRS/EDGE communications? We'll give you a short answer and a long answer.&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;The short answer: Do not use GPRS or EDGE; instead, use only UMTS ("3G", "3.5G", &lt;a href="http://en.wikipedia.org/wiki/High_Speed_Packet_Access"&gt;HSPA&lt;/a&gt;). Alternatively, make sure you use end-to-end authentication and encryption for all aplications that you access wirelessly. Or, even better, do both.&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;The long answer is actually a shameless plug &lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;;-): &lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;&amp;lt;plug&amp;gt;&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;Come to our &lt;a href="http://www.taddong.com/en/training.html"&gt;GSM/UMTS Security training course&lt;/a&gt; and you will see for yourself! In the course, we cover everything you need to know about GSM and UMTS security, including voice calls, SMS messaging, and data connections (GPRS/EDGE/UMTS/HSPA). All packed in a very short, very intense training experience, with lots of interactive demonstrations, that will make you fully understand all the vulnerabilities and risks involved and all the countermeasures available.&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;&lt;a href="http://www.taddong.com/en/EV_GSMSecurity_201011.html"&gt;In November 2010 we will be teaching it for the first time, in Valencia, in Spanish&lt;/a&gt;, but if you don't speak Spanish or can't make it this time, don't worry: we'll be running English editions soon enough. Follow our blog, tweets and/or web page, and you won't miss it when we announce them.&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;&amp;lt;/plug&amp;gt;&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;Finally, if you fear that this GPRS/EDGE problem might apply to more than just smartphones, your instincts are serving you well: it definetely does. We will talk about that on a future post.&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;In the meantime, &lt;a href="http://www.imdb.com/title/tt0091064/trivia?tr0777239"&gt;"be afraid, be very afraid..."&lt;/a&gt; of GPRS/EDGE connections!&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="TEXT-ALIGN: justify" class="MsoNormal"&gt;Jose Pico &amp;amp; David Perez&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-1353162006085079711?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/pNg_fcT7Ua4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/1353162006085079711/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2010/09/gprsedge-security.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/1353162006085079711?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/1353162006085079711?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/pNg_fcT7Ua4/gprsedge-security.html" title="GPRS/EDGE Security" /><author><name>David Perez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_BaDa34raY3I/TJehi8BD42I/AAAAAAAAAAM/_9H7WFPdVwQ/s72-c/IMG_0386+-+iphone+planeta+gprs_c.png" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://blog.taddong.com/2010/09/gprsedge-security.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08GRnw9fSp7ImA9Wx5XFEg.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-5312259652857687008</id><published>2010-09-14T11:14:00.002+02:00</published><updated>2010-09-14T11:17:07.265+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-14T11:17:07.265+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="Wi-Fi" /><title>More WPA2 Hole 196 Reflections and TCP/IP Stack (Mis)Behaviors</title><content type="html">This year I had the opportunity to gather the details of the latest vulnerability in Wi-Fi technologies before it's announcement during the BlackHat and DefCon conferences, dubbed "(WPA2) Hole 196", however at that point, I didn't have the time to analyze it and publish the details. I always like to perform an in-depth analysis and share my comments on the current Wi-Fi security threats, as I did during the last years in our &lt;a href="http://www.radajo.com/search/label/Wireless"&gt;original RaDaJo blog&lt;/a&gt; with the PTW WEP cracking attack (&lt;a href="http://www.radajo.com/2007/04/what-else-do-you-need-not-to-use-wep.html"&gt;104&lt;/a&gt; &amp;amp; &lt;a href="http://www.radajo.com/2007/04/breaking-40-bit-wep-in-less-than-30.html"&gt;40-bit&lt;/a&gt;), &lt;a href="http://www.radajo.com/2007/09/to-wep-or-not-to-wep-that-is-question.html"&gt;WEP cloaking&lt;/a&gt;, &lt;a href="http://www.radajo.com/2008/08/autoimmunity-disorder-in-wireless-lans.html"&gt;autoimmunity disorder in WLANs&lt;/a&gt; or the &lt;a href="http://www.radajo.com/2008/11/wpatkip-chopchop-attack.html"&gt;WPA/TKIP ChopChop attack&lt;/a&gt;. (WPA2) Hole 196 couldn't be left apart!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/TIpTS8b-baI/AAAAAAAAAB8/sIvYT8g5QaU/s1600/great-blue-hole.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/TIpTS8b-baI/AAAAAAAAAB8/sIvYT8g5QaU/s320/great-blue-hole.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
My last &lt;a href="http://www.radajo.com/2008/11/wpatkip-chopchop-attack.html"&gt;WPA/TKIP ChopChop attack&lt;/a&gt; analysis emphasized the temporary nature of TKIP, recommending WPA2/AES as the reference security technology for Wi-Fi networks. However, the first well-known vulnerability for WPA2-Enterprise has been released. During BlackHat and Defcon 2010, MD Sohail Ahmad senior wireless security researcher from AirTight Networks, presented "WPA Too!", demonstrating an inherent flaw in the design of WPA(2). Apart from the original &lt;a href="https://www.defcon.org/images/defcon-18/dc-18-presentations/Ahmad/DEFCON-18-Ahmad-WPA-Too.pdf"&gt;presentation&lt;/a&gt;, &lt;a href="https://www.defcon.org/images/defcon-18/dc-18-presentations/Ahmad/DEFCON-18-Ahmad-WPA-Too-WP.pdf"&gt;whitepaper&lt;/a&gt;, &lt;a href="http://blog.airtightnetworks.com/wpa2-finds-itself-in-a-hole-vulnerable-to-insider-attacks"&gt;blog post&lt;/a&gt;, &lt;a href="http://blog.airtightnetworks.com/wpa2-hole196-webinar-qa"&gt;webinar&lt;/a&gt; and &lt;a href="http://www.airtightnetworks.com/wpa2-hole196"&gt;FAQ&lt;/a&gt;, there is a great analysis by Glenn Fleishman available &lt;a href="http://arstechnica.com/business/news/2010/07/wifi-hole196-major-exploit-or-much-ado-about-little.ars"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
So, let's start this quick analysis emphasizing a security principle the infosec industry does not fully assimilate yet: "&lt;b&gt;If something is shared, it cannot be secret&lt;/b&gt;" ;) Hole 196 exploits this principle attacking the GTK, the Group Temporal Key shared by all Wi-Fi clients to exchange broadcast and multicast traffic. This principle is also what makes WPA(2)-PSK solutions vulnerable, as the Pre-Shared Key is known by all Wi-Fi clients, so any legitimate user can easily decrypt the Wi-Fi traffic from other users.&lt;br /&gt;
&lt;br /&gt;
Why "Hole 196"? Because it exploits a security weakness in the GTK pointed out on page 196 of the current &lt;a href="http://standards.ieee.org/getieee802/download/802.11-2007.pdf"&gt;IEEE 802.11-2007 specification&lt;/a&gt;. As this is a design flaw, fixing Hole 196 will require an update to the current IEEE 802.11 spec.:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_aEtn4Xz5qsQ/TIYUBsNYKwI/AAAAAAAAAB0/Q38hdH_MxOo/s1600/802.11-2007_page196.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="268" src="http://3.bp.blogspot.com/_aEtn4Xz5qsQ/TIYUBsNYKwI/AAAAAAAAAB0/Q38hdH_MxOo/s640/802.11-2007_page196.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
To sum up, I agree with my friend &lt;a href="http://www.willhackforsushi.com/?p=495"&gt;Josh Wright&lt;/a&gt; that this new vulnerability won't make people to switch off their Wi-Fi networks (as WEP flaws did a few years back). What makes this finding more interesting is that it affects the most secure Wi-Fi environments nowadays, those based on WPA2/AES-Enterprise (802.1X). To put things in context, there are still thousands, or even millions, of Wi-Fi deployments that are based on WEP or WPA(2)-PSK vulnerable to much more relevant flaws than this one.&lt;br /&gt;
&lt;br /&gt;
(My personal) Hole 196 reflections:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;All WPA and WPA2 environments, independently of the encryption technology used (TKIP or AES) or the authentication method (Personal, PSK or Enterprise, 802.1X) are vulnerable. Hole 196 is particularly relevant on WPA2/AES-Enterprise.&lt;/li&gt;
&lt;li&gt;Hole 196 is an insider attack, meaning the attacker needs to be a legitimate Wi-Fi user to get access to the GTK. It therefore affects security conscious organizations concerned about the insider threat (unfortunately, still today not everybody is concerned) or the few Wi-Fi hotspots based on WPA(2)-Enterprise (where other legitimate users are not trusted users implicitly).&lt;/li&gt;
&lt;li&gt;It allows stealthier ARP poisoning (MitM) attacks, as the malicious ARP frames won't be seen on the wired network segments and, therefore, on a wired IDS/IPS. This could be a good reason for security conscious organizations, already using WPA2-Enterprise, to deploy a wireless IDS (WIDS).&lt;/li&gt;
&lt;li&gt;An attacker can use ARP poisoning techniques to get access to (decrypt) other users Wi-Fi traffic, as in a default WPA(2)-PSK setup or wired LAN, manipulate that traffic, or launch DoS attacks. Less-stealthier ARP poisoning attacks are possible on any Wi-Fi network (not just through Hole 196), and quite honestly, still today lots of organizations are unable to detect ARP poisoning attacks on their networks (LAN or WLAN) or even enforce secure wired or wireless network access through 802.1X authentication.&lt;/li&gt;
&lt;li&gt; A new kind of DoS is possible through Hole 196 by increasing the value of the packet number (PN) field, used by WPA2 to detect replay attacks. This attack joins the long list of Wi-Fi DoS attacks still possible today.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;In essence, Hole196 allows the injection of fake broadcast or multicast frames in the Wi-Fi network that all users will accept as legitimate. Therefore, an attacker can launch any kind of attack that implies the usage of broadcast or multicast traffic at layer 2, being ARP poisoning the best example. This is what the FAQ refers to as "&lt;i&gt;Other attacks such as port scanning, exploiting OS and application vulnerabilities, malware injection, DNS manipulation, denial of service, etc. are possible by misusing GTK.&lt;/i&gt;" &lt;/li&gt;
&lt;/ul&gt;In the absence of a WIDS, client-based detection capabilities are specially relevant to detect ARP spoofing attacks launched through Hole 196. This opens the door for a future blog post focused on analyzing nowadays &lt;a href="http://www.radajo.com/2007/03/common-misconceptions-about-arp-cache.html"&gt;ARP poisoning&lt;/a&gt; detection solutions on the client side (and in case you ask, Snort is not a client side solution for me), such as &lt;a href="ftp://ftp.ee.lbl.gov/arpwatch.tar.gz"&gt;arpwatch&lt;/a&gt; by &lt;a href="http://ee.lbl.gov/"&gt;LBNL&lt;/a&gt; (already analyzed in 2003 on my "&lt;a href="http://www.giac.org/certified_professionals/practicals/gcih/0487.php"&gt;Real Worl ARP Spoofing&lt;/a&gt;" GCIH paper), &lt;a href="http://www.irongeek.com/i.php?page=security/decaffeinatid-simple-ids-arpwatch-for-windows"&gt;DecaffeintID&lt;/a&gt; by IronGeek (Windows) or &lt;a href="http://www.chrismc.de/development/xarp/"&gt;XArp&lt;/a&gt; by Christoph P. Mayer (Windows and Linux). What are the solutions available for other Wi-Fi clients, such as mobile devices?&lt;br /&gt;
&lt;ul&gt;&lt;/ul&gt;Hole 196 has favored new research focused on how the current TCP/IP stacks behave and respond to layer 3 (IP) unicast packets encapsulated in layer 2 (802.11 or Ethernet) broadcast or multicast frames. &lt;a href="http://www.packetstan.com/2010/08/windows-lan-addressing-validation-and.html"&gt;Josh opened Pandora's box on his Packetstan blog post&lt;/a&gt;. Although still it is not clear how this misbehavior can be fully exploited on any network, apart from bypassing layer-2 filters, it is particularly relevant for one-way attacks on Wi-Fi PSPF (Publicly Secure Packet Forwarding, aka "client isolation") environments through Hole 196.&lt;br /&gt;
&lt;br /&gt;
Following Josh research, I did a few extra tests with OS &amp;amp; platforms, and (in particular) mobile devices common  in Wi-Fi networks, and confirmed the following facts:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Josh mentioned Windows Vista and 7 accept LAN broadcast traffic sent to unicast IP addresses. I confirmed that Windows Vista SP2 under VMware Fusion 3.1.1 (LAN) in fact does accept this kind of traffic for ICMP, TCP or UDP for broadcast and multicast layer-2 addresses. The most surprising fact is that Windows Vista and 7 accept TCP  broadcast traffic. New TCP/IP stack implementations can always include  hidden gifts!&lt;/li&gt;
&lt;li&gt;Windows XP SP3 (WLAN) does not accept it for any of the protocols (ICMP, TCP or UDP), no matter the layer-2 address used, broadcast or multicast. So, does this mean XP is "more secure regarding Hole 196" than Vista &amp;amp; 7? ;) &lt;/li&gt;
&lt;li&gt;Linux 2.6 (2.6.30.9), for the records running inside VMware 6.5.4 (LAN),  accepts both broadcast and multicast traffic for ICMP and UDP. It  rejects it for TCP. From a layer 2 vs. protocol perspective it makes  sense, as ICMP and UDP protocols can make use of broadcast and multicast communications, while TCP cannot. However, the key question about this misbehavior is: should the layer 3 address  be verified against the layer 2 address by the OS TCP/IP stack before processing a frame/packet?&lt;/li&gt;
&lt;li&gt;iPhone 3.1.3 and 4.0.2 (WLAN) accept both broadcast and multicast traffic for ICMP and UDP, but rejects both layer-2 addressing types for TCP, like Linux 2.6.&lt;/li&gt;
&lt;li&gt;Mac OS X 10.6.4 (WLAN) again behaves similarly to Linux 2.6, only accepting both broadcast and multicast traffic for ICMP and UDP.&lt;/li&gt;
&lt;li&gt; Windows Mobile 6.1 and 6.5 behave as Windows XP, not accepting this kind of traffic for any of the protocols (ICMP, TCP or UDP) no matter the layer-2 address used, broadcast or multicast.&lt;/li&gt;
&lt;/ul&gt;If you are interested on testing this kind of misbehaviors, you can use &lt;a href="http://www.packetstan.com/2010/08/windows-lan-addressing-validation-and.html"&gt;Josh's suggested packet crafting technique &lt;/a&gt;based on Python and &lt;a href="http://www.secdev.org/projects/scapy/"&gt;Scapy&lt;/a&gt; (for ICMP, TCP &amp;amp; UDP) on &lt;a href="http://www.secdev.org/projects/scapy/doc/installation.html#platform-specific-instructions"&gt;various platforms&lt;/a&gt;, including the standard Backtrack 4 Final VM I used for these tests (with Scapy v2.1.0), or a simpler multi-platform method (Windows, Linux &amp;amp; Mac) based on creating a static entry on the local ARP table using a broadcast or multicast layer-2 address, and generating traffic against the associated layer-3 address through ping (ICMP) or netcat (TCP &amp;amp; UDP).&lt;br /&gt;
&lt;br /&gt;
Example of an ICMP echo request packet addressed ("dst=") to a multicast layer-2 address and unicast layer-3 address in Scapy:&lt;br /&gt;
&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;&amp;gt;&amp;gt;&amp;gt; &lt;b&gt;p = Ether(dst="01:00:5e:00:00:01", src="00:0c:29:01:02:03", type=0x800)&lt;/b&gt;&amp;nbsp;
&amp;gt;&amp;gt;&amp;gt; &lt;b&gt;p /= IP(src="192.168.100.2",dst="192.168.100.1")&lt;/b&gt;&amp;nbsp;
&amp;gt;&amp;gt;&amp;gt; &lt;b&gt;p/= ICMP()&lt;/b&gt;&amp;nbsp;
&amp;gt;&amp;gt;&amp;gt; &lt;b&gt;srp1(p)&lt;/b&gt;
Begin emission:
Finished to send 1 packets.
*
Received 1 packets, got 1 answers, remaining 0 packets
&amp;lt;Ether  dst=00:0c:29:01:02:03 src=00:0a:0b:0c:0d:0e type=0x800 |
&amp;lt;IP  version=4L ihl=5L tos=0x0 len=28 id=741 flags= frag=0L ttl=128 
proto=icmp chksum=0x2877 src=192.168.100.1 dst=192.168.100.2 options=[] |
&amp;lt;ICMP  type=echo-reply code=0 chksum=0xffff id=0x0 seq=0x0 |&amp;lt;Padding 
load='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' |&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;For TCP &amp;amp; UDP packets replace the "ICMP()" line above with the appropriate line:&lt;br /&gt;
&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;&amp;gt;&amp;gt;&amp;gt; &lt;b&gt;p /= TCP(sport=65000, dport=196)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;&amp;gt;&amp;gt;&amp;gt; &lt;b&gt;p /= UDP(sport=65000, dport=196)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
Example of Linux/Mac &amp;amp; Windows ARP static entry to associate a multicast layer-2 address to a unicast layer-3 address. All local traffic sent to the unicast layer-3 address will use the multicast layer-2 address. Don't forget to delete the new ARP entry (-d) when the tests are finished :)&lt;br /&gt;
&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;# Linux/Mac &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;$ &lt;b&gt;sudo arp -s 192.168.100.1 01:00:5e:00:00:01&lt;/b&gt;&lt;br /&gt;
$ arp -an&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;? (192.168.100.1) at 01:00:5e:00:00:01 [ether] PERM on eth0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;$ &lt;b&gt;sudo arp -d 192.168.100.1&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;# Windows &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;C:\&amp;gt;&lt;b&gt;arp -s 192.168.100.1 01-00-5e-00-00-01&lt;/b&gt;&lt;br /&gt;
C:\&amp;gt;arp -a&lt;br /&gt;
Interface: 192.168.100.2 --- 0x4&lt;br /&gt;
&amp;nbsp; Internet Address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Physical Address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&lt;br /&gt;
&amp;nbsp; 192.168.100.1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 01-00-5e-00-00-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
For general operating systems, before testing, double check that the target TCP/IP stack, and  associated personal firewall, allows the ICMP, TCP &amp;amp; UDP traffic  used for the analysis (for example, using layer-2 &amp;amp; layer-3 unicast packets) and don't forget to launch the TCP &amp;amp; UDP listeners:&lt;br /&gt;
&lt;table bgcolor="#a6e1f4" border="1" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;# TCP listener (you might need to manually close it after the incomplete&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;# SYN/SYN-ACK exchange when using the Scapy packet crafting technique): &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;&lt;b&gt;$ echo "hole 196" | sudo nc -l -p 196&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: small;"&gt;# UDP listener:&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;$ &lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;echo "hole 196" | sudo nc -u -l -p 196&lt;/b&gt; &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size: x-small;"&gt;NOTE: It would be more secure not to use 196 as the target port (Hint: root level required if port &amp;lt;=1023).&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
For mobile or embedded devices, where netcat cannot be used, you need to identify first an open TCP &amp;amp; UDP port that replies to standard unicast traffic. Remember that for UDP you also need to send a properly formatted packet to the target service in order to force a valid reply (Hint: ARP static entry &amp;amp; "nmap -n -Pn -sU -sV -p5353,137 192.168.100.1").&lt;br /&gt;
&lt;br /&gt;
Definitely, more research is needed if a relevant exploitation vector for this misbehavior is found, including the analysis of both broadcast and multicast packets, covering all interfaces (WLAN and LAN) just in case the TCP/IP stacks behave differently, and considering all kind of Wi-Fi clients such as mobile devices, printers, multimedia disks, etc.  Anything with a TCP/IP stack should be part of this extended research. BTW, for the layer 2 multicast address I used 01:00:5e:00:00:01, that corresponds  to 224.0.0.1 (&lt;a href="http://www.iana.org/assignments/multicast-addresses/"&gt;all systems on this subnet, IANA&lt;/a&gt;). If you test other platforms or have exploitation ideas, please share them in the comments section below, or &lt;a href="http://www.taddong.com/en/contact.html"&gt;send me an e-mail&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
I will cover Hole 196 as part of an in-depth technical look at the  current state of Wi-Fi (802.11) security and the still today prevalent and cutting-edge Wi-Fi  vulnerabilities and countermeasures, on my  "Wi-Fi (In)Security: All Your Air Are Belong To..." talk during the &lt;a href="https://www.govcert.nl/symposium/programme.html"&gt;GOVCERT.NL Symposium&lt;/a&gt; on November 16, 2010, in The  Netherlands.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;NOTE: The image above belongs to the &lt;a href="http://beautyofearth.net/the-legendary-great-blue-hole-of-belize-divers-paradise/"&gt;Great Blue Hole of Belize&lt;/a&gt;, in the Lighthouse Reef atoll, a legendary 125 meters deep underwater sinkhole. &lt;br /&gt;
Another awesome Taddong-related place!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-5312259652857687008?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/Zr-ljnALy9E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/5312259652857687008/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2010/09/more-wpa2-hole-196-reflections-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/5312259652857687008?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/5312259652857687008?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/Zr-ljnALy9E/more-wpa2-hole-196-reflections-and.html" title="More WPA2 Hole 196 Reflections and TCP/IP Stack (Mis)Behaviors" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/TIpTS8b-baI/AAAAAAAAAB8/sIvYT8g5QaU/s72-c/great-blue-hole.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2010/09/more-wpa2-hole-196-reflections-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEER3czfip7ImA9WhZQFkU.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-8151969658772093460</id><published>2010-09-01T01:09:00.003+02:00</published><updated>2011-04-25T01:43:26.986+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-25T01:43:26.986+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Wi-Fi" /><category scheme="http://www.blogger.com/atom/ns#" term="Vulnerability" /><title>Vulnerability in the indiscreet Wi-Fi interface of Windows Mobile 6.5</title><content type="html">&lt;b&gt;Title:&lt;/b&gt; Full 802.11 Preferred Network List (PNL) disclosure in Windows Mobile 6.5&lt;br /&gt;
&lt;b&gt;Vulnerability ID:&lt;/b&gt; TAD-2010-003&lt;br /&gt;
&lt;b&gt;Credits:&lt;/b&gt; This vulnerability was discovered by Raul Siles, Founder and Senior Security Analyst with Taddong (&lt;a href="http://www.taddong.com/"&gt;www.taddong.com&lt;/a&gt;)&lt;br /&gt;
&lt;b&gt;Publication date:&lt;/b&gt; September 1, 2010&lt;br /&gt;
&lt;b&gt;Last update:&lt;/b&gt; September 1, 2010 (7:45am CET) - &lt;i&gt;Vendor statement updated&lt;/i&gt;&lt;br /&gt;
&lt;b&gt;Vendors contacted:&lt;/b&gt; Microsoft&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability description:&lt;/b&gt; &lt;br /&gt;
Windows Mobile manages Wi-Fi (or 802.11) wireless communications through the Wireless Zero Configuration (WZC) client or service, similarly to the equivalent Windows-based desktop operating systems. Windows Mobile, as most Wi-Fi clients, keeps a list of the wireless networks manually configured, plus the networks it has connected to in the past, on the Preferred Network List (PNL).&lt;br /&gt;
&lt;br /&gt;
Every time the Wi-Fi interface is turned on, and periodically once it has been activated (for example, to roam between access points), the device checks through 802.11 probe requests what networks in its PNL are available in the current location. Based on the responses obtained, it tries to connect to the most preferred network.&lt;br /&gt;
&lt;br /&gt;
In the past, this network discovery process was performed by sending a generic probe request for the broadcast (or any) network plus specific requests for every network in the PNL. This meant devices disclosed the full PNL in the air [1], exposing themselves to karma-like attacks [2], where an attacker can identify the hidden networks (or access points) the mobile device is trying to connect to and impersonate them, forcing the target device to connect to the attacker's network to capture its traffic and launch more advanced attacks. &lt;br /&gt;
&lt;br /&gt;
In order to avoid this vulnerable behavior, Microsoft released the Wireless Client Update (or patch) for Windows XP SP2 in January 2007 (KB917021)&amp;nbsp; [3], changing the previous behaviour of Wireless Auto Configuration: &lt;i&gt;"This update helps prevent a Windows wireless client from advertising the wireless networks in its preferred networks list."&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The new update mitigates the vulnerability, as the wireless device or client only generates 802.11 probe requests for the broadcast network, generically asking for the networks available in the area. An exception to this behavior is presented by the existence of Wi-Fi hidden networks in the PNL: due to the fact hidden (or nonbroadcast) networks do not include their SSID (Wi-Fi network name) in the beacon frames, and do not respond to generic queries asking for any network available, the Wi-Fi clients need to specifically ask for these hidden networks, disclosing its name and existence on the device PNL. This makes devices vulnerable again to the aforementioned attacks.&lt;br /&gt;
&lt;br /&gt;
The new functionality in KB917021 for Windows XP added a user configurable option, "Connect even if this network is not broadcasting", to be able to specify a Wi-Fi network as hidden (nonbroadcast) or visible (broadcast):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/THtfRLcM7VI/AAAAAAAAABU/0hy6ssuji1g/s1600/WZC_non-broadcasting_option.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/THtfRLcM7VI/AAAAAAAAABU/0hy6ssuji1g/s400/WZC_non-broadcasting_option.png" width="313" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
A similar configuration option is implemented in Windows Mobile. However, Windows Mobile 6.5 is vulnerable to an information disclosure flaw where the mobile device reveals its complete PNL every few seconds (30 or 120 seconds in the tests performed). As a result it presents (again) the old vulnerable behavior where 802.11 probe requests asking for the broadcast network plus all the networks available on the device PNL, hidden and visible, are revealed into the air. The expected non-vulnerable behavior implies the generation of probe requests for the broadcast network plus all the hidden networks in the PNL, but not for the non-hidden networks. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_aEtn4Xz5qsQ/THth6-QewiI/AAAAAAAAABc/PxM_DFSWlL8/s1600/WM6.5_WiFi_full_PNL_disclosure_30secs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="323" src="http://3.bp.blogspot.com/_aEtn4Xz5qsQ/THth6-QewiI/AAAAAAAAABc/PxM_DFSWlL8/s640/WM6.5_WiFi_full_PNL_disclosure_30secs.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/THtiBzKpbzI/AAAAAAAAABk/4AMdA796fMI/s1600/WM6.5_WiFi_full_PNL_disclosure_120secs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="323" src="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/THtiBzKpbzI/AAAAAAAAABk/4AMdA796fMI/s640/WM6.5_WiFi_full_PNL_disclosure_120secs.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The images above show the generated 802.11 probe requests for the broadcast network, two hidden networks ("wifi" and "Taddong") and two visible networks ("hotspot" and "ejemplo").&lt;br /&gt;
&lt;br /&gt;
The disclosure of the non-hidden or visible networks available on the device Preferred Network List (PNL) makes the "This is a hidden network" configuration option useless (the "Esta es una red oculta" option in the Spanish version of WM 6.5 below), as Windows Mobile 6.5 behaves as if all networks are hidden:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_aEtn4Xz5qsQ/THtiJYq2MYI/AAAAAAAAABs/WsistkywNXg/s1600/WZC_WM6.5_non-broadcasting_option.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_aEtn4Xz5qsQ/THtiJYq2MYI/AAAAAAAAABs/WsistkywNXg/s400/WZC_WM6.5_non-broadcasting_option.png" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
This behavior can be used by a potential attacker to launch karma-like attacks [1]. &lt;br /&gt;
&lt;br /&gt;
The vulnerability exists on the default configuration and there is no setup option to mitigate it or make the mobile device not vulnerable.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Security solutions, workarounds and countermeasures:&lt;/b&gt;&lt;br /&gt;
We think Microsoft should release a software update to change this vulnerable behavior in Windows Mobile 6.5 and make the "This is a hidden network" configuration option effective, as it did with the Windows-based desktop operating systems [3].&lt;br /&gt;
&lt;br /&gt;
Due to the absence of a current or future software update, users must evaluate the contents of their PNL at any time. The only effective countermeasure against this vulnerability is to keep an always empty PNL, that is, the user has to actively remove the networks added to the PNL. This means the user must review the PNL and remove any new entries after finishing using the Wi-Fi capabilities every time she establishes a connection with any Wi-Fi network.&lt;br /&gt;
&lt;br /&gt;
If a single network is left on the PNL, the device will try to discover its presence and connect to it, and a potential attacker will be able to launch the karma-like attacks previously mentioned. This kind of attack is especially critical when the user connects to not secure Wi-Fi networks, such as open hotspots or WEP-based networks, enabling unauthorized connections to the mobile device. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, Windows Mobile 6.5 does not have an equivalent option to the automatic connection switch available on Windows XP: "Connect when this network is in range".&lt;br /&gt;
&lt;br /&gt;
The security recommendation of removing all the hidden networks from the PNL, only allowing connections to not hidden or broadcast Wi-Fi networks, is completely ineffective to mitigate the impact of this vulnerability and the associated karma-like attacks (in fact, it is the main victim of this vulnerability).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerable platforms:&lt;/b&gt;&lt;br /&gt;
Windows Mobile 6.5 Professional (5.2.21869 - 21869.5.0.82)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Non-vulnerable platforms:&lt;/b&gt;&lt;br /&gt;
Windows Mobile 6.1 Professional&lt;br /&gt;
Windows Phone 7 (*)&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(*) Microsoft states Windows Phone 7 is not affected by this vulnerability, but this fact has not been tested and/or confirmed.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vendor information:&lt;/b&gt;&lt;br /&gt;
Microsoft has confirmed the existence of this vulnerability, although an update for the Windows Mobile WZC won't be released:&lt;br /&gt;
&lt;i&gt;"We have completed our investigations and can confirm that we saw the behavior reported by you on the Windows Mobile 6.5 phone. However, this issues constitutes a Low severity Information Disclosure issue which does not meet our bar for a security bulletin release."&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The following statement is provided per the vendor request, but its inclusion into this security advisory does not mean we fully agree on its contents:&lt;br /&gt;
&lt;i&gt;"As discussed previously during our investigation, we can confirm that  Windows Mobile 6.5 does broadcasts the PNL. However, because of the low  severity impact of the information disclosed combined with the fact that  the attack would be untargeted (i.e. the attacker cannot force the  mobile device to disclose the PNL), Microsoft would not issue a public  security update to address this issue. Instead we would address this via  next version of the product or service pack if it applies. As you've  pointed out, this same issue was addressed on the desktop Windows  platform via service pack described here &lt;a href="http://support.microsoft.com/kb/917021" target="_blank"&gt;http://support.microsoft.com/&lt;wbr&gt;&lt;/wbr&gt;kb/917021&lt;/a&gt;. We also confirm that this issue does not exist in Windows Phone 7 when it releases."&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
We at Taddong honestly believe this finding must be publicly known by the information security community in order to take appropriate countermeasures and mitigate the vulnerable behavior. Therefore, we have coordinated the release of this security advisory together with the vendor, following responsible disclosure principles. This vulnerability is especially relevant considering the extensive number of Windows Mobile 6.5 devices available in the market and the potential impact of the associated attacks.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability report timeline:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;2010-08-05&lt;/b&gt;: Taddong notifies the Microsoft security team about the vulnerability and sends a brief technical report.&lt;br /&gt;
&lt;b&gt;2010-08-05&lt;/b&gt;: The Microsoft security team acknowledges the vulnerability report.&lt;br /&gt;
&lt;b&gt;2010-08-20&lt;/b&gt;: The Microsoft security team confirms the vulnerability and notifies that an associated security bulletin or software update won't be released.&lt;br /&gt;
&lt;b&gt;2010-08-23&lt;/b&gt;: Taddong notifies the Microsoft security team about the behaviour in Windows Mobile 6.1 (initial research was focused on Windows Mobile 6.5). &lt;br /&gt;
&lt;b&gt;2010-08-23&lt;/b&gt;: The Microsoft security team acknowledges the vulnerability update.&lt;br /&gt;
&lt;b&gt;2010-09-01&lt;/b&gt;: Taddong publishes security advisory TAD-2010-003.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
[1] "Trying to shut up your wireless chatty Windows". Raul Siles. 2005.&lt;br /&gt;
&lt;a href="http://www.raulsiles.com/docs/Chatty_Windows_Wifi_Sep05.html"&gt;http://www.raulsiles.com/docs/Chatty_Windows_Wifi_Sep05.html&lt;/a&gt;&lt;br /&gt;
[2] "KARMA Wireless Client Security Assessment Tools". Dino A. Dai Zovi. 2004.&lt;br /&gt;
&lt;a href="http://theta44.org/karma/index.html"&gt;http://theta44.org/karma/index.html&lt;/a&gt;&lt;br /&gt;
[3] "Description of the Wireless Client Update for Windows XP with Service Pack 2". Microsoft. January 2007.&lt;br /&gt;
&lt;a href="http://support.microsoft.com/kb/917021"&gt;http://support.microsoft.com/kb/917021&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;About Taddong:&lt;/b&gt;&lt;br /&gt;
Taddong (&lt;a href="http://www.taddong.com/"&gt;www.taddong.com&lt;/a&gt;) is a company established in Spain in 2010 with the purpose of improving customer's information security, by discovering and eliminating or mitigating the real risks that threaten their networking and information technology infrastructures. To achieve this goal, Taddong's portfolio includes specialized information security services, requiring an in-depth technical knowledge and broad understanding of the information technology market, as well as training services, focused on providing customers with auto-defense skills. Taddong remains at the forefront of the security market through continuous research and education activities.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Disclaimer:&lt;/b&gt;&lt;br /&gt;
The contents of this security advisory are copyright (c) 2010 Taddong S.L., and may be distributed freely provided that no fee is charged for this distribution and proper credit is given.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-8151969658772093460?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/-gGe27gHxMI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/8151969658772093460/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2010/09/vulnerability-in-indiscreet-wi-fi.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/8151969658772093460?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/8151969658772093460?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/-gGe27gHxMI/vulnerability-in-indiscreet-wi-fi.html" title="Vulnerability in the indiscreet Wi-Fi interface of Windows Mobile 6.5" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/THtfRLcM7VI/AAAAAAAAABU/0hy6ssuji1g/s72-c/WZC_non-broadcasting_option.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2010/09/vulnerability-in-indiscreet-wi-fi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYEQ346cCp7ImA9Wx9UGEo.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-7963634158261902094</id><published>2010-09-01T00:49:00.003+02:00</published><updated>2011-02-16T18:08:22.018+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-16T18:08:22.018+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Wi-Fi" /><category scheme="http://www.blogger.com/atom/ns#" term="Vulnerability" /><title>Vulnerability in the chatty Wi-Fi interface of Windows Mobile 6.5 &amp; 6.1</title><content type="html">&lt;b&gt;Title: &lt;/b&gt;802.11 traffic disclosure during the boot process when the Wi-Fi interface is turned off in Windows Mobile 6.5 and 6.1&lt;br /&gt;
&lt;b&gt;Vulnerability ID:&lt;/b&gt; TAD-2010-002&lt;br /&gt;
&lt;b&gt;Credits:&lt;/b&gt; This vulnerability was discovered by Raul Siles, Founder and Senior Security Analyst at Taddong (&lt;a href="http://www.taddong.com/"&gt;www.taddong.com&lt;/a&gt;)&lt;br /&gt;
&lt;b&gt;Publication date:&lt;/b&gt; September 1, 2010&lt;br /&gt;
&lt;b&gt;Last update:&lt;/b&gt; February 16, 2011 - Windows Mobile 6.1 is vulnerable too. See (&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) marks. &lt;br /&gt;
&lt;b&gt;Vendors contacted:&lt;/b&gt; Microsoft&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability description:&lt;/b&gt;&lt;br /&gt;
Windows Mobile manages Wi-Fi (or 802.11) wireless communications through the Wireless Zero Configuration (WZC) client or service, similarly to the&amp;nbsp; equivalent Windows-based desktop operating systems. Windows Mobile keeps the previous Wi-Fi interface state during the boot process, that is, if the Wi-Fi interface was active during the last shutdown, it will remain turned on after the boot process; if the Wi-Fi interface was off during the last shutdown, it will remain turned off after the boot process.&lt;br /&gt;
&lt;br /&gt;
Unlike the mobile data capabilities (2-3.5G), organizations (and individuals) interested on disabling, or not using at all, the Wi-Fi capabilities of Windows Mobile-based devices can simply switch off the Wi-Fi interface and it will remain disabled unless the user turns it on explicitly. This default behavior is particularly useful in untrusted or "dangerous" locations, where the device owner does not want to disclose the mobile device presence while the phone is turned on (but its data wireless capabilities are turned off), presenting a completely silent profile.&lt;br /&gt;
&lt;br /&gt;
However, Windows Mobile 6.5 is vulnerable to an information disclosure flaw where the mobile device generates 802.11 traffic during the boot process even when the Wi-Fi interface is turned off. As a result, it generates Wi-Fi traffic in the form of 802.11 probe requests asking for the broadcast (or any) network, plus requests for all the hidden networks available on its Preferred Network List (PNL). &lt;br /&gt;
&lt;br /&gt;
This is the expected behavior when the Wi-Fi interface is switched on, but the device should not generate any traffic while the interface is disabled. As a result of this vulnerable behavior, the MAC address of the Wi-Fi interface is revealed into the air, together with all the hidden networks available on the device PNL:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/THtZclDCTnI/AAAAAAAAABE/rvxPHwZfSuQ/s1600/WM6.5_WiFi_boot_disclosure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="355" src="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/THtZclDCTnI/AAAAAAAAABE/rvxPHwZfSuQ/s640/WM6.5_WiFi_boot_disclosure.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The image above shows the 802.11 probe requests generated for the broadcast network, plus two hidden networks ("wifi" and "Taddong").&lt;br /&gt;
&lt;br /&gt;
The disclosure of the MAC address could seem low impact at first sight, as it is revealed every time the Wi-Fi interface is switched on. However, the impact is much bigger in very sensitive environments (defense, finance, healthcare, etc) where the Wi-Fi interface is always turned off, but other wireless technologies might be used, such as Bluetooth. &lt;br /&gt;
&lt;br /&gt;
Bluetooth uses the device address, knows as the BD_ADDR (Bluetooth Device Address), as a secret, as it is required to establish a connection with a non-discoverable (or non-visible) Bluetooth device. Some vendors (even outside the Windows Mobile world, such as Apple with the iPhone 2G &amp;amp; 3G) assign correlative or sequential addresses to the different wireless interfaces of mobile devices, such as Wi-Fi and Bluetooth. As a result of this vulnerability, the knowledge of the Wi-Fi MAC address automatically discloses the BD_ADDR of the mobile device, exposing it to undesired Bluetooth communications and attacks.&lt;br /&gt;
&lt;br /&gt;
The disclosure of the hidden networks available on the device PNL can be used to launch karma-like attacks [1]. The mobile device discloses the hidden networks while trying to find and connect to these networks if they are available. An attacker can identify the hidden networks (or access points) the mobile device is trying to connect to and impersonate them, forcing the target device to connect to the attacker's network to capture its traffic and launch more advanced attacks.&lt;br /&gt;
&lt;br /&gt;
However, these karma-like attacks will only be possible if the Wi-Fi interface is switched on afterwards, so that the attacker can interact with the device wirelessly. The activation of the Wi-Fi interface will disclose the hidden networks (again), therefore, this vulnerability has the same impact as the one associated to configuring hidden Wi-Fi networks on the device.&lt;br /&gt;
&lt;br /&gt;
The vulnerability exists on the default configuration and there is no setup option to mitigate it or make the mobile device not vulnerable.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Security solutions, workarounds and countermeasures:&lt;/b&gt;&lt;br /&gt;
We think Microsoft should release a software update to change this vulnerable behavior and keep the Wi-Fi interface silent until it is turned on. Due to the absence of a current or future software update, users must evaluate the physical locations where their Windows Mobile-based devices are switched on. A potential attacker located around the target mobile device during the boot process (in the range of several kilometers or miles, depending on the Wi-Fi hardware available) will be able to capture the information previously mentioned.&lt;br /&gt;
&lt;br /&gt;
Additionally, users can reduce the impact of this vulnerability removing all the hidden networks from the PNL, and as a result, only allowing connections to not hidden or broadcast Wi-Fi networks.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerable platforms:&lt;/b&gt;&lt;br /&gt;
Windows Mobile 6.5 Professional (5.2.21869 - 21869.5.0.82)&lt;br /&gt;
Windows Mobile 6.1 Professional (5.2.21006 - 21006.1.5.74) (*)&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(*) Windows Mobile 6.1 presents the same behavior described for Windows Mobile 6.5, &lt;strike&gt;although the hidden networks available on the device Preferred Network List (PNL) are not disclosed&lt;/strike&gt;; &lt;strike&gt;this slightly reduces the security impact on this version. In the tests performed, WM 6.1 deletes the hidden networks from the PNL after the mobile device reboots, so it can only generate 802.11 probe requests for the broadcast network&lt;/strike&gt;:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_aEtn4Xz5qsQ/THta8WQBh6I/AAAAAAAAABM/PwmonyhNifc/s1600/WM6.1_WiFi_boot_disclosure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="329" src="http://4.bp.blogspot.com/_aEtn4Xz5qsQ/THta8WQBh6I/AAAAAAAAABM/PwmonyhNifc/s640/WM6.1_WiFi_boot_disclosure.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
(&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) Additional tests on Windows Mobile 6.1 confirm that this OS version is also vulnerable to this issue, disclosing the hidden networks contained in the PNL during the boot process like Windows Mobile 6.5.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Non-vulnerable&amp;nbsp; platforms:&lt;/b&gt;&lt;br /&gt;
Windows Phone 7 (**)&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(**) Microsoft states Windows Phone 7 is not affected by this vulnerability, but this fact has not been tested and/or confirmed.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vendor information:&lt;/b&gt;&lt;br /&gt;
Microsoft has confirmed the existence of this vulnerability, although an update for the Windows Mobile WZC won't be released:&lt;br /&gt;
&lt;i&gt;"We have completed our investigations and can confirm that we saw the behavior reported by you on the Windows Mobile 6.5 phone. However, this issues constitutes a Low severity Information Disclosure issue which does not meet our bar for a security bulletin release."&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
We at Taddong honestly believe this finding must be publicly known by the information security community in order to take appropriate countermeasures and mitigate the vulnerable behavior. Therefore, we have coordinated the release of this security advisory together with the vendor, following responsible disclosure principles.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vulnerability report timeline:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;2010-08-05&lt;/b&gt;: Taddong notifies the Microsoft security team about the vulnerability and sends a brief technical report.&lt;br /&gt;
&lt;b&gt;2010-08-05&lt;/b&gt;: The Microsoft security team acknowledges the vulnerability report.&lt;br /&gt;
&lt;b&gt;2010-08-20&lt;/b&gt;: The Microsoft security team confirms the vulnerability and notifies that an associated security bulletin or software update won't be released.&lt;br /&gt;
&lt;b&gt;2010-08-23&lt;/b&gt;: Taddong notifies the Microsoft security team about the behaviour in Windows Mobile 6.1 (initial research was focused on Windows Mobile 6.5). &lt;br /&gt;
&lt;b&gt;2010-08-23&lt;/b&gt;: The Microsoft security team acknowledges the vulnerability update.&lt;br /&gt;
&lt;b&gt;2010-09-01&lt;/b&gt;: Taddong publishes security advisory TAD-2010-002.&lt;br /&gt;
&lt;b&gt;2011-02-16&lt;/b&gt;:&amp;nbsp; Additional tests on Windows Mobile 6.1 confirm it is vulnerable to this issue.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
[1] "KARMA Wireless Client Security Assessment Tools". Dino A. Dai Zovi. 2004.&lt;br /&gt;
&lt;a href="http://theta44.org/karma/index.html"&gt;http://theta44.org/karma/index.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;About Taddong:&lt;/b&gt;&lt;br /&gt;
Taddong (&lt;a href="http://www.taddong.com/"&gt;www.taddong.com&lt;/a&gt;) is a company established in Spain in 2010 with the purpose of  improving customer's information security, by discovering and  eliminating or mitigating the real risks that threaten their networking  and information technology infrastructures. To achieve this goal,  Taddong's portfolio includes specialized information security services,  requiring an in-depth technical knowledge and broad understanding of the  information technology market, as well as training services, focused on  providing customers with auto-defense skills. Taddong remains at the  forefront of the security market through continuous research and  education activities.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Disclaimer:&lt;/b&gt;&lt;br /&gt;
The contents of this security advisory are copyright (c) 2010 Taddong  S.L., and may be distributed freely provided that no fee is charged for  this distribution and proper credit is given.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-7963634158261902094?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/phe8zi7Wwvw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/7963634158261902094/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2010/09/vulnerability-in-chatty-wi-fi-interface.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/7963634158261902094?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/7963634158261902094?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/phe8zi7Wwvw/vulnerability-in-chatty-wi-fi-interface.html" title="Vulnerability in the chatty Wi-Fi interface of Windows Mobile 6.5 &amp; 6.1" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_aEtn4Xz5qsQ/THtZclDCTnI/AAAAAAAAABE/rvxPHwZfSuQ/s72-c/WM6.5_WiFi_boot_disclosure.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2010/09/vulnerability-in-chatty-wi-fi-interface.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcMQ3Y4fCp7ImA9Wx5SGEo.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-495956283558560946</id><published>2010-08-15T14:41:00.000+02:00</published><updated>2010-08-15T14:41:22.834+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-15T14:41:22.834+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Vulnerability" /><title>The Seven Deadly Sins of Security Vulnerability Reporting</title><content type="html">On &lt;a href="http://blog.taddong.com/2010/05/session-fixation-vulnerability-in.html"&gt;a previous post&lt;/a&gt;, I opened the door for a new blog post with the goal of providing a few specific  recommendations (from a security researcher perspective) for organizations, commercial companies, and open-source projects in order to improve the resources and procedures they put in place to be notified and act on security  vulnerabilities on their official web site(s), services, or any of their products.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Seven Deadly Sins of Security Vulnerability Reporting&lt;/b&gt; pretends to become an easy to follow list, not very technical but security relevant (so that we can point people to it), for any organization interested on improving the process of dealing with security vulnerabilities reported by external security researchers (or third parties). It is the result of common issues we found when reporting vulnerabilities and findings during penetration tests, security research, and incident handling:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Communication channels&lt;/li&gt;
&lt;li&gt;Confidentiality&lt;/li&gt;
&lt;li&gt;Availability&lt;/li&gt;
&lt;li&gt;ACK&lt;/li&gt;
&lt;li&gt;Verification&lt;/li&gt;
&lt;li&gt;Interactivity&lt;/li&gt;
&lt;li&gt;"Researchability"&lt;/li&gt;
&lt;/ol&gt;I strongly recommend you to go through the list during this Summer, identify what &lt;i&gt;sins&lt;/i&gt; you can redeem in your environment, and implement the changes on  September! Let's get ready for the new season!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Communication channels&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;Do you have clear and simple communication channels to be notified about security vulnerabilities in your environment and products? &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Provide a clear and simple notification channel (or channels) for researchers to submit security vulnerabilities about your environment and products. Two of the most common methods are e-mail (use an easy to remember e-mail address, like security@yourdomain.com or secure@yourdomain.com - &lt;i&gt;very common nowadays&lt;/i&gt;) and an easy to remember web page, such as https://www.yourdomain.com/security/. This page might include a web-based contact form, although I personally prefer e-mail, so it can just contain the details to contact with your security team.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Confidentiality&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;Do you have &lt;b&gt;secure&lt;/b&gt; communication channels to receive sensitive and/or confidential notifications?&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Implement secure communication channels to receive the security-related notifications by using strong encryption. This way, anyone eavesdropping on the communication won't be able to get all the details about the vulnerability.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;For the web-based option, make use of a trusted HTTPS connection for the web page used for the notifications (Did you see the "https://" above?). Do not use HTTP!&lt;/li&gt;
&lt;li&gt;For the e-mail option, create and publish the GPG/PGP key associated to the e-mail address used for the notifications. Have the key ready in advance, and make it easily available and verifiable: use your web site plus the public GPG/PGP servers for its publication and distribution. &lt;/li&gt;
&lt;/ul&gt;Always use the secure channel. As obvious as it might sound, for some reason, it is very common for  people to end up not encrypting one of the messages at some point during  the process of solving the vulnerability and finding the fix, disclosing confidential details as a result.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Availability&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;Are the notifications channels available 24x7, specially, when they are required ;)?&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Ensure the web page and e-mail address used for the notifications work as expected and are always available. This is easier said than done. Are you sure someone in the organization is receiving the notifications? Check all the notification methods frequently, or at least, from time to time. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. ACK (Acknowledgment)&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;How can the researcher know you have received the notification?&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
As soon as possible, reply with a quick e-mail message to the researcher confirming you have received the notification, and explain that the notification is going to be reviewed and verified in the next few days. This way the researcher can confirm you got the notification, she knows she can expect a further detailed message and when (try to define what "a few days" means), and you are both in sync.&lt;br /&gt;
&lt;br /&gt;
The initial acknowledgment message (and associated exchange) is a great time for sharing GPG/PGP keys and verifying the secure communication channel works. &lt;br /&gt;
&lt;br /&gt;
If you put in place an automatic response system to confirm the reception of messages on the  web or&amp;nbsp; e-mail notification channels, ensure you also provide a second human-based reply, so you demonstrate there is someone behind it, reading and processing the notifications.&lt;br /&gt;
&lt;br /&gt;
Remember, e-mail is not a 100% reliable notification system  (SPAM filters apart ;)), so I recommend you to acknowledge relevant messages during the whole process.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. Verification&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;How do you know if the notification is related with a new vulnerability (0-day) or is a well known issue?&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Take your time to read and understand in detail the contents of the notification and do not make assumptions till you test the issue in your environment. Clarify with the researcher any unclear points or undefined areas till you are able to reproduce it. Verify and, confirm or deny, if it is something you already knew about or a new vulnerability (0-day).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6. Interactivity&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;Once you confirm it is a new vulnerability, design a plan to fix it, and keep all parties involved informed about how the plan progresses.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This is all about information exchange, isn't it? Improve the information exchange procedures you put in place during the process of testing and fixing the issue. I highly recommend you to periodically notify the security researcher about how the fix progresses and any other relevant actions you take.&amp;nbsp; During the process, you can plan and agree on the deadlines for future actions and the final (responsible) disclosure date.&lt;br /&gt;
&lt;br /&gt;
Apart from using periodic status updates, avoid not responding to e-mails. I you do not have an answer yet, or need time to review the data and provide an answer, once again, send a quick message to the other party and set a reasonable timeframe to keep the information exchange flowing.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7. "Researchability"&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;All the previous sins provided guidance to the organization that has the responsibility to fix the vulnerability, but... what about the security researcher that found it?&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
I'm sure there are things we (as security researchers) do wrong, so this last sin is reserved for us :) A few common mistakes not to forget are:&lt;br /&gt;
- Follow the &lt;i&gt;responsible disclosure&lt;/i&gt; principle (&lt;i&gt;it seems nobody really knows what this means, or has its own definition&lt;/i&gt; ;) ). &lt;br /&gt;
- GPG/PGP does not encrypt the e-mail subject, so provide enough information in the subject to differentiate it from other notifications (for example by using an identifier), but do not include too much information so that other people could know what is going on. &lt;br /&gt;
- Everybody's time is valuable, so before taking the time to report a vulnerability, be sure you have thoroughly tested it and are able to reproduce it (if possible, on the latest product version and, definitely, with the latest patches and updates applied). Try to confirm in advance if it is a well known, previously published, vulnerability or not. You don't want to end up wasting everybody's time (including yours) to confirm it is something that was already fixed a while ago.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Credit&lt;/b&gt;&lt;br /&gt;
Once a fix for the vulnerability is available and it is finally announced, provide credit where appropriate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-495956283558560946?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/uof0dnFYu84" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/495956283558560946/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2010/08/seven-deadly-sins-of-security.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/495956283558560946?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/495956283558560946?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/uof0dnFYu84/seven-deadly-sins-of-security.html" title="The Seven Deadly Sins of Security Vulnerability Reporting" /><author><name>Raul Siles</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.taddong.com/2010/08/seven-deadly-sins-of-security.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cNR389eCp7ImA9WhZWEEk.&quot;"><id>tag:blogger.com,1999:blog-2773536350893785230.post-5093010586746475725</id><published>2010-05-27T15:18:00.017+02:00</published><updated>2011-05-10T19:38:16.160+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-10T19:38:16.160+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PenTest" /><category scheme="http://www.blogger.com/atom/ns#" term="SMB" /><category scheme="http://www.blogger.com/atom/ns#" term="Tool" /><title>Capturing SMB Files with Wireshark</title><content type="html">&lt;div style="text-align: justify;"&gt;Most corporate networks include one or more file servers where shared information is stored and shared across the network using the SMB protocol. These servers are used as a repository for different departments, which share the same infrastructure but must have access to different and separate information sets, some of which will probably be very sensitive and confidential, like files belonging to top management, Human Resources or the Legal departmens, just to name a few examples.&lt;/div&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;The access control to the information in the file servers is enforced using the SMB protocol authentication, usually integrated with some unified directory (like Microsoft Active Directory).&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;While the authentication can be performed in a secure way, the information flow between the server and consumer is usually not encrypted, as it happens with the default SMB configuration. This makes this information vulnerable to any sniffing activity performed in the company’s internal network.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;In our effort to identify weak points of corporate networks, we wanted to demonstrate how this vulnerability could be easily exploited, so that organizations better understand the risk this vulnerability poses for them, and how to protect themselves from it.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;For that purpose, we have developped a plugin for the popular network analyzer Wireshark. The plugin adds to Wireshark the ability to extract and save separately, from any network capture, either live or previously saved, the contents of any files transferred between a server and a client using the SMB protocol. We have succesfully used this plug-in in some real pentests, demonstrating the potential impact of this vulnerability.&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;Once installed, identifying SMB streams in a Wireshark capture is easy: click on Export-&gt;Object-&gt; SMB, and look at the windows that pops up, which will look similar to this one:&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_fE5amZiIwuY/S_50AzQnb4I/AAAAAAAAAA0/zVCAwZV-7oY/s1600/netinvm_WS1001-2010-05-13-13-59-10_v2.png"&gt;&lt;img src="http://3.bp.blogspot.com/_fE5amZiIwuY/S_50AzQnb4I/AAAAAAAAAA0/zVCAwZV-7oY/s400/netinvm_WS1001-2010-05-13-13-59-10_v2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5475941754037825410" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 600px; height: 337px; " /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;Then, just selecting the desired file and clicking "Save As" will put the captured file on disk and allow you to open it with the right program.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Please note that not all files will be 100% captured and there are some files that will not fit into memory.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A white paper with further details, as well as the plug-in itself, are freely available at &lt;a href="http://www.taddong.com/en/lab.html"&gt;the Lab section of our Web Page&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) This functionality is included in the oficial version of Wireshark from release 1.5.1 on.&lt;br /&gt;(&lt;span style="color: red;"&gt;UPDATE&lt;/span&gt;) We have released a patch that corrects some bugs in the export object SMB functionality of version 1.5.1. It has been included in development trunk from SVN revision 36979 on. For linux users you can download source code and compile it. For Windows users, a windows installer is available in &lt;a href="http://www.taddong.com/en/lab.html#wiresharkexe"&gt;our lab&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2773536350893785230-5093010586746475725?l=blog.taddong.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Taddong/~4/XYEcSxW0Iu0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.taddong.com/feeds/5093010586746475725/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.taddong.com/2010/05/capturing-smb-files-with-wireshark.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/5093010586746475725?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2773536350893785230/posts/default/5093010586746475725?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Taddong/~3/XYEcSxW0Iu0/capturing-smb-files-with-wireshark.html" title="Capturing SMB Files with Wireshark" /><author><name>Jose Pico</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fE5amZiIwuY/S_50AzQnb4I/AAAAAAAAAA0/zVCAwZV-7oY/s72-c/netinvm_WS1001-2010-05-13-13-59-10_v2.png" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://blog.taddong.com/2010/05/capturing-smb-files-with-wireshark.html</feedburner:origLink></entry></feed>

