SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 300 visiteurs en ce moment

Accueil > Documentation > Tutoriels pour webmasters > SPIP hacké que faire (la revanche des sites)

SPIP hacké que faire (la revanche des sites)

9 février 2015 – par Ben., fwedboot, vincent – commentaires

3 votes

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Ou on essaie de partager entre codeuses et bidouilleurs les méthodes pour nettoyer un site hacké.

Que chercher

Une partie un peu technique pour aider à nettoyer un site infecté. Tout d’abord, changez tous vos codes FTP et mettez à jour SPIP.

Une fois ceci fait quelques retours vécus / des astuces :

  • regardez dans chaque répertoire ( sauf tmp / local / config) les derniers fichiers modifiés. Si vous avez un fichier modifié récemment qui n’aurait pas du l’être, c’est une piste ... récupérer l’orignal depuis spip.net en choisissant la bonne version.
  • purger les caches ( /tmp , et regarder dans /local et dans /config si des fichiers malicieux n’y auraient pas été dissimulés ). Plus généralement, regarder la ou le serveur web à la possibilité d’écrire en se basant sur les droits sur le système de fichiers.
  • Recherchez dans le code tous les iframe
    Dans SPIP2.1 un code comme celui ci est normal par exemple
./ecrire/exec/brouteur.php:                        echo "<div id='brouteur_hierarchie'>"; // pour calculer hauteur de iframe
./ecrire/exec/brouteur.php:                echo "<iframe width='{$largeur_col}px' style='float:$spip_lang_left' id='iframe$i' name='iframe$i'",

par contre un code comme celui ci n’est PAS normal :

./ecrire/public.php:                $page=str_replace('<iframe src="http://www.blablabla.com" style="border: 0; position:fixed; top:0; left:0; right:0; bottom:0; width:100%; height:100%">','',$page);
  • Rechercher dans la base toutes les séquences d’iframe ou des balises « code » permettant d’insérer du javascript. Sous PhpMyAdmin la requête peut ressembler à ça mais est loin d’être complète :
 

SELECT id_article FROM `spip_articles` where titre like '%iframe%' or surtitre like '%iframe%' or soustitre like '%iframe%' or descriptif like '%iframe%' or chapo  like '%iframe%' or  texte like '%iframe%' or ps like '%iframe%'  ;

SELECT id_breve FROM `spip_breves` WHERE titre LIKE '%iframe%' OR texte LIKE '%iframe%' ;

select id_rubrique from spip_rubriques where titre LIKE '%iframe%' ;

Une autre méthode est de faire un export SQL de la base puis de regarder directement dans le fichier sql.

  • Le pirate peut également placer du javascript malicieux dans les fichiers du site pour faire des redirections, ou communiquer de l’information. Ces codes peuvent peuvent être camouflés avec des algos automatiques comme la classique fonction function(p,a,k,k,e,r){ ...} et plus généralement la fonction eval() qui permet d’évaluer ce qui lui est passé en arguments. Cette fonction étant sensible, elle est assez peu présente dans le code de SPIP, il est donc relativement aisé de vérifier que les appels sont légitimes.

Pour effectuer ces opérations, nous avons listé ci dessous un ensemble d’outils propre à des familles de systèmes d’exploitation.

Comment le chercher

Sous linux/BSD etc. ( ou Windows + cygwin )

Rechercher une chaine dans de nombreux fichiers :

grep "iframe" -R --color *

Rechercher différentes chaines :

egrep "(base64_|eval|gzinflate)" * -R --color

Recercher puis remplacer dans certains fichiers ( remplacer truc par bidule dans les fichiers .php ) :

find . -type f -name "*.php" -print | xargs sed -i 's/truc/bidule/g'

Rechercher des fichiers modifiés depuis moins de n jours :
find -mtime -1

Faire un dump de la base truc pour l’analyser ensuite à coup de grep :

mysqldump -u user -p basespip > basespip.sql

Exécuter directement une requête sur la base pour rechercher du code foireux :
echo "SELECT id_article FROM spip_articles where titre like '%iframe%' or surtitre like '%iframe%' or soustitre like '%iframe%' or descriptif like '%iframe%' or chapo  like '%iframe%' or  texte like '%iframe%' or ps like '%iframe%' ; " | mysql  -u user -p basespip

Dans le même tonneau :
SELECT id_article FROM `spip_articles` where titre like ’%iframe%’ or surtitre like ’%iframe%’ or soustitre like ’%iframe%’ or descriptif like ’%iframe%’ or chapo like ’%iframe%’ or texte like ’%iframe%’ or ps like ’%iframe%’ ;

SELECT id_breve FROM `spip_breves` WHERE titre LIKE ’%iframe%’ OR texte LIKE ’%iframe%’ ;

select id_rubrique from spip_rubriques where titre LIKE ’%iframe%’ ;

Recharger ensuite la base depuis le fichier sql modifié :

mysql -u user -p basespip < basespip.sql

récupérer l’archive d’un vieux spip et la décompresser pour pouvoir ensuite comparer :
aller sur : http://files.spip.org/spip/archives/

wget http://files.spip.org/spip/archives/SPIP-v2-1.26.zip -O spip2.zip
unzip spip2.zip

comparer une version de référence de spip ( cf ci dessus ) avec une version en production, potentiellement infectée.

; créer une liste de référence
cd /tmp/spip
rhash -r * | egrep -v '^;' | tee ref.txt
mv ref.txt /var/www/spipcontamine/
cd /var/www/spipcontamine/
rhash --skip-ok -c ref.txt  | tee out.log
rm ref.txt

Compression/décompression en tar + BZ2 ( sauvegarder un site « post mortem » ) :

tar -cvjf site.tar.bz2 site/
tar -I pbzip2 -cf site.tar.bz2 -C site/ .

tar -xvjf site.tar.bz2

Windows

Pour faire du rechercher remplacer en masse ( avec expressions régulières au besoin ), et éditer les fichiers avec coloration syntaxique :
-  notepad ++

Pour faire des hash de fichiers :
-  md5summer

Pour comparer rapidement des fichiers ( un vérolé VS une référence ) :
-  WinMerge

Pour transférer les fichiers :
-  Filezilla

Mac OS

Par manque d’expérience dans le domaine ( pas de Mac ), je ne peux pas écrire cette section. A vo’t bon cœur m’sieur dames ?

Dernière modification de cette page le 9 février 2015

Retour en haut de la page

Vos commentaires

  • Le 15 février 2015 à 12:00, par vincent En réponse à : SPIP hacké que faire (la revanche des sites)

    Oui, j’avais proposé de reformuler ça de « en graphique » et « en console », ce qui était mon idée de départ. Pas eu trop le temps ce m’y pencher ceci dit, et ça ne me donne pas d’outils graphique sous mac pour autant :)

    • Le 9 mars 2015 à 16:40, par jfd En réponse à : SPIP hacké que faire (la revanche des sites)

      -  notepad -> BBedit ou sa version libre textwrangler gedit etc.
      -  pour les bases mysql ->sequel pro, webmin, php myadmin... tous des truc libres
      -  pour les transferts de fichier filezilla, cyberduck, transmit, one button etc.
      A++

    Répondre à ce message

  • Le 15 février 2015 à 11:39, par Gilles Vincent En réponse à : SPIP hacké que faire (la revanche des sites)

    Sous Mac OS, effectivement, on peut faire comme en linux sous ssh, en ouvrant un Terminal (et on se trouve dans un environnement bash)

    Donc on pourrait l’inclure dans le premier titre
    Sous linux, Mac OS X, BSD et autre unix

    Répondre à ce message

  • Le 9 février 2015 à 13:24, par jfd En réponse à : SPIP hacké que faire (la revanche des sites)

    par manque d’expérience dans le domaine ( pas de Mac ), je ne peux pas écrire cette section. A vo’t bon cœur m’sieur dames ?

    Pour info
    depuis 2001, le mac, c’est de l’unix....
     :-)

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Mode portail Communiquant pour SoyezCréateurs

    29 septembre 2010 – 19 commentaires

    5e mode d’affichage de la page d’accueil, ce mode se distingue des autres par une animation proposant un fondu/enchaîné des logos des articles à la une. Zonage Configuration Zone d’entête Nom du site Slogan si plugin bandeau présent (...)

  • Plugin Logo SVG : pouvoir utiliser des logos SVG

    17 octobre – commentaires

    Le SVG est un format vectoriel donc très léger et redimensionnable sans pertes, mais SPIP ne l’acceptait pas sur les logos. Ce plugin comble ce manque. Comment ça fonctionne ? Vous installez ce plugin, vous l’activez, et c’est tout. Crédits Une (...)

  • Utilisez le framework Foundation dans vos squelettes !

    13 août 2013 – 58 commentaires

    Foundation est un framework CSS et Javascript très complet pour réaliser des sites sur une grille propre et homogène. Mais surtout, il permet de rendre un site responsive très facilement ! Ce plugin ajoute le framework Foundation sur l’espace (...)

  • LinkCheck : vérificateur de liens

    13 février 2015 – 65 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • GIS 4

    11 août 2012 – 1288 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

Ça spipe par là