<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
There’s an internal defect on this that cites CSCvb33351 as the source of the fix for this problem, fixed in 12.0.
<div class=""><br class="">
</div>
<div class="">Interestingly enough for me in Firefox (on 12.0) I don’t get ccmadmin passwords auto-populated in ssh fields, but I do get saved ssh username/passwords auto-populated in the ccmadmin login fields. </div>
<div class=""><br class="">
</div>
<div class="">Thanks for raising this issue everyone.</div>
<div class=""><br class="">
<div class="">-Ryan </div>
<div><br class="">
<div class="">On Mar 15, 2018, at 7:54 AM, Anthony Holloway <<a href="mailto:avholloway+cisco-voip@gmail.com" class="">avholloway+cisco-voip@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" class="">I didn't actually check the file contents before replying.  What I meant to say was, the ConfigFileCacheList.txt is the file I was wondering if existed.  Since it does, then one could write a scraping tool to search for and confirm credentials
 in one fell swoop.
<div class=""><br class="">
</div>
<div class="">Thanks for the information, Stephen.</div>
<div class=""><br class="">
</div>
<div class="">I should also mention, some members of this group are replying to me directly, off the list, and the results are confirming that this is indeed an issue worth Cisco's time and attention.  One member of the list confirmed that passwords stored
 with 3rd party password tools, such as LastPass, protect you from this behavior.</div>
<div class=""><br class="">
</div>
<div class="">Like I said earlier, it's the browser/user causing the autocomplete to happen, but Cisco's attempt to have these fields NOT auto filled, is faulty.</div>
<div class=""><br class="">
</div>
<div class="">You can read more below on why that might be.</div>
<div class=""><br class="">
</div>
<div class=""><a href="https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#The_autocomplete_attribute_and_login_fields" class="">https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#The_autocomplete_attribute_and_login_fields</a></div>
<div class=""><br class="">
</div>
<div class=""><span id="cid:1622a24c228cb971f162"><image.png></span><br class="">
</div>
<div class="">
<div class=""><br class="">
<div class="gmail_quote">
<div dir="ltr" class="">On Thu, Mar 15, 2018 at 7:46 AM Anthony Holloway <<a href="mailto:avholloway%2Bcisco-voip@gmail.com" class="">avholloway+cisco-voip@gmail.com</a>> wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="auto" class="">I don't know about any of those additional files, and the FileList one was something I was looking for.
<div dir="auto" class=""><br class="">
</div>
<div dir="auto" class="">Today's goal will be to write a Python script to: grab that file, then grab all phone configs, then auth against CUCM, and finally, store the credentials that worked.</div>
<div dir="auto" class=""><br class="">
</div>
<div dir="auto" class="">It might even be worth looking at the credentials which don't work, because it might tell you something about password habits, allowing you to predict future passwords. Eg Summer2010</div>
</div>
<div class="gmail_extra"><br class="">
<div class="gmail_quote">On Mar 15, 2018 2:34 AM, "Stephen Welsh" <<a href="mailto:stephen.welsh@unifiedfx.com" target="_blank" class="">stephen.welsh@unifiedfx.com</a>> wrote:<br type="attribution" class="">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="auto" class="">While we are on the subject here are some other non encrypted TFTP server items:
<div class=""><br class="">
</div>
<div class="">
<ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px" class="">
<li style="box-sizing:border-box" class=""><span style="background-color:rgba(255,255,255,0)" class="">ConfigFileCacheList.txt</span></li><li style="box-sizing:border-box;margin-top:0.25em" class=""><span style="background-color:rgba(255,255,255,0)" class="">FileList.txt</span></li><li style="box-sizing:border-box;margin-top:0.25em" class=""><span style="background-color:rgba(255,255,255,0)" class="">BinFileCacheList.txt</span></li><li style="box-sizing:border-box;margin-top:0.25em" class=""><span style="background-color:rgba(255,255,255,0)" class="">PerfMon.txt</span></li><li style="box-sizing:border-box;margin-top:0.25em" class=""><span style="background-color:rgba(255,255,255,0)" class="">ParamList.txt</span></li><li style="box-sizing:border-box;margin-top:0.25em" class=""><span style="background-color:rgba(255,255,255,0)" class="">lddefault.cfg</span></li></ul>
<div class="">So you could use the following to get a list of all the device MAC addresses anonymously from the TFTP server:</div>
<div class=""><span style="background-color:rgba(255,255,255,0)" class=""><br class="">
</span></div>
<div class=""><span style="background-color:rgba(255,255,255,0)" class=""><a href="http://tftpserver:6970/FileList.txt" target="_blank" class="">http://TFTPServer:6970/FileList.txt</a></span></div>
<div class=""><br class="">
</div>
<div class="">So with the scenario you describe and just the TFTP Server IP Address you could scan all the device configs on the cluster to see if even just one of them has the admin credentials saved accidentally on the SSH User/Password field.</div>
<div class=""><br class="">
</div>
<div class="">I suspect this may apply to most clusters....</div>
<div class=""><br class="">
</div>
<div class="">Kind Regards</div>
<div class=""><br class="">
</div>
<div class="">Stephen Welsh</div>
<div class="">CTO</div>
<div class="">UnifiedFX</div>
<div class=""><br class="">
On 15 Mar 2018, at 07:25, Stephen Welsh <<a href="mailto:stephen.welsh@unifiedfx.com" target="_blank" class="">stephen.welsh@unifiedfx.com</a>> wrote:<br class="">
<br class="">
</div>
<blockquote type="cite" class="">
<div class="">Hi Anthony,
<div class=""><br class="">
</div>
<div class="">Yes, the SSH credentials saved on the device page are available in clear text in the phone XML config, it’s not just your environment unfortunately. Also I believe the same thing applies for the Telepresence endpoints (anything running CE including
 the DX) for the web page admin credentials that are saved in the vendor config section.</div>
<div class=""><br class="">
</div>
<div class="">We noticed this a little while ago but given most people did not populate it did not consider as a serious issue, however the auto-population of credentials is not something we considered. So yes this does look like a serious problem when you
 combine those two together.</div>
<div class=""><br class="">
</div>
<div class="">Kind Regards</div>
<div class=""><br class="">
</div>
<div class="">Stephen Welsh</div>
<div class="">CTO</div>
<div class="">UnifiedFX<br class="">
<div class=""><br class="">
On 15 Mar 2018, at 01:50, Anthony Holloway <<a href="mailto:avholloway+cisco-voip@gmail.com" target="_blank" class="">avholloway+cisco-voip@gmail.com</a>> wrote:<br class="">
<br class="">
</div>
<blockquote type="cite" class="">
<div class="">
<div dir="auto" class=""><span style="font-family:sans-serif;font-size:12.8px" class="">I'm working on something, and was wondering if you could check something for me, so I can better understand why and how often this is happening.</span>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">So, I was looking at phone config file today, and I noticed the ccmadmin username and password was in the XML, and in plain text nonetheless.</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">I found out that the browser, when told to remember your credentials, will treat the SSH username/password fields as login fields whenever you modify a phone, and you might be unknowingly
 save your credentials for clear text view by unauthenticated users.</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">Is anyone already aware of this?</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">You could you run the following command on your clusters:</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><font face="monospace" class=""><b class="">run sql select name, sshuserid from device where sshuserid is not null and sshuserid <> ""</b></font></div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">Then in the output, if there are any hits, look at the config XML file for the phone and see if the passwords are there.</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">E.g., </div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">output might be:</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><font face="monospace" class=""><b class=""><font color="#cc0000" class="">SEP6899CD84B710</font> aholloway</b></font></div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">So then you would navigate your browser to:</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><font face="monospace" class=""><b class="">http://<tftpserver>:6970/<font color="#cc0000" class="">SEP6899CD84B710</font>.cnf.xml</b></font></div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">You then might have to view the HTML source of the page, because the browser might mess up the output.</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">You're then looking for the following two fields, your results will vary:</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><font face="monospace" class=""><b class=""><sshUserId>aholloway</sshUserId></b></font></div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><font face="monospace" class=""><b class=""><sshPassword>MyP@ssw0rd</sshPassword></b></font></div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">Then, since we now know it's happening, get list of how many different usernames you have with this command:</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><font face="monospace" class=""><b class="">run sql select distinct sshuserid from device where sshuserid is not null and sshuserid <> "" order by sshuserid</b></font></div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">This could also be happening with Energy Wise settings, albeit not on the same web pages.</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">I'm curious about two things:</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">1) Is it even happening outside of my limited testing scenarios?</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">2) How many different usernames and passwords were there?</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">If the answers are yes, and 1 or more, then this is an issue Cisco should address.</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">The reason it's happening is because the way in which browsers identify login forms, is different from the way in which web developers understand it to work.  Cisco uses the element attribute
 on these fields "autocomplete = false" and unfortunately, most browser ignore that directive.</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class=""><br class="">
</div>
<div style="font-family:sans-serif;font-size:12.8px" dir="auto" class="">I have noticed that this does not happen, if you have more than 1 saved password for the same site, rather it will only happen if you use the same login for the entire site.  Our highest
 chance of seeing this happen are for operations teams where they login with their own accounts, and do not use DRS or OS Admin.</div>
</div>
</div>
</blockquote>
<blockquote type="cite" class="">
<div class=""><span class="">_______________________________________________</span><br class="">
<span class="">cisco-voip mailing list</span><br class="">
<span class=""><a href="mailto:cisco-voip@puck.nether.net" target="_blank" class="">cisco-voip@puck.nether.net</a></span><br class="">
<span class=""><a href="https://puck.nether.net/mailman/listinfo/cisco-voip" target="_blank" class="">https://puck.nether.net/mailman/listinfo/cisco-voip</a></span><br class="">
</div>
</blockquote>
</div>
</div>
</blockquote>
<blockquote type="cite" class="">
<div class=""><span class="">_______________________________________________</span><br class="">
<span class="">cisco-voip mailing list</span><br class="">
<span class=""><a href="mailto:cisco-voip@puck.nether.net" target="_blank" class="">cisco-voip@puck.nether.net</a></span><br class="">
<span class=""><a href="https://puck.nether.net/mailman/listinfo/cisco-voip" target="_blank" class="">https://puck.nether.net/mailman/listinfo/cisco-voip</a></span><br class="">
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
_______________________________________________<br class="">
cisco-voip mailing list<br class="">
<a href="mailto:cisco-voip@puck.nether.net" class="">cisco-voip@puck.nether.net</a><br class="">
https://puck.nether.net/mailman/listinfo/cisco-voip<br class="">
</div>
</div>
<br class="">
</div>
</body>
</html>