PAC et la problématique de la configuration automatique

1 – PAC, la configuration automatique de proxy

Le fichier de configuration automatique de proxy ou fichier .PAC est une ressource que l’on trouve sur tous les navigateurs d’aujourd’hui. Il définit la manière dont les navigateurs Internet et autres user agents peuvent choisir automatiquement le serveur proxy adapté (méthode d’accès) pour récupérer une URL donnée.

C’est Netscape qui inventa en 1996  le format de fichier PAC pour Netscape Navigator 2.0. Un navigateur qui prend en charge PAC fournit un accès à une série de fonctions définies dans la spécification originale de Netscape. Chaque navigateur met en œuvre la configuration automatique de proxy dans un bac à sable et autorise l’accès uniquement aux fonctions JavaScript requises pour le fonctionnement et rien d’autre. Ainsi, il est impossible d’accéder à la chaîne user agent du navigateur dans un fichier PAC, bien que cette chaîne soit accessible à une page Internet normale.

Le fichier de configuration automatique de proxy est un fichier texte qui définit au moins une fonction JavaScript, FindProxyForURL(url, host), avec deux arguments : "URL" désigne l’URL de l’objet et "host" est le nom d’hôte dérivé de cette URL. La fonction renvoie une adresse de serveur proxy qui doit être utilisée pour atteindre l’URL indiquée ou la chaîne "DIRECT" si aucun proxy ne doit être utilisé. Le fichier PAC est nommé proxy.pac par convention.

Il remplit une fonction très utile pour les administrateurs réseau de réseaux d’entreprise car il permet de rediriger le trafic interne. L’emplacement d’un fichier .PAC est définie. Par exemple, il pourrait pointer vers une URL qui héberge le script ; cette URL doit être configurée dans les paramètres du navigateur :

 
Image 1 : URL pointant vers un fichier .PAC sur Internet Explorer

Ou l’hébergement pourrait être local.

 
Image 2 : fichier PAC configuré localement sur Firefox

Le fichier .PAC peut offrir une prise en charge de basculement du proxy, une prise en charge de contournement avancé du proxy et bien d’autres choses encore.

Déploiement Avantages Désavantages
PAC
  • Prise en charge du basculement de proxy
  • Prise en charge des règles de contournement avancées/dynamiques de proxy, résolution hôtes/IP à l’aide du DNS afin de réduire la complexité de la liste de contournement.
  • Pris en charge dans les principaux navigateurs
  • La majorité des déploiements requerra une infrastructure de serveur Web.
  • Requiert la connaissance de JavaScript.

Tableau 1 : avantages et désavantages de l’utilisation du fichier PAC

Les fonctions prises en charge et autorisées par l’environnement de bac à sable sont documentées ci-dessous :

  • dnsDomainIs : évalue les noms d’hôte et renvoie "true" si les noms d’hôte correspondent.
  • shExpMatch : tente d’établir une correspondance entre un nom d’hôte ou une URL et une expression shell définie ; renvoie "true" si la correspondance est établie.
  • isInNet : évalue l’adresse IP d’un nom d’hôte et renvoie "true" si cette adresse est détectée dans un sous-réseau indiqué. Si un nom d’hôte est transmis, la fonction assurera la résolution du nom d’hôte en adresse IP.
  • myIpAddress : renvoie l’adresse IP de l’ordinateur hôte.
  • dnsResolve : résout les noms d’hôtes en adresse IP. Cette fonction permet de réduire le nombre de recherches DNS.
  • isPlainHostName : cette fonction renvoie "true" si le nom d’hôte ne contient pas de points, par exemple http://intranet. Elle est utilisée dans le cadre des exceptions appliquées aux sites Internet internes car elle peut supprimer la nécessité de résoudre l’adresse IP d’un nom d’hôte pour voir s’il s’agit d’un hôte local.
  • localHostOrDomainIs: évalue le nom d’hôte et renvoie uniquement "true" si une équivalence exacte de nom d’hôte est détectée.
  • isResolvable : tente de résoudre un nom d’hôte en adresse IP et renvoie "true" en cas de réussite.
  • dnsDomainLevels : cette fonction renvoie le nombre de niveaux de domaine DNS (nombre de points) dans le nom d’hôte. Elle peut être utilisée dans le cadre d’exception pour des sites Internet internes qui utilisent des noms DNS courts, par exemple http://intranet
  • timeRange, dateRange, weekdayRange : permet d’appliquer les règles en fonction de la date et de l’heure ; par exemple, renvoie un proxy uniquement pendant certaines heures, certains jours ou certains moins.
  • alert : la fonction alert() ne fait pas partie de la spécification PAC d’origine, bien que cette fonction soit prise en charge par Internet Explorer et Firefox. Elle permet d’obtenir la valeur d’une variable ou le résultat d’une fonction sous une forme visible pour l’utilisateur final. Elle est utile dans le cadre de la résolution de problèmes liés aux règles du fichier .PAC.

Vous trouverez ci-après un exemple de fichier .PAC :

 
Image 3 : exemple de fichier .PAC générique

Web Proxy Auto-Discovery Protocol (WPAD)

Présenté comme une variation du fichier .PAC standard, le protocole WPAD (Web Proxy Auto-Discovery Protocol) est une méthode employée par les ordinateurs Windows afin d’identifier l’ordinateur à utiliser en tant que proxy pour le trafic HTTP(S). Un navigateur qui prend en charge à la fois DHCP et DNS tentera d’abord de trouver un fichier PAC à l’aide de DHCP et en l’absence d’une configuration DHCP, il passera au DNS WPAD.

A l’instar des fichiers .PAC, la méthode WPAD possède ses avantages et ses inconvénients dans les réseaux d’entreprise :

Déploiement Avantages Désavantages
WPAD
  • Possède tous les avantages du PAC
  • Il suffit de cocher une seule case pour le déploiement.
  • Possède tous les désavantages du PAC
  • Requiert des modifications au niveau de l’infrastructure DNS ou DHCP.

Tableau 2 : exploitation des avantages de WPAD

La détection d’un proxy Web à l’aide de WPAD se déroule en gros de la manière suivante :

  1. Ai-je obtenu une entrée WPAD dans mon bail DHCP ? Si la réponse est oui, passez au point 4.
  2. Demander au serveur DNS qui est l’utilisateur réseau appelé "wpad" ou (wpad.[mondomaine.com]). Passer au point 4. si la recherche a réussi.
  3. Diffuser un message de nom de service NetBIOS et demander "WPAD".  Passer au point 4. si quelqu’un sur le réseau prétend s’appeler "WPAD". Dans le cas contraire, n’utiliser aucun proxy Web.
  4. Télécharger le fichier http://wpad/wpad.dat
  5. Utiliser l’adresse IP définie dans wpad.dat en tant que proxy Web pour tout le trafic HTTP et HTTPS Internet.

Pendant de nombreuses années, la fonctionnalité WPAD de Windows a permis aux auteurs d’attaques et de tests d’intrusion de réaliser simplement des attaques de type homme du milieu sur le trafic Web. Ce fut la méthode adoptée par le programme malveillant Flame pour réaliser une attaque de type homme du milieu sur les connexions au service de mise à jour Windows dans un réseau infecté.

Le problème de la mise en oeuvre du protocole WPAD de Windows est lié au fait que la résolution de l’adresse du serveur "WPAD" s’opère à l’aide du service de nom NetBIOS et ce service est vulnérable aux attaques par usurpation.

Par défaut, les ordinateurs Windows sont configurés de telle sorte qu’ils solliciteront d’abord un nom auprès du serveur WINS et si ce serveur WINS n’est pas configuré (ce qui est plus que probable), ils interrogeront tous les ordinateurs du sous-réseau local pour savoir s’ils connaissent une adresse d’un ordinateur portant ce nom. Et c’est ici qu’intervient l’usurpation.

 
Image 4 : requête du service de nom NetBIOS pour WPAD

L’auteur de l’attaque peut développer une application qui écoutera le port UDP 137 et qui renverra l’adresse de son serveur Web à toutes les requêtes WPAD. Ce serveur Web peut à son tour fournir un fichier PAC malveillant qui obligera le navigateur de la victime à utiliser des serveurs proxy spécifiques afin de récupérer les sites Internet d’intérêt.

2 – PAC : la problématique de la configuration automatique

Bien que cette fonctionnalité soit légitime, le détournement malveillant des fichiers .PAC est connu depuis 2005. Les cybercriminels brésiliens ont amélioré et peaufiné la technique avant de la partager avec leurs homologues turcs et russes.

Ces attaques ont atteint des niveaux de complexité et d’efficacité jamais vus jusque là, au point qu’il est possible d’utiliser un fichier de 1 Ko pour pirater tout un compte en banque. Le mariage d’une créativité débordante et d’attaques par téléchargement à la dérobée permet à ces scripts malveillants de réaliser bien plus que de simples attaques de type homme du milieu. Ils peuvent incarner des connexions HTTPS dans le cadre d’attaques Internet silencieuses lancées à intervalles réguliers et avec succès. En règle générale, ces attaques redirigent les utilisateurs vers des pages de phishing de banques, de sociétés de cartes de crédit, etc.

Au Brésil, l’utilisation de fichiers .PAC malveillants dans les chevaux de Troie bancaires s’est répandue depuis 2009. A l’époque, plusieurs familles de programmes malveillants comme Trojan.Win32.ProxyChanger ont commencé à forcer les URL des fichiers .PAC dans le navigateur des ordinateurs infectés.

 
Image 5 : page de phishing d’une banque brésilienne dans un navigateur configuré à l’aide d’un PAC malveillant

De nos jours, 6 chevaux de Troie bancaires sur 10 au Brésil possèdent une fonctionnalité qui permet d’ajouter un PAC malveillant à la configuration d’un navigateur.

 
Image 6 : fichier .PAC malveillant en clair créé et utilisé par des cybercriminels brésiliens

Certains chevaux de Troie ont également tenté de modifier le fichier prefs.js qu’utilise Mozilla Firefox pour définir la configuration du proxy :

 
Image 7 : cheval de Troie bancaire préparé pour modifier le fichier prefs.js dans Firefox

L’attaque est très simple ; le cheval de Troie doit simplement modifier cette seule valeur dans le registre Windows en ajoutant une URL au fichier .PAC.

HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings: “AutoConfigURL = http://www.badsite.com/pacscript.pac

Ou en ajoutant le chemin d’accès à un petit fichier (en général, moins de 1 Ko) hébergé localement :

HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings,AutoConfigURL = file://C:/WINDOWS/proxy.pac

Certaines attaques modifiaient également les valeurs de la clé ci-dessous (définition d’un proxy automatique dans le nom de la connexion Internet) :

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsConnections{CONNECTION NAME}

Les cybercriminels peuvent élargir sensiblement les options d’attaque et le nombre de victimes potentielles en associant cette technique aux attaques par téléchargement à la dérobée, en exploitant des vulnérabilités Java ou en introduisant des applets malveillants sur des sites très fréquentés, voire en utilisant des kits d’exploitation comme BlackHole.

 
Image 8 : extrait d’une charge utile de BlackHole utilisée par des cybercriminels brésiliens pour modifier les paramètres PAC sur l’ordinateur de la victime.

La méthode est à ce point efficace que des chevaux de Troie bancaires russes tels que Trojan-Banker.Win32.Capper ont commencé à utiliser la même technique en 2012, associée à de faux certificats numériques qui visent à rediriger les utilisateurs vers une page de phishing HTTPS.

Certains escrocs ont décidé de recourir à l’ingénierie sociale pour tromper l’utilisateur et de maintenir l’URL malveillante configurée dans les paramètres du navigateur en utilisant des noms de domaines trompeurs qui semblent légitimes à première vue. Voici quelques exemples :

http://egcon.com.br/images/avast.pac
http://defaultcache.com.br/ie
http://vpn.install-pcseguro.com/ssl.js
http://update.microsoft.com.br-ieconfig.ma.cx/security.jsp
http://sec.autoatt.com/
http://ww1.appsegurancamobile.com/kb2438658.php

Dans le cadre des solutions de protection et de détection que nous offrons à nos utilisateurs, nous avons commencé à bloquer les URL qui menaient aux fichiers .PAC malveillants. Certains chevaux de Troie ont réagi en adoptant des URL aléatoires, changées à chaque redémarrage. D’autres chevaux de Troie ont commencé à utiliser des URL courtes de services tels que BIT.ly dans le but de pouvoir contrôler les redirections et de consulter les statistiques.

 
Image 9 : un URL BIT.ly pointant vers un fichier .PAC qui a comptabilisé plus d’un millions de clic en 10 jours.

Nous n’avons pas été convaincus par la protection offerte par la liste noire et nous avons donc décidé de créer des détections sur la base de signature pour ces petits fichiers .PAC avec le verdict Trojan-Banker.JS.Proxy. Nous avons réalisé cette opération pour un nombre de fichiers élevés ;

 
Image 10 : certaines signatures de détection pour des fichiers .PAC malveillants

Le jeu du chat et de la souris avec les cybercriminels brésiliens devenait du coup plus intéressant.

3 – PAC : petite criminalité dans les fichiers

Alors que les éditeurs de logiciels antivirus commençaient à plancher sur la détection des scripts PAC malveillants à l’aide de signatures, les auteurs de ces scripts ont choisi la voie d’une obfuscation renforcée du code afin de déjouer la détection.

Cette stratégie a porté ses fruits : même aujourd’hui, le taux de détection de ces PAC malveillants affichés par tous les éditeurs de logiciels antivirus est très faible. L’utilisation de PAC dans un navigateur est légitime et il existe des PAC légitimes. Dans ces conditions, de nombreuses solutions de sécurité sont réticentes à l’idée de les détecter afin de ne pas provoquer de faux-positifs. Certains éditeurs n’ont pas l’intention d’offrir la moindre solution à ce problème.

Les cybercriminels brésiliens ont commencé à utiliser toute une série d’obfuscations JavaScript sur ces fichiers .PAC malveillants afin de déjouer la détection à l’aide de signature. D’autres ont été jusqu’à créer des outils d’automatisation de l’obfuscation et les ont vendu à leurs "collègues" pour un montant d’environ 2 500 USD.

 
Image 11 : programme malveillant criminel “PAC do Baixada” développé au Brésil pour obfusquer le code des fichiers .PAC malveillants

Certains ont choisi d’utiliser des sites Web qui offrent des services de chiffrement Javascript :

 
Image 12 : outil en ligne de chiffrement de Javascript

Ceci a entraîné l’apparition de certains scripts malveillants chiffrés inhabituels. Ils étaient caractérisés par les obfuscations les plus diverses, comme celle-ci impliquant des chaînes concaténées :

 
Image 13 : PAC utilisant des chaînes concaténées

Ou celle-ci avec des chaînes en miroir

 
Image 14 : PAC utilisant des chaînes en miroir

D’autres encore ont décidé de remplacer le nom des domaines ciblés par le script ou par l’IP de la page :

 
Image 15 : PAC utilisant des IP au lieu de noms de domaines

Dans certains cas, c’est une obfuscation JavaScript poussée qui a été utilisée :

 
Image 16 : PAC malveillant à obfuscation forte

D’autres scripts ont commencé à utiliser le chiffrement afin d’ajouter un volume important de caractères inutiles :

 
Image 17 : PAC malveillant utilisant des caractères et des charcode inutiles

Dans certains fichiers .PAC, les cybercriminels ont même commencé à envoyer des avertissements aux analystes antivirus. En voici un exemple :

 
Image 18 : voici le message contenu dans l’en-tête du fichier .PAC : “f*ck, why these motherf*ckers are sniffing (my PACs)? Come on, go suck a [redacted], let me work freely, I need to feed my family, bunch of mother*ckers, go easy on me!! If you want to work with me send an e-mail to xxxxxx@bol.com.br” (M….e ! Pourquoi ces fils de p… viennent-ils mettre leur nez (dans mes PAC). M…e quoi… Allez vous faire s..r. Laissez-moi travailler. J’ai une famille à nourrir. Bande d’e…é, foutez-moi la paix ! Si voulez travailler avec moi, écrivez à xxxxxx@bol.com.br)

Dans d’autres fichiers .PAC malveillants, ce sont des salutations adressées aux "collègues" qui ont fait leur apparition :

 
Image 19 : Contenu du message : “don’t try to erase or modify this file, don’t try to sniff, report, take down or publish on Twitter. The denizens of hell will redirect everything again and everybody will be happy in the end. Greetings to the thieves (several nicknames)” (n’essayez pas de supprimer ou de modifier ce fichier. N’essayer pas d’explorer, de signaler, de mettre hors service ou de publier sur Twitter. Les damnés de l’enfer redirigeront tout à nouveau et tout le monde sera heureux à la fin. Salutations aux voleurs (plusieurs pseudos).

Dissection d’un PAC malveillant

Nous allons nous pencher un instant sur cet exemple. Nous avons pris la décision d’appliquer la fonction OU exclusif au contenu du fichier .PAC :

 
Image 20 : PAC malveillant après application de la fonction OU exclusif.

L’utilisation d’une clé XOR spécifique pour déchiffrer le script met en évidence une longue liste  de cibles, parmi lesquelles nous retrouvons :

  • Des banques du Brésil et d’Amérique latine
  • Des sociétés de carte de crédit
  • Des compagnies aériennes, pour voler les miles des programmes de fidélité.
  • Des services de messagerie comme Gmail, Hotmail, Yahoo
  • Des systèmes de paiement tels que Paypal, PagSeguro, etc.
  • Des services d’informations financières comme Serasa Experia
  • Des sites B2C, notamment des sites de commerce électronique fréquentés

Dans cet exemple, toutes les URL ci-dessous vont être récupérées à l’aide du proxy “att.nossodomain2.me”:

rrr+mjqhdli+fjh :  www.hotmail.com

mjqhdli+fjh :  hotmail.com

mjqhdli+fjh+gw :  Hotmail.com.br

rrr+mjqhdli+fjh+gw :  www.hotmail.com.br

hvk+fjh :  msn.com

rrr+hvk+fjh :  www.msn.com

ils+fjh :  live.com

rrr+ils+fjh :  www.live.com

rrr+lqdp+fjh+gw :  www.itau.com.br

rrr+gdkfjlqdp+fjh+gw :  www.bancoitau.com.br

gdkfjlqdp+fjh+gw :  bancoitau.com.br

lqdp+fjh+gw :  itau.com.br

rrr+lqdpuwvjkkdilq+fjh+gw :  www.itaupersonnalite.com.br

lqdpuwvjkkdilq+fjh+gw :  itaupersonnalite.com.br

rrr+vwdvd+fjh+gw :  www.serasa.com.br

vwdvd+fjh+gw :  serasa.com.br

vwdvd}uwldk+fjh+gw :  serasaexperian.com.br

rrr+vwdvd}uwldk+fjh+gw :  www.serasaexperian.com.br

rrr+vdkqdkaw+fjh+gw :  www.santander.com.br

vdkqdkaw+fjh+gw :  santander.com.br

rrr+vdkqdkawkq+fjh+gw :  www.santandernet.com.br

vdkqdkawkq+fjh+gw :  santandernet.com.br

rrr+gdkwlvpi+fjh+gw :  www.banrisul.com.br

gdkwlvpi+fjh+gw :  banrisul.com.br

rrr+mvgf+fjh+gw :  www.hsbc.com.br

mvgf+fjh+gw :  hsbc.com.br

dhwlfdk}uwvv+fjh+gw :  americanexpress.com.br

rrr+dhwlfdk}uwvv+fjh :  www.americanexpress.com

dhwlfdk}uwvv+fjh :  americanexpress.com

rrr+gdkv+fjh+gw :  www.banese.com.br

gdkv+fjh+gw :  banese.com.br

rrr+gwdavfjuo+fjh+gw :  www.bradescopj.com.br

gwdavfjuo+fjh+gw :  bradescopj.com.br

gwdavfjkqhuwvd+fjh+gw :  bradesconetempresa.com.br

rrr+gwdavfjkqhuwvd+fjh+gw :  www.bradesconetempresa.com.br

rrr+gwdavfj+fjh+gw :  www.bradesco.com.br

rrr+gwdavfjuwlh+fjh+gw :  www.bradescoprime.com.br

gwdavfj+fjh+gw :  bradesco.com.br

gwdavfjuwlh+fjh+gw :  bradescoprime.com.br

uwlh+fjh+gw :  prime.com.br

rrr+gwdavfjuvvjdopwlalfd+fjh+gw :  www.bradescopessoajuridica.com.br

gwdavfjuvvjdopwlalfd+fjh+gw :  bradescopessoajuridica.com.br

rrr+gg+fjh+gw :  www.bb.com.br

gg+fjh+gw :  bb.com.br

gdkfjajgwdvli+fjh+gw :  bancodobrasil.com.br

rrr+gdkfjajgwdvli+fjh+gw :  www.bancodobrasil.com.br

rrr+fdl}d+fjh+gw :  www.caixa.com.br

rrr+fdl}d+bjs+gw :  www.caixa.gov.br

rrr+fdl}dfjkjhlfd+fjh+gw :  www.caixaeconomica.com.br

rrr+fdl}dfjkjhlfd+bjs+gw :  www.caixaeconomica.gov.br

rrr+fdl}dfjkjhlfdcawdi+fjh+gw :  www.caixaeconomicafederal.com.br

rrr+fdl}dfjkjhlfdcawdi+bjs+gw :  www.caixaeconomicafederal.gov.br

rrr+fc+fjh+gw :  www.cef.com.br

rrr+fc+bjs+gw :  www.cef.gov.br

fdl}d+fjh+gw :  caixa.com.br

fdl}d+bjs+gw :  caixa.gov.br

fdl}dfjkjhlfd+fjh+gw :  caixaeconomica.com.br

fdl}dfjkjhlfd+bjs+gw :  caixaeconomica.gov.br

fdl}dfjkjhlfdcawdi+fjh+gw :  caixaeconomicafederal.com.br

fdl}dfjkjhlfdcawdi+bjs+gw :  caixaeconomicafederal.gov.br

fc+fjh+gw :  cef.com.br

fc+bjs+gw :  cef.gov.br

rrr+vlfwal+fjh+gw :  www.sicredi.com.br

vlfwal+fjh+gw :  sicredi.com.br

rrr+udbvbpwj+fjh+gw :  www.pagseguro.com.br

udbvbpwj+fjh+gw :  pagseguro.com.br

udbvbpwj+pji+fjh+gw :  pagseguro.uol.com.br

flqlgdkn+fjh+gw :  citibank.com.br

rrr+flqlgdkn+fjh+gw :  www.citibank.com.br

ud|udi+fjh :  paypal.com

rrr+ud|udi+fjh :  www.paypal.com

gkg+bjs+gw :  bnb.gov.br

rrr+gkg+bjs+gw :  www.bnb.gov.br

rrr+gwg+fjh+gw :  www.brb.com.br

gwg+fjh+gw :  brb.com.br

lkqjpfm+pklqcjpw+fjh+gw :  intouch.unitfour.com.br

dduo+gg+fjh+gw :  aapj.bb.com.br

fqih+fjh+gw :  cetelem.com.br

rrr+fqih+fjh+gw :  www.cetelem.com.br

vdcwd+fjh+gw :  safra.com.br

rrr+vdcwd+fjh+gw :  www.safra.com.br

gdkwlvpi+fjh+gw :  banrisul.com.br

rrr+gdkwlvpi+fjh+gw :  www.banrisul.com.br

gdvd+fjh+gw :  basa.com.br

rrr+gdvd+fjh+gw :  www.basa.com.br

rrr+umlvmqdkn+fjh :  www.phishtank.com

umlvmqdkn+fjh :  phishtank.com

rrr+qmwdq}uwq+fjh :  www.threatexpert.com

qmwdq}uwq+fjh :  threatexpert.com

rrr+slwpvqjqdi+fjh+gw :  www.virustotal.com.br

slwpvqjqdi+fjh+gw :  virustotal.com.br

slwpvvfdk+fjh :  virusscan.com

rrr+slwpvvfdk+fjh :  www.virusscan.com

rrr+ilkmdackvlsd+jwb :  www.linhadefensiva.org

ilkmdackvlsd+jwb :  linhadefensiva.org

bji+fjh+gw :  gol.com.br

rrr+bji+fjh+gw :  www.gol.com.br

rrr+sjbji+fjh+gw :  www.voegol.com.br

sjbji+fjh+gw :  voegol.com.br

vdcwdkq+fjh+gw :  safranet.com.br

rrr+vdcwdk`q+fjh+gw :  www.safranet.com.br
dh3:  att.nossodomain2.me

Si vous configurez le script PAC malveillant dans un navigateur et que vous essayez d’accéder à ces pages, l’URL affichée dans la barre d’adresse semble légitime, mais l’internaute se trouve en réalité sur une page de phishing. Par conséquent, beaucoup d’utilisateurs infectés seront victimes de ces attaques sans s’en rendre compte.

La liste reprend également plusieurs services de sécurité comme PhishTank, VirusTotal, ThreatExpert, VirusScan ou LinhaDefensiva.org. Le PAC malveillant bloque l’accès à ces sites et indique au navigateur qu’il doit utiliser le proxy 127.0.0.1 pour les récupérer. 

L’étude du domaine malveillant vers lequel tout le trafic est redirigé met en évidence les pages de phishing préparées par l’escroc. Elles utilisent toutes des noms intéressants. En voici quelques-unes à titre d’exemple :

URL de phishing

Cible

att.nossodomain2.me/peipau

Paypal

att.nossodomain2.me/citi

Citibank

att.nossodomain2.me/desco

Bradesco Bank

att.nossodomain2.me/santa

Santander Bank

att.nossodomain2.me/bb

Banco do Brasil

att.nossodomain2.me/taui

Itau Bank

att.nossodomain2.me/tamtam

TAM (Brazilian airline company)

att.nossodomain2.me/azulinha

Caixa Bank

Tableau 3 : certaines URL de phishing utilisées par un PAC malveillant et leurs cibles.

D’autres scripts bloquent également l’accès aux sites et aux serveurs de mise à jour de nombreux logiciels antivirus :

 
Image 21 : PAC malveillant tentant de bloquer l’accès à des serveurs de mise à jour de l’antivirus

Si l’utilisateur infecté tente d’accéder au site d’un éditeur de logiciel antivirus, le message suivant est affiché :

 
Image 22 : faux message "Service non disponible. Réessayez plus tard" affiché par un PAC malveillant sur un ordinateur infecté.

Si l’utilisateur se tourne vers les communautés en ligne spécialisées en sécurité afin d’obtenir des conseils sur la suppression du programme malveillant, le PAC malveillant tente également de bloquer l’accès à ces sites, notamment le site brésilien LinhaDefensiva.org dont les forums proposent une aide gratuite sur la suppression des programmes malveillants.

Certains PAC redirigent l’utilisateur vers une fausse page qui simule un message d’écran bleu de la mort :

 
Image 23 : un écran bleu de la mort dans le navigateur ? Non, il s’agit d’un faux message affiché lorsqu’un ordinateur infecté tente d’accéder à LinhaDefensiva.org.

Il semblerait que ces PAC malveillants sont des outils d’attaque "multifonction" qui, non seulement, redirigent les utilisateurs vers des pages de phishing pour voler des informations d’identification pour des services financières, mais qui bloquent également l’accès aux sites d’éditeurs de solutions de sécurité ou aux communautés où l’utilisateur infecté pourrait trouver les conseils qui l’aideraient à se débarrasser du programme malveillant. Ces PAC peuvent même bloquer l’efficacité de PhishTank en tentant de de convaincre le navigateur que leur page de phishing est nette.

Vu l’efficacité de ces attaques contre les comptes d’accès aux services de transactions bancaires par Internet, la technique a été appliquée à d’autres cibles, toujours dans le but de voler de l’argent. Parmi les exemples récents, ctions la redirection vers une page de phishing qui imite le site mtgox.com, une des bourse d’échange de Bitcoin la plus utilisée :

 
Image 24 : les PAC malveillants s’intéressent également à l’argent virtuel comme Bitcoin

D’autres escroqueries cherchaient à rediriger les utilisateurs depuis des sites fréquentés vers des pages remplies de publicités et de liens sponsorisés. Le but poursuivi dans ce cas était la génération de trafic et l’augmentation du nombre de vue s afin de gagner de l’argent grâce à des services de publicités sponsorisées comme Google Adwords.

 
Image 25 : “busca.afiliados.pac” signifie “rechercher des affiliés”

Un autre individu malveillant avait décidé de voler les mots de passe d’accès à des services gouvernementaux en ligne tels que consultasintegradas.rs.gov.br, un site hébergeant les données de citoyens de l’Etat de Rio Grande do Sul au Brésil.

 
Image 26 : service gouvernemental brésilien ciblé par un PAC malveillant

4 – PAC : préparation active des contre-mesures

Depuis 2009, les cybercriminels brésiliens ont opté pour l’utilisation de PAC malveillants dans les navigateurs afin de voler l’argent de comptes en banque. Il s’agit d’une méthode discrète et efficace contre laquelle de nombreuses solutions de sécurité n’offrent aucune protection.

Ce genre d’attaque permet aux cybercriminels brésiliens de voler d’importantes sommes d’argent, principalement sur des comptes de banques locales. La Fédération brésilienne des banques (FEBRABAN) a annoncé que ses membres avaient perdu  R$ 1,2 milliards (près deU$ 700 millions) en 2012.

Les statistiques relatives à la famille Trojan.Win32.ProxyChanger confirment qu’il s’agit du cheval de Troie le plus répandu au Brésil et en Russie :

 
Image 27 : pays les plus affectés en 2013 par Trojan ProxyChanger : Brésil, Portugal et Russie

L’histoire se répète avec la famille Trojan-Banker.JS.Proxy, le fichier PAC malveillant lui-même, où le Brésil et la Russie arrivent en tête :

 
Image 28 : pays les plus affectés par Trojan-Banker.JS.Proxy, 1er semestre 2013

Il en va de même pour Trojan-Banker.PAC.Agent, un cheval de Troie bancaire programmé pour modifier le proxy dans le serveur :

 
Image 29 : pays les plus affectés par Trojan-Banker.PAC.Agent, 1er semestre 2013

Comment peuvent-ils être détectés ? Un PAC malveillant exploite l’obfuscation poussée pour éviter la détection à l’aide de signatures. Par conséquent, la lutte contre ce problème doit reposer sur la détection heuristique de ces scripts. Cette option tient également compte de l’utilisation répandue de PAC légitimes que l’on retrouve en général dans les entreprises.

 
Image 30 : un PAC légitime utilisé dans le réseau d’une université

La méthode de détection adoptée par les produits de Kaspersky Lab repose sur l’émulation de JavaScript : l’émulateur tentera d’invoquer la fonction FindProxyForURL avec différentes adresses de banques et analysera les résultats. Si la fonction renvoie une adresse de proxy pour les sites de banque et "DIRECT" pour d’autres sites, il faut émettre la détection.

Cette technique permet une détection proactive des fichiers PAC car les résultats de l’émulation seront identiques quel que soit le niveau d’obfuscation du fichier.

 
Image 31 : détection heuristique à l’œuvre

Notre solution au problème s’appelle Safe Money. Cette solution intègre des fonctionnalités telles que la vérification SSL dans le nuage qui permet de confirmer la légitimité d’une page et qui avertit l’utilisateur en cas de problème au niveau du certificat de sécurité :

 
Image 32 : Safe Money vérifie la légitimité des pages et protège les navigateurs contre les infections

Conclusion

La majorité des éditeurs de logiciels antivirus ne repère pas ces scripts malveillants ; certains ont complètement échoué dans la détection et le blocage de ces attaques. Notre but est d’encourager tous les éditeurs de solutions de lutte contre les programmes malveillants à étudier ce vecteur d’attaque et à coopérer afin de mettre au point une protection et des contre-mesures efficaces. A l’heure actuelle, les cybercriminels sont fermement décidé à éviter la détection et ils sont prêts à investir dans des outils qui obfusqueront le code afin de pouvoir continuer à voler l’argent de leurs victimes.

Posts similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *