One of the emails that came through on our handlers list pointed out some interesting behavior. When querying a domain (a sample in this case is shineecs.com), the registrar at the end of the response would include an HTML script tag. See output below:
$ whois shineecs.com
Whois Server Version 2.0
Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.
Domain Name: SHINEECS.COM
Registrar: XIN NET TECHNOLOGY CORPORATION
Whois Server: whois.paycenter.com.cn
Referral URL: http://www.xinnet.com
Name Server: NS17.XINCACHE.COM
Name Server: NS18.XINCACHE.COM
Status: ok
Updated Date: 30-jul-2012
Creation Date: 07-apr-2009
Expiration Date: 07-apr-2014
Last update of whois database: Mon, 11 Feb 2013 16:55:40 UTC
[SNIPPED LAWYERESE]
Domain Name : shineecs.com
PunnyCode : shineecs.com
Creation Date : 2009-04-07 14:26:58
Updated Date : 2011-06-27 16:33:59
Expiration Date : 2014-04-07 14:24:29
[SNIPPED]
Billing Contact:
Name : shineecs
Organization : shineecs
Address : XXXXX
City : hangzhoushi
Province/State : zhejiangsheng
Country : china
Postal Code : XXXX
Phone Number :
Fax : XXX
Email :
[email protected]
script src=http://img2.xinnet.com/d/js/acmsd/thea178.js/script
When manually fetching that script, all that was retrieved is: document.write(), so nothing is modified at this instant in time. The domain in question resolves to an IP that has been implicated in a small number of instances of malware connected to some worm activity, but nothing deeply out of the ordinary. The same is true for the IP connected to the registrar. So why is this happening? The registrar is doing this as a lazy way to do some analytics they find useful, so not malicious in this case.
What is fun, however, is that when I run a WHOIS via the various web tools, most all of them process this HTML tag as HTML instead of text, which means this would be a successful XSS vector if you could maliciously modify a WHOIS record.
In this case, the registrar adds that script tag, not the registrant. That said, if a registrar doesnt properly validate the information put in those fields, evil may ensue (the registrar I use does). Or worse, if the registrar themselves are a bad player, they can do whatever they want. In this case, an innocous issue, but another episode in the ongoing saga of web applications. If you get input from a third-party source, make sure to scrub it to ensure that bad things dont happen like XSS.
--
John Bambenek
bambenek \at\ gmail /dot/ com
Bambenek Consulting
(c) SANS Internet Storm Center. http://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.