IIS, Compromised GoDaddy Servers, and Cyber Monday Spam
While doing an analysis of one black-hat SEO doorway on a hacked site, I noticed that it linked to many similar doorways on other websites, and all those websites were on IIS servers. When I see these patterns, I try to dig deeper and figure out what else those websites have in common. This time I revealed quite a few GoDaddy Windows servers have been pwned by “replica spam” hackers.
Let’s Dig Into Some Numbers
I collected 1,782 unique compromised domains that hackers use in this campaign. This list is just a tip of an iceberg and I’ll show why a bit later, so read on.
305 IP Addresses.
Those websites are scattered across 305 unique IP addresses (actually 304, if we ignore four domains whose addresses I couldn’t resolve). This means roughly 6 websites per IP, however they are not evenly distributed and while many IPs only have one compromised site, some of the servers have hundreds of them.
- GoDaddy: 95 hosts (31%) and 1,095 websites ( 61%. )
- Brinkster: 50 hosts (16%) and 258 websites (14%)
- Network Solutions: 27 hosts (9%) and 77 websites (4%)
- Versaweb LLC: 5 hosts (1.6%) and 88 websites (5%)
As you can see, 84% of all websites belong to 4 networks.
Let’s look closer at servers on these networks, but before we do it I’ll show how I find compromised websites.
Cyber Monday Spam
The spam campaign I’m investigating is promoting online stores that sell cheap “replicas” of popular luxury brands like Beats by Dre, Michael Kors, Lululemon, Uggs, Juicy Couture, Moncler, Ray Ban, etc. Most of the doorways are currently optimized for Black Friday and Cyber Monday deals. The typical anchor text they use in their links is something like “michael kors cyber monday” or “uggs black friday“.
These spammy links point to the homepage of compromised websites, which typically have a block of hidden links at the bottom of HTML code:
<div style="position:absolute;filter:alpha(opacity=0);opacity:0.001;z-index:10;"> ... 30-400 spammy links here ... </div>
If the website is vulnerable enough, hackers will install a script that generates completely new spammy pages specifically for search engines and return normal pages for human visitors — cloaking. The “human” versions of the pages have a small script at the very top of the HTML (usually before the tag) that redirects web searchers to spammy sites. It either something like this:
<s c r i p t>
if(s.indexOf("google")>0 || s.indexOf("bing")>0 || s.indexOf("aol")>0 || s.indexOf("yahoo")>0)
self.location='hxxp://www .jackets pretty .com'; //just one of many domains they use
</s c r i p t>
or a similar script, loaded from the spammers’ own server:
At this point they use the following script URLs:
hxxp://bats . solorule . com/d/bats.js hxxp://bats . solorule . com/c/bats.js hxxp://cancher . iamsanver . com/a/cancher.js hxxp://cancher . letgopub . com/c/cancher.js hxxp://cancher . sanonsport . com/d/cancher.js hxxp://luover . unbangs . com/c/luover.js hxxp://meika . ruvipshop . com/a/meika.js hxxp://meika . sportruns . com/d/meika.js hxxp://meika . ruvipshop . com/a/meika.js hxxp://meika . ukingfans . com/c/meika.js hxxp://nofie . godalice . com/d/cagode.js hxxp://nofie . godalice . com/kspe.js hxxp://nofie . rockenice . com/a/cagode.js hxxp://nofie . rockenice . com/a/nofie.js hxxp://nofie . talkmes . com/c/nofie.js hxxp://ungogo . godleders . com/a/ungogo.js hxxp://ungogo . leftgod . com/c/ungogo.js hxxp://ungogo . leftgod . com/c/ungogo.js hxxp://ungogo . nightleder . com/d/ungogo.js hxxp://js . xufengonline . com/js/zong.js hxxp://www . monclerslocker . com/js/style.js
Most of them are on the 22.214.171.124 IP (Take 2 Hosting Inc).
Now that we know how to detect the infection, let’s just test random websites on some of the IPs that have many infected websites (based on my doorway analysis).
For example, let’s take 126.96.36.199 (where I found 25 doorways) and use the Bing’s “ip:” search operator along with the “cyber monday” keyword to find websites on that server: http://www.bing.com/search?q=ip%3A188.8.131.52+cyber+monday. Now you can scan websites for results that point to home pages (/ or index.html). More than 70% of the websites I checked are still infected (the rest either won’t load or have been cleaned already).
Bing Cyber Monday Results
This simple Bing search revealed hundreds of infected websites on that server. I observed the same results for 49 out of 95 GoDaddy servers from my list.
Those 49 servers are shared Windows servers with thousands of sites. For example, Domaintools.com says 2,050 sites use the 184.108.40.206 address. The websites I checked belong to different users so it’s not just a matter of individual compromised accounts. And the websites are quite heterogeneous – ASP, PHP, pure HTML, etc. so it doesn’t look like a common web application vulnerability either. It looks like those servers have been pwned by hackers who now have access to most user accounts there. Given that we have almost 50 known such Windows servers on the GoDaddy network, this may mean some infrastructure level problems or at least common Windows server security configuration issues.
The rest of the servers typically have one or very few websites (I suppose either dedicated servers or IPs) so they don’t affect this hypothesis.
Some of the Brinkster and Versaweb servers also have this issue:
It’s still not clear why all websites on those servers have not been infected (or have they been cleaned already?). Maybe hackers infected them semi-manually, so just a few hundred infected websites was good enough for them?
When checking random websites on the compromised servers I noticed that some of them used very old versions of CMS’s (e.g. 4 year old WordPress). Maybe such websites were the penetration points that helped hackers compromise the whole servers later?
I also know that hackers install PHP wrapper scripts on pure HTML sites. For example, it’s typical to see a default.php working instead of index.html when you request a homepage. This wrapper script explains why you see the injected script at the very top of the HTML code and how hackers manage to implement “cloaking” on pure HTML sites.
At this point, I can only see the following things in common on the servers used in this spam campaign:
- IIS (usually an old version)
- PHP support
I wonder if this combination has a known security hole that allows to pwn server?
This time I’d like to reach out to webmasters who host their websites on shared Windows servers. Especially to GoDaddy clients.
Please Check Your Websites ASAP!
Then check search results for your website on Google (the “site:” operator), where you should look for unexpected keywords in your page titles and descriptions. Make sure to check “cached” copies that Google store for your site. Then add the following keywords to your “site:” search that may help your spot more web spam:
- site:yourdomain.com cheap
- site:yourdomain.com buy online
- site:yourdomain.com “cyber monday”
- site:yourdomain.com “black friday”
- site:yourdomain.com outlet
Then you might want to figure out if your server looks compromised. First, identify your website’s IP address. You can use commands like ping or host, you can enter your domain name on a website like whois.domaintools.com, or you can at least ask your hosting provider. With your IP, you can then use the Bing‘s “ip:” search along with some spammy keywords.
Here are a few searches that I suggest you can try:
ip:ip address cyber monday
ip:ip address black friday
ip:ip address ”beat by dre cheap”
ip:ip address ”Cheap Louis Vuitton”
ip:ip address viagra online
ip:ip address payday loans
ip:ip address “order cialis online”
If you see many results from different websites, you might want to ask your hosting provider what’s going on there, and if the server is really secure.
We are currently contacting hosting providers so they can address this issue…