Monthly Archive for March, 2009

Drive-by infections – Die Spitze eines Eisberges?

Gestern stoss ich auf eine Schweizer Webseite (.ch), welche über eine Lücke im Adobe Reader das System des Besuchers mit einem Trojaner infiziert (eine sogenannte Drive-By Infektion). So weit eigentlich nichts aussergewöhnliches. Jedoch musste ich mit erschrecken feststellen, dass die Webseite bereits seit Dezember 2008 mit dem Drive-by infiziert ist. Um so schlimmer, dass es sich bei der verteilten Malware um den technisch ausgeklügelten Banken-Trojaner Mebroot (aka Sinowal) handelt.

Schrauben wir die Zeit einmal zurück: Im Oktober 2008 stiess Aladdin Knowledge Systems auf eine Liste mit über 200’000 gestohlenen Zugangsdaten zu FTP Accounts. Dabei handelt es sich um FTP Accounts, welche vom Banken-Trojaner Mebroot benutzt werden, um Drive-By Infektionen auf Webseiten zu platzieren. Unter den gestohlenen FTP Zugangsdaten waren auch rund 3’000 FTP Accounts aus der Schweiz. Die zuständigen Schweizer Provider wurden damals über die gestohlenen Daten informiert.

Zurück zu unserer gehackten Webseite: Wie bereits erwähnt, verteilt die Webseite bereits seit Dezember 2008 Malware – und sie ist in der Liste von Aladdin aufgeführt. Sprich: Obwohl der Provider im Dezember 2008 informiert wurden, verteilt die Webseite knapp 4 Monate danach immer noch Malware!

Leider ist dies kein Einzelfall. Es gibt einige duzend Webseiten, welche immer noch infiziert sind. Die Provider scheinen solche abuse Meldungen wohl nicht wirklich ernst zunehmen.

Wie bereits erwähnt, enthält die Liste vom Oktober 2008 nur Zugangsdaten zu FTP Accounts, welche vom Banken-Trojaner Mebroot benutzt werden. Neben Mebroot gibt es jedoch noch haufenweise anderer Trojaner wie z.B. Emold/Autorun oder Zbot/ZeuS, welche sich ebenfalls per Drive-By Infektion weiterverbreiten oder auf infizierten Systemen im Hintergrund Login Informationen zu FTP Accounts mitschneiden.

Was jetzt natürlich interessant wäre, wäre die Anzahl infizierter Webseiten in der Schweiz zu nennen. Leider gibt es keine offizielle Zahl. Eine Schätzung gestaltet sich äusserst schwierig. Von der einen oder anderen Seite habe ich jedoch bereits ein paar Zahlen gehört. Die Anzahl gekaperter FTP Accounts würde ich deshalb Vorsichtig auf 12’000 schätzen. Dies bedeutet jedoch nicht, dass auch 12’000 Webseiten infiziert sind. Zum Beispiel von Mebroot weiss man, dass dieser die Zahl der infizierten Webseiten in der Schweiz relativ konstant bei etwa ~300 hält, obwohl er ja eine Liste von über 3’000 gestohlenen FTP Accounts in der Schweiz besitzt. Die Zahl der infizierten Webseiten behält der Trojaner jedoch wahrscheinlich nur solange konstant, wie die Anzahl infizierter Computer in der Schweiz nicht unter einen bestimmten Wert fällt. Ist dies der Fall (wie z.B. im Dezember 08, als die Zahl der Infizierungen unter diesen Wert viel), stockt Mebroot die Anzahl der Webseiten auf, welche den Trojaner verbreiten (sprich er nutzt seine Liste der gestohlenen FTP Accounts, um die Zahl der infizierten Webseiten in der Schweiz zu erhöhen). Steig die Anzahl infizierter Computer wieder über diesen Schwellwert, desinfiziert der Trojaner einzelne Webseiten wieder bist sich die Zahl der infizierten Webseiten wieder bei ~300 ein pendelt.

Dieses vorgehen von Mebroot ist sehr interessant. Er besitzt zwar eine riesige Liste an gekaperten FTP Accounts, nutzt jedoch nur wenige davon wirklich aus, um sich weiter zu verbreiten. Nun stellt sich die berechtigte Frage wieso? Die Antwort ist relativ plausibel: Mebroot will nicht all zu sehr auffallen. Ein gutes Beispiel dafür, was passieren kann, wenn eine Malware zu grosses Aufsehen erregt, ist der Storm-Worm. Nachdem der Sturm-Wurm Hundertausende Computer infiziert hatte, versetzte Microsoft dem Trojaner am 11. September 2007 den Todesstoss, als Microsoft’s Malicious Software Removal Tool (MSRT) damit begann, infizierte System zu bereinigen. Mit höchster Wahrscheinlichkeit versucht Mebroot dies gezielt zu vermeiden.

Ein weiterer Grund sind wohl die Money-Mules: Was nützen den Kriminellen zehntausende gestohlene Bank-Daten, wenn sie nicht genügend Money-Mules haben, welche das gestohlene Geld entgegen nehmen und den Kriminellen weiter reichen?

Fazit

Ich kann mir gut vorstellen, dass der Trojaner Mebroot eine Menge Profit abwerfen würde. Da es den Kriminellen jedoch zunehmend schwerer fällt, Money-Mules zu finden, liegt dort ganz klar der Flaschenhals. Zudem darf man nicht vergessen, dass die Kriminellen jeden Money-Mule nur einmal benützten können. Danach müssen sich die Kriminellen auf die Suche nach neuen Money-Mules begeben.

Beim Thema Drive-By Infektionen sieht es in der Schweiz nicht anders aus, als in anderen Ländern. Auch hier sind Drive-By Infektionen ein ernst zu nehmendes Thema. Laut Sophos wird Weltweit alle fünf Sekunden eine Webseite infiziert (Quelle: Sophos Security Threat Report: Alle fünf Sekunden eine infizierte Website). Wer sich deshalb vor Drive-By Infektionen schützen möchte, sollte stets die auf dem Computer installierte Software wie z.B. Adobe Reader, Adobe Flash Player, Java RunTime, Firefox/Internet Explorer aber auch das Betriebssystem selbst auf dem neusten Stand halten. Unterstützung dabei bietet Secunia’s Personal Software Inspector (PSI), welcher die auf dem Heimcomputer installierten Applikationen regelmässig auf die Aktualität prüft (download).

Für Unternehmen gehört nebst dem regelmässigen Software patching auch ein geeigneter Web Proxy / Web Gateway zum Kern der heutigen Sicherheits-Infrastruktur, um Clients vor Drive-By Infektionen zu schützen.

Webmastern empfehle ich zudem, ihre Webseite mit dem MELANI Webseiten-Checktool auf Schadcode (sprich Drive-By Infektionen) überprüfen zu lassen (link).

Insight a ZeuS C&C server

During my work on the ZeuS Tracker I often see insecure ZeuS installations that allow easy access to the ZeuS MySQL database or the ZeuS Admin Panel of a Command&Control server; In some cases the MySQL database appear for a short time on unprotected, public webservers without even a password protection, usually in order to transfer data between different criminal groups. Some time ago I had the occasion to copy such an unprotected database and mirror the ZeuS admin panel software on my own test system. This allowed me to study the Admin interface and document it in this post, so I can reveal you details about the ZeuS internals.

First of all I give you some information and statistical data about the ZeuS C&C server concerned:

Let’s say that the ZeuS C&C server is hosted on veryevilzeusdomain.tld. The botnet has a size of 3’985 infected clients (total installations). The server is currently offline and was hosted on AS9800 (UNICOM CHINA UNICOM). The C&C server was online for 25 days (2009-02-13 until 2009-03-09). During this period, the cybercriminal has captured over 3’677’358 datasets.

Below you can see some statistical data about this ZeuS Command&Control server:

Botnet size per day

ZeuS botnet size per day

Botnet geo location

ZeuS botnet geo location
Number of captured datasets

ZeuS crimeware: Number of captured datasets

Insight ZeuS

Let’s start with the ZeuS Admin Panel. Here we go…
Normally, the ZeuS Admin Panel is located on a file called “in.php”. Example:

http://veryevilzeusdomain.tld/zs/in.php

The login page of the ZeuS Panel looks like this:

ZeuS Admin Panel: Login page

On the login page, you can choose between two different languages: Russia and English. After a successful login, you will be redirected to the statistical summary of the ZeuS installation:

ZeuS Admin Panel: statistical summary

On this page you are able to group the infected clients (bots) to different botnets. This can be very useful. For example: You can group infected machines which have a fast internet connection to one “botnet”. You can also see some interesting data like how many logs are in the database, the time of first install and the total bot count.

On the section botnet->Online bots you can see some information about each bot which is currently online:

ZeuS Admin Panel: Online bots

The function Screenshot is quit interesting. With this function the cybercriminal is able to get a screenshot of each infected system, which is currently online. As you can see, the ZeuS trojan installs a backdoor which creates a SOCKS proxy and a Web proxy on the infected system. The cybercriminal can use these proxies to hide his identity while he access eg. the victims online banking account to steal money from them. By clicking on a proxy, the cybercriminal can get some information about the proxy (e.g. on which port the proxy is installed or whether the proxy is already used or not):

ZeuS Admin Panel: Proxy information

On the tab Remote commands the cybercrime can define commands for a hole botnet, bots from a specified country or just a single computer:

zeuspanel5

For example, such command can advise a infected client to download more malicious code:

ZeuS Admin Panel: Send commands to the infected systems (bots)

Here is a list of commands, which are available in the ZeuS crimeware:

  • block_url
  • unblock_url
  • rexeci
  • lexeci
  • delsf
  • resetgrab
  • getmff
  • delmff
  • getcert
  • addsff
  • rexec
  • lexec
  • getfile
  • upcfg
  • kos
  • On the navigation tab Logs the cybercriminal is able to start a log search. There, he can set a filter and search for a specified string and/or a specified Log typ. The Logs search has also a function to search in a specified time range. For example: Let’s start a search for FTP credentials which the ZeuS crimeware has captured on the 6. march:

    ZeuS Panel: Search for stolen FTP credentials

    Here is a list of Log types which the cybercriminal can search for:

  • any
  • HTTP
  • HTTPs
  • HTTP/HTTPs
  • FTP
  • POP3
  • Grabbed data
  • Protected Storage
  • IE history
  • Other
  • As you can see, the cybercriminal is also able to search for captured HTTPS credentials:

    ZeuS Panel: Search for captured HTTPS credentials

    On the screenshot above you can see that the crimeware has already stole credentials for online services like Windows Live and Google. But the crimeware is even worse: It is able to capture credentials for Online Banking accounts from HTTPS connections and from the protected storage (Pstore):

    ZeuS Panel: Stolen credentials for online banking accounts

    Last but not least on the System settings in the navigation the cybercriminal can add / edit profiles:

    ZeuS Panel: Add / Edit profile

    Conclusion

    The ZeuS crimeware kit is a big security issue and is still spearing thru Drive-By infections and mass spam campaigns like the spoofed Delta Air Line spam on February 09 (Link).

    If we take a look into the ZeuS Tracker, we can see over 100 ZeuS config files which are currently online. Additionally the tracker has already captured over 250 unique binaries.

  • browse ZeuS binaries
  • browse ZeuS config files
  • I highly recommend corporate networks to use the ZeuS blocklist to block malicious traffic from and to well known ZeuS C&C servers on the corporate web gateway/ firewall.

    Disclaimer

    The test system I used for the screenshots below was never connected to the internet, so no outbound network accesses occured during those tests. It was not required to enter any passwords or other credentials on any servers to obtain this copy of the database or the ZeuS admin panel software I mirrored – all of that was available for short periods of time unprotected on the net. But, as stated above, many real live ZeuS systems actually are insecure and would allow third parties to break in – events, that seem to occur regularly when botnets from one group are stolen by other groups.




    economics-recluse
    Scene
    Urgent!