<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[SSL - Shodan Blog]]></title><description><![CDATA[The latest news and developments for Shodan.]]></description><link>https://blog.shodan.io/</link><generator>Ghost 0.7</generator><lastBuildDate>Fri, 10 Apr 2026 22:35:51 GMT</lastBuildDate><atom:link href="https://blog.shodan.io/tag/ssl/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Understanding Security by Country: SSL]]></title><description><![CDATA[<p>With Shodan it's easy to get an overview of the security for a country. Real-world borders don't necessarily translate to the Internet but it can still reveal useful information as shown by <a href="https://books.google.com/books?id=T9IqCgAAQBAJ&amp;pg=PA259&amp;lpg=PA259#v=onepage&amp;q&amp;f=false">OECD</a>. I will show how I use Shodan to get a big picture view of a country; in</p>]]></description><link>https://blog.shodan.io/understanding-security-by-country-ssl/</link><guid isPermaLink="false">9aff5dfd-1696-4732-886d-5a610a9c3c5a</guid><category><![CDATA[research]]></category><category><![CDATA[SSL]]></category><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Wed, 03 Aug 2016 21:33:53 GMT</pubDate><media:content url="http://blog.shodan.io/content/images/2016/08/Firefox_Screenshot_2016-08-03T21-32-54-260Z.png" medium="image"/><content:encoded><![CDATA[<img src="http://blog.shodan.io/content/images/2016/08/Firefox_Screenshot_2016-08-03T21-32-54-260Z.png" alt="Understanding Security by Country: SSL"><p>With Shodan it's easy to get an overview of the security for a country. Real-world borders don't necessarily translate to the Internet but it can still reveal useful information as shown by <a href="https://books.google.com/books?id=T9IqCgAAQBAJ&amp;pg=PA259&amp;lpg=PA259#v=onepage&amp;q&amp;f=false">OECD</a>. I will show how I use Shodan to get a big picture view of a country; in this case I'm looking at the USA.</p>

<p>First, lets have a look at how SSL is deployed in the USA. I will start off by getting a breakdown of the SSL versions that are supported by web servers:</p>

<pre><code>shodan stats --facets ssl.version country:US has_ssl:true HTTP
</code></pre>

<p>To do this I'm faceting on the <strong>ssl.version</strong> property which contains a list of SSL versions that the web server supports. This is possible because Shodan crawlers explicitly test for SSLv2 through TLSv1.2.</p>

<p><img src="https://blog.shodan.io/content/images/2016/08/ssl-versions-usa.png" alt="Understanding Security by Country: SSL"></p>

<p>Unsurprisingly, the <a href="https://www.shodan.io/report/lIWBfrtT">majority of the HTTPS servers</a> are hosted by Akamai and Amazon. However, there's still a sizable chunk (600,000+) devices that support SSLv2 so lets look at those briefly:</p>

<pre><code>shodan stats --facets org country:US ssl.version:sslv2 HTTP
</code></pre>

<p>Here I'm faceting on the <strong>org</strong> (organization) property and filtering for web servers that support SSLv2. This doesn't mean that they only accept SSLv2 connections but it is one of the versions the service supports.</p>

<p><img src="https://blog.shodan.io/content/images/2016/08/Firefox_Screenshot_2016-08-03T05-55-53-808Z.png" alt="Understanding Security by Country: SSL"></p>

<p>Around <a href="https://www.shodan.io/report/S4iafkde">25% of the services</a> that support SSLv2 are operating on CenturyLink's network. Just <a href="https://www.shodan.io/search?query=ssl.version%3Asslv2+country%3Aus+http">looking at the results</a> it seems like some of CenturyLink's modems are the reason for their #1 spot on the list. Their numbers are significantly higher than the next provider but I'm hoping these numbers will decline as CenturyLink phases out their older equipment.</p>

<p>The Shodan crawls also check for the various SSL vulnerabilities such as Heartbleed and FREAK so lets see how the US fares for those. For Heartbleed there are at least <a href="https://www.shodan.io/report/SlUlgL38">~30,000 devices in the US</a> still vulnerable to it.</p>

<p><img src="https://blog.shodan.io/content/images/2016/08/Firefox_Screenshot_2016-08-03T20-21-04-193Z.png" alt="Understanding Security by Country: SSL"></p>

<p>Interestingly, Verizon Wireless is the network with the most services vulnerable to Heartbleed. The runner-up, Amazon, is less surprising since it's not unusual for people to deploy old images that haven't yet been patched (<a href="https://blog.shodan.io/its-still-the-data-stupid/">or lack protection</a>). There are 2 types of devices operated by Verizon Wireless that are affected:</p>

<ol>
<li><p><a href="https://www.shodan.io/search?query=vuln%3Acve-2014-0160+country%3Aus+http+org%3A%22Verizon+Wireless%22+admin">Wireless routers</a> that run on the alternate HTTPS port 8443 and are made by CradlePoint Technology.</p></li>
<li><p><a href="https://www.shodan.io/search?query=vuln%3Acve-2014-0160+country%3Aus+http+org%3A%22Verizon+Wireless%22+WatchfireSessionID">Digital billboards</a> made by Watchfire Signs that run a web server on port 9443.</p></li>
</ol>

<p>I have not heard of these products before but this explains why Verizon Wireless has the most devices affected by Heartbleed - I wouldn't have expected many regular web servers to operate on their network. The same analysis can be performed by looking at services that support export ciphers (CVE-2015-0204) which I will leave as an exercise.</p>

<p>Finally, lets look at the distribution of SSL certificates. It usually isn't a good sign if the same SSL certificate is deployed across a large number of devices. To see the usage of duplicate SSL certificates we can facet on the <strong>ssl.cert.fingerprint</strong> property:</p>

<pre><code>shodan stats --facets ssl.cert.fingerprint country:us has_ssl:true http
</code></pre>

<p>The results of the command will give us the 10 most common SSL certificate fingerprints:</p>

<p><img src="https://blog.shodan.io/content/images/2016/08/ssl-us-fingerprints.png" alt="Understanding Security by Country: SSL"></p>

<p>If you want to get more than 10 you can also provide a number to the facet. For example, this is how to get the top 100 SSL fingerprints:</p>

<pre><code>shodan stats --facets ssl.cert.fingerprint:100 country:us has_ssl:true http
</code></pre>

<p>The most common SSL certificate is for what looks like Google's CDN on IPv6. However, the 2nd most often seen SSL certificate is for <a href="https://www.shodan.io/search?query=ssl.cert.fingerprint%3Ae1369c0316542950dbf9bd0c96a9feae43ee41d8">Ecommerce Corporation</a> which is a familiar company if you've read some of my <a href="https://blog.shodan.io/tracking-hacked-websites-2/">earlier articles</a> on defaced websites. While we're looking at duplicate fingerprints, what about SSH fingerprints?</p>

<pre><code>shodan stats --facets ssh.fingerprint country:us
</code></pre>

<p><img src="https://blog.shodan.io/content/images/2016/08/ssl-us-fingerprints-1.png" alt="Understanding Security by Country: SSL"></p>

<p>The most common duplicate SSH fingerprint in the US belongs to <a href="https://www.shodan.io/search?query=62%3A5e%3Ab9%3Afd%3A3a%3A70%3Aeb%3A37%3A99%3Ae9%3A12%3Ae3%3Ad9%3A3f%3A4e%3A6c">GoDaddy</a>. Looking at those results will require another blog post but the above is how I usually get started when trying to identify systemic problems.</p>

<p>Here is a short video that shows how I've done a similar analysis for Germany:</p>

<script type="text/javascript" src="https://asciinema.org/a/48143.js" id="asciicast-48143" async></script>

<p>SSL is only one of many aspects that should be looked at and I will be discussing some other angles in future posts. I hope I've given you a better idea of how I use Shodan to breakdown SSL issues on a national level.</p>]]></content:encoded></item><item><title><![CDATA[All About Dell]]></title><description><![CDATA[<p>Dell has been hit with 2 security issues the past few days. I wanted to quickly summarize my findings from an external network perspective:</p>

<h6 id="1laptopscomepreinstalledwitharootcertificate">1. Laptops come pre-installed with a root certificate</h6>

<p><a href="https://blog.hboeck.de/archives/876-Superfish-2.0-Dangerous-Certificate-on-Dell-Laptops-breaks-encrypted-HTTPS-Connections.html">https://blog.hboeck.de/archives/876-Superfish-2.0-Dangerous-Certificate-on-Dell-Laptops-breaks-encrypted-HTTPS-Connections.html</a></p>

<p>The root certificate is issued by <strong>eDellRoot</strong>. Initially, the story</p>]]></description><link>https://blog.shodan.io/all-about-dell/</link><guid isPermaLink="false">930580ab-11dd-414d-92c7-006e569db883</guid><category><![CDATA[SSL]]></category><category><![CDATA[research]]></category><category><![CDATA[Dell]]></category><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Thu, 26 Nov 2015 05:12:18 GMT</pubDate><media:content url="http://blog.shodan.io/content/images/2015/11/screenshot-maps-shodan-io-2015-11-25-23-01-05.png" medium="image"/><content:encoded><![CDATA[<img src="http://blog.shodan.io/content/images/2015/11/screenshot-maps-shodan-io-2015-11-25-23-01-05.png" alt="All About Dell"><p>Dell has been hit with 2 security issues the past few days. I wanted to quickly summarize my findings from an external network perspective:</p>

<h6 id="1laptopscomepreinstalledwitharootcertificate">1. Laptops come pre-installed with a root certificate</h6>

<p><a href="https://blog.hboeck.de/archives/876-Superfish-2.0-Dangerous-Certificate-on-Dell-Laptops-breaks-encrypted-HTTPS-Connections.html">https://blog.hboeck.de/archives/876-Superfish-2.0-Dangerous-Certificate-on-Dell-Laptops-breaks-encrypted-HTTPS-Connections.html</a></p>

<p>The root certificate is issued by <strong>eDellRoot</strong>. Initially, the story mentioned just one certificate but it quickly became clear that there was a 2nd certificate that can be found on live web servers using <a href="https://www.shodan.io/search?query=ssl%3Aedellroot">Shodan</a> with the search query:</p>

<pre><code>ssl:eDellRoot
</code></pre>

<p>At the moment, the search returns 28 results that are <a href="https://www.shodan.io/report/JpMAZMji">located mostly in the US</a> with a few in Switzerland, Canada, Singapore and Malaysia:</p>

<p><img src="https://pbs.twimg.com/media/CUi6RGCU8AEirOs.png:large" alt="All About Dell"></p>

<p>Even though there are very few results, at least one of them has turned out to be a control system. This isn't a big surprise since there are <a href="http://www.slideshare.net/BobRadvanovsky/project-shine-findings-report-dated-1oct2014">millions of control systems connected to the Internet</a> but it's a good reminder that the Internet has much more than just web servers.</p>

<p>Dell has <a href="http://en.community.dell.com/dell-blogs/direct2dell/b/direct2dell/archive/2015/11/23/response-to-concerns-regarding-edellroot-certificate">issued a statement</a> explaining the existence of the root certificate and released a tool/ instructions on how to remove it.</p>

<h6 id="2webserverrunsonport7779thatprovidesunauthenticatedaccesstothedellservicetag">2. Webserver runs on port 7779 that provides unauthenticated access to the Dell service tag</h6>

<p><a href="http://www.theregister.co.uk/2015/11/25/dell_backdoor_part_two/">http://www.theregister.co.uk/2015/11/25/dell<em>backdoor</em>part_two/</a></p>

<p>There are <a href="https://www.shodan.io/search?query=port%3A7779">~12,800 webservers</a> on the Internet running on port 7779. Out of those, roughly ~2,300 are running software that looks like it's from a Dell computer:</p>

<p><img src="https://blog.shodan.io/content/images/2015/11/screenshot-www-shodan-io-2015-11-25-22-23-06.png" alt="All About Dell"></p>

<p>I wrote a quick script to grab the service tags from those IPs and was able to collect ~1,000 service tags. The other 1,300 devices didn't respond in time or otherwise errored out when trying to query the information. Of course, much of the threat is the ability to execute Javascript to gather the information from localhost but I wanted to get a sense of how many are Internet-connected. I've also added port 7779 to Shodan so it will be possible to keep track of how the issue gets resolved over time.</p>]]></content:encoded></item><item><title><![CDATA[Duplicate SSL Serial Numbers]]></title><description><![CDATA[<p>I've made some improvements to the way SSL is indexed and added 2 new filters:</p>

<ol>
<li><strong>ssl</strong> <br>
Search all SSL-related information that Shodan collects. <br>
Example: <a href="https://www.shodan.io/search?query=ssl%3Agoogle">ssl:Google</a>  </li>
<li><strong>has_ssl</strong> <br>
Boolean filter to only show results/ banners that contain SSL information.</li>
</ol>

<p>There was also a bug in how the SSL serial numbers</p>]]></description><link>https://blog.shodan.io/ssl-serial-number-weirdness/</link><guid isPermaLink="false">3ea33a67-fc66-4652-8cbd-e59b8438d72b</guid><category><![CDATA[SSL]]></category><category><![CDATA[research]]></category><category><![CDATA[market research]]></category><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Sat, 10 Oct 2015 23:24:32 GMT</pubDate><media:content url="http://blog.shodan.io/content/images/2015/10/screenshot-maps-shodan-io-2015-10-10-18-23-58.png" medium="image"/><content:encoded><![CDATA[<img src="http://blog.shodan.io/content/images/2015/10/screenshot-maps-shodan-io-2015-10-10-18-23-58.png" alt="Duplicate SSL Serial Numbers"><p>I've made some improvements to the way SSL is indexed and added 2 new filters:</p>

<ol>
<li><strong>ssl</strong> <br>
Search all SSL-related information that Shodan collects. <br>
Example: <a href="https://www.shodan.io/search?query=ssl%3Agoogle">ssl:Google</a>  </li>
<li><strong>has_ssl</strong> <br>
Boolean filter to only show results/ banners that contain SSL information.</li>
</ol>

<p>There was also a bug in how the SSL serial numbers were indexed so after that got patched I kept an eye on the results. To do so I used the <a href="https://cli.shodan.io">command-line interface</a> and faceted on the <strong>ssl.cert.serial</strong> property to get a list of the most popular SSL serial numbers:</p>

<p><a href="https://asciinema.org/a/27675" target="_blank"><img src="https://asciinema.org/a/27675.png" style="width:90%;" alt="Duplicate SSL Serial Numbers"></a></p>

<p>The top 5 SSL serial numbers are:</p>

<ol>
<li><strong>15264109253415148488</strong>  </li>
<li><strong>17803741903183845083</strong>  </li>
<li><strong>0</strong>  </li>
<li><strong>40564819207326832829647457238321</strong>  </li>
<li><strong>295</strong></li>
</ol>

<p>I wasn't sure what to expect so lets <a href="https://www.shodan.io/search?query=ssl.cert.serial%3A15264109253415148488">take a look</a> at what the most popular SSL serial on the Internet is used by:</p>

<p><img src="https://blog.shodan.io/content/images/2015/10/screenshot-www-shodan-io-2015-10-10-17-18-44.png" alt="Duplicate SSL Serial Numbers"></p>

<p>There are <a href="https://www.shodan.io/report/7a2xT0hs">more than a million devices</a> that use the serial number <strong>15264109253415148488</strong> and none of them return a banner. They're all self-signed certificates that are running a service on port 443 but otherwise aren't responding to HTTP requests. Hmmm, ok well what about the 2nd most popular serial number?</p>

<p><img src="https://blog.shodan.io/content/images/2015/10/screenshot-www-shodan-io-2015-10-10-17-27-54.png" alt="Duplicate SSL Serial Numbers"></p>

<p>Once again a huge amount of devices are responding on port 443 and not providing any banners but this time for Motorola Mobility devices. In both instances the devices are located on AT&amp;T's network, and based on the netblock ownership the IPs are being used for U-verse. I started searching for more information about these certificates and eventually found an answer:</p>

<p><img src="https://blog.shodan.io/content/images/2015/10/screenshot-discussions-apple-com-2015-10-10-17-24-14.png" alt="Duplicate SSL Serial Numbers"></p>

<p>Apparently, AT&amp;T is running a service on port 443 to manage their wireless set top boxes. I don't have any way to verify those claims but they seem plausible. If nothing else it's now very easy to see how many of AT&amp;T's users purchased their wireless Internet package (~2 million households).</p>]]></content:encoded></item><item><title><![CDATA[Keeping Up with SSL]]></title><description><![CDATA[<p>SSL is becoming an evermore important aspect of serving and consuming content on the Internet, so it's only fit that Shodan extends the information that it gathers for every SSL-capable service. The banners for SSL services, such as HTTPS, have included the certificate in PEM format for a long time</p>]]></description><link>https://blog.shodan.io/ssl-update/</link><guid isPermaLink="false">2b4901ed-1657-4979-a6a5-a4c82a7051c0</guid><category><![CDATA[SSL]]></category><category><![CDATA[Filters]]></category><category><![CDATA[Facets]]></category><category><![CDATA[API]]></category><category><![CDATA[Reports]]></category><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Mon, 16 Feb 2015 23:55:00 GMT</pubDate><content:encoded><![CDATA[<p>SSL is becoming an evermore important aspect of serving and consuming content on the Internet, so it's only fit that Shodan extends the information that it gathers for every SSL-capable service. The banners for SSL services, such as HTTPS, have included the certificate in PEM format for a long time and you've been able to access that data through the <a href="https://developer.shodan.io/api">REST API</a> or <a href="http://shodan.readthedocs.org/en/latest/examples/cert-stream.html">real-time stream</a>.</p>

<p>After spending some time fixing bugs and making sure it scales, I'm happy to say that Shodan is now also collecting the following information:</p>

<ul>
<li>Parsed certificate</li>
<li>Certificate chain</li>
<li>Supported SSL versions</li>
<li>Preferred cipher</li>
</ul>

<p><img src="https://blog.shodan.io/content/images/2015/02/SSL-Survey---Shodan.png" alt="Distribution of supported SSL versions on the Internet"></p>

<p>All the SSL information has been put into property on the top-level called <strong>ssl</strong> instead of being dug into the <strong>opts</strong> field. This is how it looks like right now:</p>

<pre><code>"ssl": {
    "cert": {
        "sig_alg": "sha1WithRSAEncryption",
        "issued": "20110325103212Z",
        "expires": "20120324103212Z",
        "expired": true,
        "version": 2,
        "extensions": [{
            "data": "\u0003\u0002\u0006@",
            "name": "nsCertType"
        }],
        "serial": 10104044343792293356,
        "issuer": {
            "C": "TW",
            "L": "TAIPEI",
            "O": "CAMEO",
            "ST": "TAIWAN"
        },
        "pubkey": {
            "bits": 1024,
            "type": "rsa"
        },
        "subject": {
            "C": "TW",
            "L": "TAIPEI",
            "O": "CAMEO",
            "ST": "TAIWAN"
        }
    },
    "cipher": {
        "version": "TLSv1/SSLv3",
        "bits": 256,
        "name": "AES256-SHA"
    },
    "chain": ["-----BEGIN CERTIFICATE-----  \nMIICETCCAXqgAwIBAgIJAIw4xswSiNXsMA0GCSqGSIb3DQEBBQUAMD8xCzAJBgNV\nBAYTAlRXMQ8wDQYDVQQIEwZUQUlXQU4xDzANBgNVBAcTBlRBSVBFSTEOMAwGA1UE\nChMFQ0FNRU8wHhcNMTEwMzI1MTAzMjEyWhcNMTIwMzI0MTAzMjEyWjA/MQswCQYD\nVQQGEwJUVzEPMA0GA1UECBMGVEFJV0FOMQ8wDQYDVQQHEwZUQUlQRUkxDjAMBgNV\nBAoTBUNBTUVPMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCj8HWSuWUHYWLD\nASV1KCWd9+9U19tINKgY8CTw/gKeVoF6bjgQ3tuXliScLAsU8nNGiZibaXq9KR67\nnLjjHzFiJDr6s8M3qimLdhcA7kf71v806Mls4KctdrMUiX3Bc7WvYtbClke0QDlC\nFGgK7HksEWpQ026E3pI0T/2mTvbeXQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMC\nBkAwDQYJKoZIhvcNAQEFBQADgYEANbiCHCROX0X9ZbBaOsijkGh6+7WLaLUDEUpp\nrw+bHFKhOvtQgEyQ01U0V9ZYtdPyVLnNVmJu6Q8MPuqBCkpcv0/gH31YSSRyOhid\nvc+qCUCA7UBqt5f7QVOOYPqhzieoUO+pmQ3zidcwUGYh19gQv/fl7SnG00cDgxg3\nm89S7ao=\n-----END CERTIFICATE-----\n"],
    "versions": ["TLSv1", "SSLv3", "-SSLv2", "-TLSv1.1", "-TLSv1.2"]
}
</code></pre>

<p>The <strong>ssl.versions</strong> field is a list of SSL versions that the device permits and denies. If the version has a <strong>-</strong> (dash) in front of the version, then the device <strong>does not</strong> support that SSL version. If the version doesn't begin with a <strong>-</strong>, then the service supports the given SSL version. For example, the above server supports:</p>

<ul>
<li>TLSv1</li>
<li>SSLv3</li>
</ul>

<p>And it denies versions:</p>

<ul>
<li>SSLv2</li>
<li>TLSv1.1</li>
<li>TLSv1.2</li>
</ul>

<p>The information that used to be stored in the <strong>opts.pem</strong> field is now available in the <strong>ssl.chain</strong> field, which is basically an array of PEM-serialized certificates. If you'd like to access the parsed information of the service's main certificate then you can get that directly from the <strong>ssl.cert</strong> property. It's the parsed SSL certificate made accessible in a programmer-friendly way (parsing certificates can be a pain...).</p>

<h4 id="newsslfiltersandfacets">New SSL Filters and Facets</h4>

<p>Alongside these new properties, I'm also re-introducing revamped SSL filters and facets. The following <strong>new filters and facets</strong> are available in Shodan to search the SSL data:</p>

<ul>
<li>ssl.chain_count</li>
<li>ssl.version</li>
<li>ssl.cert.alg</li>
<li>ssl.cert.expired</li>
<li>ssl.cert.extension</li>
<li>ssl.cert.serial</li>
<li>ssl.cert.pubkey.bits</li>
<li>ssl.cert.pubkey.type</li>
<li>ssl.cipher.version</li>
<li>ssl.cipher.bits</li>
<li>ssl.cipher.name</li>
</ul>

<p>Using these filters, you can for example keep track of devices that <strong>only allow SSLv2</strong> - a deprecated version of SSL that nothing should exclusively support:</p>

<p><a href="https://www.shodan.io/search?query=ssl.version%3Asslv2">ssl.version:sslv2</a></p>

<p>Or you can generate a distribution of certificate chain lengths by faceting on <strong>ssl.chain_count</strong>:</p>

<p><img src="https://blog.shodan.io/content/images/2015/02/ssl-chain-length.png" alt=""></p>

<p>The above chart shows that the majority of SSL certificates are self-signed and don't trace back to a root.</p>

<p>The reports that Shodan generates also take advantage of this new SSL information, so keep an eye out for those charts in your new reports. For example, here's a general report on the state of SSL usage on the Internet:</p>

<p><a href="https://www.shodan.io/report/EvoSNCVF">https://www.shodan.io/report/EvoSNCVF</a></p>

<p>I'm excited to be collecting this new data and I'd love to hear your thoughts (<a href="https://twitter.com/achillean">@achillean</a>). As always, if there's something you'd like to see me add just <a href="mailto:jmath@shodan.io">send me an email</a></p>]]></content:encoded></item></channel></rss>