{"id":848,"date":"2013-07-03T18:48:05","date_gmt":"2013-07-03T18:48:05","guid":{"rendered":"https:\/\/trouble.org\/?p=848"},"modified":"2013-07-18T01:32:40","modified_gmt":"2013-07-18T01:32:40","slug":"linda-and-doris-rule-the-net","status":"publish","type":"post","link":"https:\/\/trouble.org\/?p=848","title":{"rendered":"Linda and Doris rule the &#8216;net"},"content":{"rendered":"<p>Some misc ramblin&#8217; notes\/data on IPMI &amp; SSL Certificates.<\/p>\n<p>So I used the <a title=\"SSL Observatory\" href=\"https:\/\/www.eff.org\/observatory\" target=\"_blank\">SSL observatory <\/a>software (oddly written, but still cool) to scan for certificates on a bit over 300K systems\u00a0suspected\u00a0of running IPMI (which in turn were had from HD Moore of Rapid 7 &#8211; thanks HD!) and who were on the net. \u00a0In case anyone else was interested in using the SSL Observatory stuff, it&#8217;s pretty simple once you figure it out &#8211; here are my cliff notes (if nothing else it may save me from trying to figure it out again!)<\/p>\n<p>Install with &#8220;git clone https:\/\/git.eff.org\/public\/observatory.git&#8221;.<\/p>\n<p>In the &#8220;scan&#8221; subddir there&#8217;s an important file &#8211;\u00a0FasterCertificateGrabber.py. \u00a0This is cool stuff &#8211; you can simply give it an IP addr:<\/p>\n<div class=\"codecolorer-container bash blackboard\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"bash codecolorer\">$ python .<span class=\"sy0\">\/<\/span>FasterCertificateGrabber.py 192.168.0.23<br \/>\nAttempting to fetch <span class=\"nu0\">1<\/span> certificates<br \/>\nhappy: 192.168.0.23:<span class=\"nu0\">443<\/span> <span class=\"nu0\">4<\/span><br \/>\nGot <span class=\"nu0\">1<\/span> <span class=\"kw3\">complete<\/span> and <span class=\"nu0\">0<\/span> partial certs out of <span class=\"nu0\">1<\/span><\/div><\/div>\n<p>Better still, however, is that it can use a filename stuffed with IP addresses, one per line &#8211; simply use the &#8220;-f&#8221; option. \u00a0On my mac, at least, it choked if the file was too big (like&#8230; say&#8230; 300K addrs ;)) because it ran out of file descriptors, so I simply chopped it up and put it all in a loop. \u00a0250 at a time seemed to work well, so I did something like:<\/p>\n<div class=\"codecolorer-container bash blackboard\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"bash codecolorer\">$ <span class=\"kw2\">split<\/span> <span class=\"re5\">-a<\/span> <span class=\"nu0\">5<\/span> <span class=\"re5\">-l<\/span> <span class=\"nu0\">250<\/span> file-with-lotsa-IP-numbers.txt<br \/>\n$ <span class=\"kw1\">for<\/span> f <span class=\"kw1\">in<\/span> x<span class=\"sy0\">*<\/span> ; <span class=\"kw1\">do<\/span><br \/>\npython .<span class=\"sy0\">\/<\/span>FasterCertificateGrabber.py <span class=\"re5\">-f<\/span> f<br \/>\n<span class=\"kw1\">done<\/span><\/div><\/div>\n<p>And the observer software was off to the races, doing 250 scans in parallel at a time, pretty nifty. It saves the results in raw format in a series of subdirs (e.g. 1.x.x.x\/1.x.x.1\/1.1.1.1.results for the IP address 1.1.1.1.) There&#8217;s another program to slice and dice the results &#8211; the &#8220;openssl_dump.py&#8221; command. It simply takes a subdir and snuffles around for results files, so you can do this (from the main SSL Observatory directory; I redirected the output to a file to avoid drowning in output):<\/p>\n<div class=\"codecolorer-container bash blackboard\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"bash codecolorer\"><span class=\"co4\">$ <\/span>python .<span class=\"sy0\">\/<\/span>openssl_dump.py scan <span class=\"sy0\">&gt;<\/span> ssl_results.txt<\/div><\/div>\n<p>Inside is all the SSL glory; for instance:<\/p>\n<div class=\"codecolorer-container text blackboard\" style=\"overflow:auto;white-space:nowrap;height:800px;\"><div class=\"text codecolorer\">--- SHA1 Fingerprint=C6:49:6C:33:56:9B:7B:18:0A:E2:64:29:D8:6E:8E:56:1E:D2:51:AF<br \/>\nCertificate:<br \/>\nData:<br \/>\nVersion: 1 (0x0)<br \/>\nSerial Number:<br \/>\n55:65:c4:6b:36:2f:66:32:67:34:14:72:f0:7f:52:c0<br \/>\nSignature Algorithm: md5WithRSAEncryption<br \/>\nIssuer: C=US, ST=Texas, L=Houston, O=Hewlett-Packard Company, OU=ISS, CN=ILOCNG137TNRY<br \/>\nValidity<br \/>\nNot Before: Dec 5 20:25:26 2002 GMT<br \/>\nNot After : Dec 5 20:25:26 2022 GMT<br \/>\nSubject: C=US, ST=Texas, L=Houston, O=Hewlett-Packard Company, OU=ISS, CN=ILOCNG137TNRY<br \/>\nSubject Public Key Info:<br \/>\nPublic Key Algorithm: rsaEncryption<br \/>\nRSA Public Key: (1024 bit)<br \/>\nModulus (1024 bit):<br \/>\n00:9b:20:a2:2d:e3:91:89:4b:76:36:73:6d:18:5e:<br \/>\n51:e0:88:88:2d:b4:c2:6d:38:da:57:83:0c:54:86:<br \/>\nda:50:ff:9b:8b:83:0b:b8:1c:d2:6f:61:5d:d0:11:<br \/>\n5d:98:22:9b:69:e0:37:3a:48:ff:ec:f0:44:f7:85:<br \/>\nc0:84:55:42:28:78:4e:20:7f:28:45:58:d2:c4:5e:<br \/>\n82:f1:09:88:8b:ad:e8:7f:ef:8d:20:30:5d:03:7a:<br \/>\n91:3c:0f:05:07:64:dc:2f:d5:1d:81:d7:f1:21:ed:<br \/>\nd4:66:ec:63:7e:3b:11:82:e5:ec:20:39:e3:de:d0:<br \/>\nd4:a2:8c:a2:d2:28:ee:1b:23<br \/>\nExponent: 65537 (0x10001)<br \/>\nSignature Algorithm: md5WithRSAEncryption<br \/>\n97:79:ef:89:3d:6c:71:fa:cb:80:75:6f:8c:0f:84:35:53:a4:<br \/>\n3c:89:76:18:15:ce:8e:8b:de:e9:82:ca:22:40:5d:f7:1f:56:<br \/>\n2f:32:58:4d:e9:e2:bf:55:4d:2b:62:35:c0:e6:6f:5d:a5:08:<br \/>\n40:ce:7a:b8:f2:01:8c:2b:e7:45:35:04:13:db:fb:8a:b9:af:<br \/>\ne9:7f:e0:a8:6c:03:86:ef:9a:35:71:e1:ff:c5:2b:cb:d5:9f:<br \/>\n48:1f:39:be:f6:22:ee:af:00:7f:94:97:e9:16:cf:3e:f5:27:<br \/>\ne8:aa:c8:df:fc:49:03:58:4b:b4:e3:d2:20:a7:33:57:34:2d:<br \/>\n53:72<\/div><\/div>\n<p>And finally some modest analysis\/thoughts on the results.<\/p>\n<p>The CN is an interesting field. Cisco seems to put their OUI in some of theirs (e.g. Issuer: CN=68:ef:bd:d8:d0:a6, OU=RV016, O=Cisco-Linksys, LLC, C=US, L=Irvine, SN=California), maybe part of their install (as far as I can tell most network gear doesn&#8217;t use IPMI, this is probably their server stuff). Interestingly HP (with iLO2, it appears, although the strings seem like ILO3 as well at times) used to put a unique identifier on their cert &#8211; it looks like the serial # (e.g. Issuer: C=US, ST=Texas, L=Houston, O=Hewlett-Packard Company, OU=ISS, CN=ILOSGH039XERW). Other iLO 2 systems have an IP addr on them\u2026 maybe the internal one? Puzzling. Various others use Mac addrs &amp; IP addresses. A few IMM&#8217;s (IBM&#8217;s offering, which I&#8217;m still seeking some sort of ID&#8217;er for.) Looks like old DRACs as well (Issuer: C=US, L=Round Rock, O=Dell Inc., OU=iDRAC Group, CN=iDRACdefault00221981F8E5)<\/p>\n<p>In any case it&#8217;s pretty clear you can recognize BMCs by their SSL cert (if there was any doubt before.) At times it has uniquely identifying information.<\/p>\n<p>My fav perhaps is &#8220;CN=GET A NEW CERTIFICATE!!\/emailAddress=FOR TEST PURPOSES ONLY&#8221;<\/p>\n<p>Of the 312,357 IPs, 112,982 listened on 443.<\/p>\n<p>Key lengths?<\/p>\n<table border=\"1\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td>91231 RSA Public Key<\/td>\n<td>(1024 bit)<\/td>\n<\/tr>\n<tr>\n<td>72429 RSA Public Key<\/td>\n<td>(2048 bit)<\/td>\n<\/tr>\n<tr>\n<td>6970 RSA Public Key<\/td>\n<td>(512 bit)<\/td>\n<\/tr>\n<tr>\n<td>294 RSA Public Key<\/td>\n<td>(1023 bit)<\/td>\n<\/tr>\n<tr>\n<td>208 RSA Public Key<\/td>\n<td>(4096 bit)<\/td>\n<\/tr>\n<tr>\n<td>37 RSA Public Key<\/td>\n<td>(768 bit)<\/td>\n<\/tr>\n<tr>\n<td>25 RSA Public Key<\/td>\n<td>(1000 bit)<\/td>\n<\/tr>\n<tr>\n<td>9 RSA Public Key<\/td>\n<td>(1279 bit)<\/td>\n<\/tr>\n<tr>\n<td>1 RSA Public Key<\/td>\n<td>(8192 bit)<\/td>\n<\/tr>\n<tr>\n<td>1 RSA Public Key<\/td>\n<td>(2049 bit)<\/td>\n<\/tr>\n<tr>\n<td>1 RSA Public Key<\/td>\n<td>(2047 bit)<\/td>\n<\/tr>\n<tr>\n<td>1 RSA Public Key<\/td>\n<td>(1027 bit)<\/td>\n<\/tr>\n<tr>\n<td>1 RSA Public Key<\/td>\n<td>(1022 bit)<\/td>\n<\/tr>\n<tr>\n<td>1 RSA Public Key<\/td>\n<td>(1017 bit)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>3217 used DSA Public Keys.<\/p>\n<p>So onto the Issuers &#8211; Linda and Doris appear to rule the &#8216;net! (1st &amp; 3rd place.) Gotta like the &#8220;do not trust&#8221; notes that HP and some others put in. I was actually moderately surprised to not see any large company names &#8211; I guess no one really big puts their own stamp on things, at least not on the net, although this one was fun:<\/p>\n<p>Issuer: C=&#8211;, ST=SomeState, L=SomeCity, O=SomeOrganization, OU=SomeOrganizationalUnit, CN=localhost.localdomain\/emailAddress=root@localhost.localdomain<\/p>\n<p>An 8K key! \u00a0They&#8217;re safe for now :)<\/p>\n<p>Presumably some BMC manufacturer\u2026. spot checked a few to see if I could discern any pattern, but they looked rather random.<\/p>\n<p>The tail drops quickly. I tried to strip out the generics (verisign, thawte, etc.) Attaching the dup&#8217;d raw results &#8211; only a hair over 500 that had dups (e.g. &gt; 1)<\/p>\n<table border=\"1\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td>16092 Issuer<\/td>\n<td>C=US, ST=California, L=San Jose, O=Super Micro Computer Inc., OU=Software Department, CN=IPMI\/emailAddress=linda.wu@supermicro.com<\/td>\n<\/tr>\n<tr>\n<td>9967 Issuer<\/td>\n<td>C=US, ST=TX, L=Houston, O=Hewlett-Packard Company, OU=ISS, CN=iLO3 Default Issuer (Do not trust)<\/td>\n<\/tr>\n<tr>\n<td>8763 Issuer<\/td>\n<td>C=TW, ST=Taiwan, L=Taipei, O=Aten, OU=SW1, CN=doris\/emailAddress=doris@aten.com.tw<\/td>\n<\/tr>\n<tr>\n<td>7414 Issuer<\/td>\n<td>C=US, ST=California, L=San Jose, O=Super Micro Computer, OU=Software, CN=Linda\/emailAddress=linda.wu@supermicro.com<\/td>\n<\/tr>\n<tr>\n<td>6920 Issuer<\/td>\n<td>C=US, ST=Georgia, L=Norcross, O=American Megatrends Inc., OU=Service Processors, CN=AMI\/emailAddress=support@ami.com<\/td>\n<\/tr>\n<tr>\n<td>6489 Issuer<\/td>\n<td>C=US, ST=Texas, L=Round Rock, O=Dell Inc., OU=Remote Access Group, CN=iDRAC6 default certificate<\/td>\n<\/tr>\n<tr>\n<td>4774 Subject<\/td>\n<td>C=US, ST=TX, L=Houston, O=Hewlett-Packard Company, OU=ISS, CN=iLO3 Default Issuer (Do not trust)<\/td>\n<\/tr>\n<tr>\n<td>4531 Issuer<\/td>\n<td>C=DE, ST=Saxony, L=Zwickau, O=Peppercon AG, OU=Security Department, CN=Peppercon CA\/emailAddress=ca@peppercon.de<\/td>\n<\/tr>\n<tr>\n<td>3308 Issuer<\/td>\n<td>C=US, ST=TX, L=Houston, O=Hewlett-Packard Company, OU=ISS, CN=iLO Default Issuer (Do not trust)<\/td>\n<\/tr>\n<tr>\n<td>2893 Issuer<\/td>\n<td>C=US, ST=Georgia, L=Atlanta, O=American Megatrends Inc, OU=Service Processors, CN=AMI\/emailAddress=support@ami.com<\/td>\n<\/tr>\n<tr>\n<td>&#8230;<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Dups in this case are strictly the issuer, it doesn&#8217;t say anything about the cert itself.<\/p>\n<p>I stripped out the #&#8217;s 2-4, actually &#8211; they were all generic ones:<\/p>\n<table border=\"1\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td>14396 Issuer<\/td>\n<td>C=US, O=GeoTrust, Inc., CN=GeoTrust SSL CA<\/td>\n<\/tr>\n<tr>\n<td>12069 Issuer<\/td>\n<td>C=US, O=GeoTrust Inc., CN=GeoTrust Global CA<\/td>\n<\/tr>\n<tr>\n<td>12018 Issuer<\/td>\n<td>C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. &#8211; For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority &#8211; G5<\/td>\n<\/tr>\n<tr>\n<td>12007 Issuer<\/td>\n<td>C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https:\/\/www.verisign.com\/rpa (c)10, CN=VeriSign Class 3 Secure Server CA &#8211; G3<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>There may be other fields that could further highlight manufacturers, this is just on first glance. Certain getting the ilo and drac version #&#8217;s is easy enough.<\/p>\n<p>I also took the keys and MD5&#8217;d them (just seemed easier to read than the rather long keys), sorted, uniq&#8217;d, etc. \u00a0These are different &#8211; matches here mean that systems have exactly the same SSL server key:<\/p>\n<table border=\"1\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td>16092<\/td>\n<td>fcda94c2b11147d1379d64673d6c3cdb<\/td>\n<\/tr>\n<tr>\n<td>8763<\/td>\n<td>260ec1312dc112732b11f4dca168bb70<\/td>\n<\/tr>\n<tr>\n<td>7414<\/td>\n<td>08528201362e9c656d5e729bb4176949<\/td>\n<\/tr>\n<tr>\n<td>6920<\/td>\n<td>6480ade4f0034df3038df8a69c3c5bf4<\/td>\n<\/tr>\n<tr>\n<td>4531<\/td>\n<td>968f7ea4fcc0934f75f372cf9fc34948<\/td>\n<\/tr>\n<tr>\n<td>4487<\/td>\n<td>af1e73d145ee2fb34fecb6c8af171b46<\/td>\n<\/tr>\n<tr>\n<td>3577<\/td>\n<td>3259a6cbfe0f7d4b7f5b6219950ae56b<\/td>\n<\/tr>\n<tr>\n<td>2347<\/td>\n<td>cc03d2839c5c289a4caba4d9b2043637<\/td>\n<\/tr>\n<tr>\n<td>1870<\/td>\n<td>0a023e8a69e44ecec8b2e46d2c687336<\/td>\n<\/tr>\n<tr>\n<td>1836<\/td>\n<td>75007fc42481ac5cf128683b82bad83d<\/td>\n<\/tr>\n<tr>\n<td>1609<\/td>\n<td>0fd1211c9aeea1891b4cc4ee61628cec<\/td>\n<\/tr>\n<tr>\n<td>1527<\/td>\n<td>43fa42b918965468e96d370c8c012960<\/td>\n<\/tr>\n<tr>\n<td>1454<\/td>\n<td>3367cbd9ff477dbb5b816776748d3161<\/td>\n<\/tr>\n<tr>\n<td>1284<\/td>\n<td>b06fca8011739b1d027513457beb8382<\/td>\n<\/tr>\n<tr>\n<td>1275<\/td>\n<td>fb1021b41666f966c25586fe332622f2<\/td>\n<\/tr>\n<tr>\n<td>1076<\/td>\n<td>1b770868b11d5e48dd604fae5810fb55<\/td>\n<\/tr>\n<tr>\n<td>&#8230;<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-size: 13px;\">Almost the same as above (and some are identical) &#8211; but collects some more that are scattered due to unique things in the Issuer line. \u00a0A whole lotta people just don&#8217;t change or manage their certs. \u00a0Not that that is a surprise.<\/span><\/p>\n<p><span style=\"font-size: 13px;\">Here&#8217;s another look, based solely on the O= line in the Issuer:<\/span><\/p>\n<table border=\"1\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td>48130<\/td>\n<td>VeriSign<\/td>\n<\/tr>\n<tr>\n<td>23594<\/td>\n<td>Hewlett-Packard Company<\/td>\n<\/tr>\n<tr>\n<td>16093<\/td>\n<td>Super Micro Computer Inc.<\/td>\n<\/tr>\n<tr>\n<td>14684<\/td>\n<td>GeoTrust<\/td>\n<\/tr>\n<tr>\n<td>14396<\/td>\n<td>CA Issuers &#8211; URI:http:\/\/gtssl-aia.geotrust.com\/gtssl.crt<\/td>\n<\/tr>\n<tr>\n<td>12163<\/td>\n<td>GeoTrust Inc.<\/td>\n<\/tr>\n<tr>\n<td>12007<\/td>\n<td>CA Issuers &#8211; URI:http:\/\/SVRSecure-G3-aia.verisign.com\/SVRSecureG3.cer<\/td>\n<\/tr>\n<tr>\n<td>10864<\/td>\n<td>Dell Inc.<\/td>\n<\/tr>\n<tr>\n<td>8763<\/td>\n<td>Aten<\/td>\n<\/tr>\n<tr>\n<td>7414<\/td>\n<td>Super Micro Computer<\/td>\n<\/tr>\n<tr>\n<td>6920<\/td>\n<td>American Megatrends Inc.<\/td>\n<\/tr>\n<tr>\n<td>6567<\/td>\n<td>Equifax<\/td>\n<\/tr>\n<tr>\n<td>4531<\/td>\n<td>Peppercon AG<\/td>\n<\/tr>\n<tr>\n<td>2893<\/td>\n<td>American Megatrends Inc<\/td>\n<\/tr>\n<tr>\n<td>1836<\/td>\n<td>LLC [note &#8211; this is actually pilotchip.com\/emailAddress=pilot@serverengines.com, from another field]<\/td>\n<\/tr>\n<tr>\n<td>1687<\/td>\n<td>Fujitsu Technology Solutions GmbH<\/td>\n<\/tr>\n<tr>\n<td>1206<\/td>\n<td>Sun Microsystems<\/td>\n<\/tr>\n<tr>\n<td>&#8230;<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>A hell of a lot of HPs out there. Wonder if VS is a default for some BMC vendors?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some misc ramblin&#8217; notes\/data on IPMI &amp; SSL Certificates. So I used the SSL observatory software (oddly written, but still cool) to scan for certificates on a bit over 300K systems\u00a0suspected\u00a0of running IPMI (which in turn were had from HD Moore of Rapid 7 &#8211; thanks HD!) and who were on the net. \u00a0In case [&hellip;]<\/p>\n","protected":false},"author":44,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[154,4,6,1,87],"tags":[129,130,225],"class_list":["post-848","post","type-post","status-publish","format-standard","hentry","category-ipmi-2","category-security","category-tech","category-uncategorized","category-web","tag-certs","tag-ssl","tag-vendors"],"_links":{"self":[{"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/posts\/848","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/users\/44"}],"replies":[{"embeddable":true,"href":"https:\/\/trouble.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=848"}],"version-history":[{"count":21,"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/posts\/848\/revisions"}],"predecessor-version":[{"id":876,"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/posts\/848\/revisions\/876"}],"wp:attachment":[{"href":"https:\/\/trouble.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trouble.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trouble.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}