IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Site hacké * Modification des droits d'écriture
Options
scoch
posté 1 Sep 2014, 16:10
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 825
Inscrit : 1 Jul 2010
Membre no 156 073



Bonjour,

un site Web dont je m'occupe a été hacké : un script a été injecté dans des fichiers .html. Les fichiers .php sur le serveur n'ont pas été infectés. Le site est hébergé sur un serveur mutualisé chez ovh.

Je précise qu'il ne s'agit pas d'un CMS et que ce n'est pas moi qui ai développé ce site, le propriétaire du site m'a confié sa refonte sur laquelle je travaille en ce moment. Le site utilise de vieux fichiers .swf Flash mais ils n'ont pas été modifiés, de même il utilise de vieux fichiers JavaScript en provenance du Web (pas créés par l'ancien développeur) mais ces fichiers n'ont pas été modifiés. (La version que je prépare n'utilise ni Flash ni fichiers JavaScript en provenance du Web.)

Je précise aussi que le site permet aux utilisateurs de s'identifier et d'uploader des fichiers .pdf. Le dossier dans lequel sont uploadés les .pdf a les droits d'écriture à 705, les fichiers uploadés sont en 604. Le dernier .pdf uploadé l'a été quatre jours avant l'attaque.

La première chose que j'ai faite quand j'ai eu l'accès ftp a été de modifier le mot de passe et les droits en écriture des fichiers et dossiers. Je pensais avoir « blindé » les droits en écriture de ces fichiers en les mettant à 404, mais suite à l'attaque, je les ai retrouvés en 644.

Comment les attaquants peuvent-ils changer les droits en écriture des fichiers ?

Merci pour vos réponses.


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post
iRed
posté 1 Sep 2014, 16:18
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 272
Inscrit : 24 Nov 2002
Membre no 4 824



faut voir si Apache a suffisament de droit pour modifier les droits des fichiers...
En tout cas ta fonction d'upload de PDF semble vulnérable


--------------------
Go to the top of the page
 
+Quote Post
scoch
posté 1 Sep 2014, 16:41
Message #3


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 825
Inscrit : 1 Jul 2010
Membre no 156 073



Merci pour ta réponse.

Citation (iRed @ 1 Sep 2014, 17:18) *
faut voir si Apache a suffisament de droit pour modifier les droits des fichiers...

Je peux modifier les droits d'un fichier avec la méthode chmod de php, c'est ça que tu voulais voir ?

Citation (iRed @ 1 Sep 2014, 17:18) *
En tout cas ta fonction d'upload de PDF semble vulnérable

Quelle est la vulnérabilité que tu vois ?


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post
yponomeute
posté 1 Sep 2014, 17:20
Message #4


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 969
Inscrit : 26 Jan 2011
Lieu : Pollachius virens
Membre no 164 083



Regarde si tu as accès aux logs sur le mutualisé, si par hasard tu y trouves des url "bizarres", ça pourrait te permettre de trouver le point d'entrée du hacker.
D'autre part si le hacker a déjà eu accès au site il a pu y déposer un fichier qui va lui permettre d'y accéder à nouveau

Autre chose à regarder, sur certaines gammes de mutualisés ovh il est possible d'y accéder en ssh. Dans ce cas il faut vérifier s'il n'y a pas une autorisation d'accès qui a été créée avec une paire de clés ssh. S'il y en a une elle va se trouver dans un fichier qui se trouve dans le répertoire invisible .ssh/authorized_keys

Ce message a été modifié par yponomeute - 1 Sep 2014, 17:24.


--------------------
MBP 2017 15" avec clavier pourri et touchbar inutile
Go to the top of the page
 
+Quote Post
Akirami
posté 1 Sep 2014, 17:28
Message #5


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 944
Inscrit : 9 Apr 2010
Membre no 152 689



De mémoire, il y a une vulnérabilité dans le format PDF d'Adobe, le lecteur de Firefox n'est pas mieux et celui de Windows reste du Windows (pour être poli).

J'essaie de retrouver cela mais il n'est pas impossible que cela vienne directement de la manière d'afficher un PDF via un serveur Apache s'il elle est ancienne... la manière... wink.gif

Edit : http://www.secuser.com/vulnerabilite/2011/...dobe-reader.htm

Chercher de ce côté là ou encore là : https://www.cases.lu/vulnerabilite_extremem...et_acrobat.html

Ce format bien pratique est une vrai passoire, merci Adobe d'avoir bien maintenu un format ouvert pour notre plus grand plaisir.

Ce message a été modifié par Akirami - 1 Sep 2014, 17:35.


--------------------
Z77M D3H - Céléron G870 LGA 1155 - DDR3 16 Go - NVidia GT 640 2 Go
Z97P D3 - i5 4460 LGA 1150 - DDR3 12 Go - NVidia GT 740 2 Go
Z390 Designare - i5 9400 - DDR4 2133 Mhz - Sapphire Pulse 5500 XT 8 G0
Go to the top of the page
 
+Quote Post
scoch
posté 1 Sep 2014, 18:26
Message #6


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 825
Inscrit : 1 Jul 2010
Membre no 156 073



Merci pour vos réponses.

Citation (yponomeute @ 1 Sep 2014, 18:20) *
Regarde si tu as accès aux logs sur le mutualisé, si par hasard tu y trouves des url "bizarres", ça pourrait te permettre de trouver le point d'entrée du hacker.
D'autre part si le hacker a déjà eu accès au site il a pu y déposer un fichier qui va lui permettre d'y accéder à nouveau

J'ai accès aux logs. Pas d'url suspectes. Dans la tranche horaire où les fichiers ont été infectés, seuls les bot de Bing et Voila (Orange) sont passés.
Je ne vois aucune trace de nouveau fichier sur le serveur, en me fiant aux dates de modification des dossiers et fichiers. Par contre c'est étrange, Filezilla m'indique qu'un dossier a été modifié il y a 30mn mais je ne vois aucun nouveau fichier dedans ou aucun fichier modifié, et les droits d'écriture de ce dossier n'ont pas changés…

Citation (yponomeute @ 1 Sep 2014, 18:20) *
Autre chose à regarder, sur certaines gammes de mutualisés ovh il est possible d'y accéder en ssh. Dans ce cas il faut vérifier s'il n'y a pas une autorisation d'accès qui a été créée avec une paire de clés ssh. S'il y en a une elle va se trouver dans un fichier qui se trouve dans le répertoire invisible .ssh/authorized_keys

Je ne vois pas le répertoire invisible .ssh/authorized_keys. Lorsque je me connecte en ssh (sftp) avec Filezilla j'ai ce message : « La clé du serveur hôte est inconnue. Vous n'avez aucune garantie que ce serveur est bien le bon. »

@Akirami je vais regarder ça ! Je dois faire une pause jusqu'à demain matin.

Ce message a été modifié par scoch - 1 Sep 2014, 18:32.


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post
No6
posté 1 Sep 2014, 18:44
Message #7


Oui ?
*****

Groupe : Membres
Messages : 3 889
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224



De ce que je sais, les fichiers PDF peuvent eux même contenir des scripts, ils sont en Javascript à la sauce Adobe, avec les possibilités de lecture/écriture, et même, je crois la possibilité d'y faire des appels de fonctions externes via une url...

Si ce n'est déjà fait, j'imagine que seuls des utilisateurs authentifiés peuvent avoir accès au système d'upload des PDF, non ?

Sinon, il y a aussi la possibilité de n'accepter que des PDF dont l'origine est autentifiée => http://help.adobe.com/fr_FR/acrobat/standa...5ff-7d8b.w.html

...


--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
Go to the top of the page
 
+Quote Post
scoch
posté 2 Sep 2014, 08:42
Message #8


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 825
Inscrit : 1 Jul 2010
Membre no 156 073



Citation (No6 @ 1 Sep 2014, 19:44) *
Si ce n'est déjà fait, j'imagine que seuls des utilisateurs authentifiés peuvent avoir accès au système d'upload des PDF, non ?

Oui, seuls les membres de l'équipe qui anime le site crée et uploade ces .pdf.
Ces .pdf sont tous créés à partir d'un même gabarit. Pour partir sur une base saine, je vais proposer de les remplacer par du html avec un module en back office pour stocker les contenus en base de données.

Je suis tout de même ennuyé de ne pas savoir ce qui s'est passé…

Un truc qui m'a étonné aussi, c'est que c'est un utilisateur qui nous a informé que le site avait été hacké : Chrome affichait le message d'avertissement de logiciel malveillant, en mentionnant l'url que le script utilisait . Il m'a suffit de nettoyer le code html pour que ce message d'avertissement disparaisse. Or, généralement, quand Google détecte une infection il faut ensuite soumettre le site à examen pour que l'avertissement soit levé.


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post
iRed
posté 2 Sep 2014, 12:22
Message #9


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 272
Inscrit : 24 Nov 2002
Membre no 4 824



Si tu veux je jette un oeil rapide au site


--------------------
Go to the top of the page
 
+Quote Post
tibounise
posté 2 Sep 2014, 17:58
Message #10


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 531
Inscrit : 30 Jan 2014
Membre no 189 144



Peut-être un des contributeurs qui se serait fait pirater ? Ou bruteforce du login du FTP ?


--------------------
Mon site web perso - Adaptateurs ADB/USB DIY - Réparation MacBook Air A1304 - Utiliser une iSight de MacBook Air en USB
Si vous souhaitez vous débarrasser de votre matériel informatique en région IDF, je suis preneur :)
Go to the top of the page
 
+Quote Post
scoch
posté 2 Sep 2014, 18:51
Message #11


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 825
Inscrit : 1 Jul 2010
Membre no 156 073



Citation (iRed @ 2 Sep 2014, 13:22) *
Si tu veux je jette un oeil rapide au site

Merci pour la proposition wink.gif mais la version actuelle ne sera plus utilisée dans quelques jours.
Cette attaque injecte un élément script dans le DOM de documents html statiques. Dans la nouvelle version c'est du php, le DOM est construit dynamiquement avec des inclusions de fichiers avec des noms « originaux » (pas head.php, footer.php, etc). Le site étant très bien référencé je fais de la réécriture d'url pour conserver les urls originales mais les fichiers html n'existent plus. J'espère ainsi un peu compliquer la tâche des pirates pour modifier le code des documents mais je ne saurai pas comment ils s'y sont pris cette fois-ci…

Citation (tibounise @ 2 Sep 2014, 18:58) *
Peut-être un des contributeurs qui se serait fait pirater ? Ou bruteforce du login du FTP ?

Peut-être un PC vérolé. Pour le mot de passe ftp j'en avais créé un solide (une longue chaîne aléatoire de lettres, chiffres et symboles), je l'ai quand même changé wink.gif


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post
iRed
posté 2 Sep 2014, 20:31
Message #12


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 272
Inscrit : 24 Nov 2002
Membre no 4 824



Ok pas de soucis.
Mais vu d'ici je dirais que ta fonction d'upload vérifie mal le type de fichier uploadé et que le hacker est passé par là. Du coup upload d'une backdoor PHP puis modification du code HTML pour balancer des malwares. Le coup mega classique.


--------------------
Go to the top of the page
 
+Quote Post
yponomeute
posté 3 Sep 2014, 13:36
Message #13


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 969
Inscrit : 26 Jan 2011
Lieu : Pollachius virens
Membre no 164 083



Citation (scoch @ 2 Sep 2014, 19:51) *
Citation (iRed @ 2 Sep 2014, 13:22) *
Si tu veux je jette un oeil rapide au site

Merci pour la proposition wink.gif mais la version actuelle ne sera plus utilisée dans quelques jours.
Cette attaque injecte un élément script dans le DOM de documents html statiques. Dans la nouvelle version c'est du php, le DOM est construit dynamiquement avec des inclusions de fichiers avec des noms « originaux » (pas head.php, footer.php, etc). Le site étant très bien référencé je fais de la réécriture d'url pour conserver les urls originales mais les fichiers html n'existent plus. J'espère ainsi un peu compliquer la tâche des pirates pour modifier le code des documents mais je ne saurai pas comment ils s'y sont pris cette fois-ci…

Citation (tibounise @ 2 Sep 2014, 18:58) *
Peut-être un des contributeurs qui se serait fait pirater ? Ou bruteforce du login du FTP ?

Peut-être un PC vérolé. Pour le mot de passe ftp j'en avais créé un solide (une longue chaîne aléatoire de lettres, chiffres et symboles), je l'ai quand même changé wink.gif

Il faudrait aussi changer le mot de passe du manager OVH par sécurité.
Le dernier site hacké qu'on m'a "confié" il a une dizaine de mois, se faisait re-hacker systématiquement après nettoyage et après changement du mot de passe ftp. Ça s'est arrêté après changement du mot de passe du manager (c'était pas chez ovh). Bon faut dire aussi que le mot de passe c'était un prénom en six lettres, même mot de passe pour le manager et login ftp.


--------------------
MBP 2017 15" avec clavier pourri et touchbar inutile
Go to the top of the page
 
+Quote Post
scoch
posté 3 Sep 2014, 14:24
Message #14


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 825
Inscrit : 1 Jul 2010
Membre no 156 073



@iRed merci pour la piste et les explications. J'ai regardé le programme php d'upload et effectivement ça n'est pas terrible question détection du type de fichier. J'ai lu qu'idéalement il faudrait que le dossier d'upload soit en dehors du webroot et de stocker en db les chemins d'accès aux fichiers, je ne l'ai jamais fait, je vais voir comment le mettre en place dans le cas où le format pdf reste obligatoire.

@yponomeute merci pour ton retour d'expérience. Dans mon cas, les mots de passe du manager et du ftp sont différents et plutôt solides. Je vais proposer de changer aussi celui du manager.

Ce message a été modifié par scoch - 3 Sep 2014, 14:25.


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post
Akirami
posté 3 Sep 2014, 16:02
Message #15


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 944
Inscrit : 9 Apr 2010
Membre no 152 689



Tu peux aussi simplement le faire écrire sur un fichier à plat, détruit après lecture, ça permet au moins après un read_file + explode de ne garder que l'URL ainsi que de la passer à l'eternel escape_string + htmlentites.
Tu as aussi la possibilité de vérifier l'ip de l'uplaod, vérrifier simplement s'il est encore là, si c'est dynamique après qq secondes, c'est pas bon, autrement tu gardes.

Aussi, regardes l'encodage, ISO ou UTF8 ? Le DOM, il peut y avoir des failles de partout sur de vieux scripts, si tu pouvais nous les mettre ici sans les logs et surtout la manière à se connecter à la BDD, je n'ai pas mon ordi mais je pourrais tjrs aider, ainsi que d'autres wink.gif

Edit : l'entête HTTP avec...

Ce message a été modifié par Akirami - 3 Sep 2014, 16:14.


--------------------
Z77M D3H - Céléron G870 LGA 1155 - DDR3 16 Go - NVidia GT 640 2 Go
Z97P D3 - i5 4460 LGA 1150 - DDR3 12 Go - NVidia GT 740 2 Go
Z390 Designare - i5 9400 - DDR4 2133 Mhz - Sapphire Pulse 5500 XT 8 G0
Go to the top of the page
 
+Quote Post
scoch
posté 7 Sep 2014, 15:15
Message #16


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 825
Inscrit : 1 Jul 2010
Membre no 156 073



Merci pour ta réponse. J'ai manqué de temps pour passer plus tôt.

Citation (Akirami @ 3 Sep 2014, 17:02) *
Tu peux aussi simplement le faire écrire sur un fichier à plat, détruit après lecture, ça permet au moins après un read_file + explode de ne garder que l'URL ainsi que de la passer à l'eternel escape_string + htmlentites.

Finalement, ma proposition de ne plus utiliser de fichiers pdf mais d'utiliser du contenu en base de données n'a pas été retenue, ces pdf doivent pouvoir être générés avec MS Word. Aussi, ces pdf participent au bon référencement du site, je suppose que si on les upload en dehors du webroot les robots d'indexation n'auront plus accès à leurs contenus mais seulement à leurs urls à partir de liens présents dans le site… Le nom avec extension des fichiers uploadés est généré dynamiquement lors de l'upload, caractères alphanumériques et extension .pdf.

Citation (Akirami @ 3 Sep 2014, 17:02) *
Tu as aussi la possibilité de vérifier l'ip de l'uplaod, vérrifier simplement s'il est encore là, si c'est dynamique après qq secondes, c'est pas bon, autrement tu gardes.

Tu pourrais m'éclairer un peu plus ? Merci wink.gif

Citation (Akirami @ 3 Sep 2014, 17:02) *
Aussi, regardes l'encodage, ISO ou UTF8 ? Le DOM, il peut y avoir des failles de partout sur de vieux scripts, si tu pouvais nous les mettre ici sans les logs et surtout la manière à se connecter à la BDD, je n'ai pas mon ordi mais je pourrais tjrs aider, ainsi que d'autres wink.gif

Edit : l'entête HTTP avec...

Le site et la base de données sont en utf-8. Dans ma version j'envoie un header HTTP Content-Type.
La version actuelle est vraiment vieille et utilise des requêtes mysql mais la base n'a pas été piratée, ouf ! Je reprends tout avec PDO et des requêtes préparées.


Citation (yponomeute @ 3 Sep 2014, 14:36) *
Il faudrait aussi changer le mot de passe du manager OVH par sécurité.
Le dernier site hacké qu'on m'a "confié" il a une dizaine de mois, se faisait re-hacker systématiquement après nettoyage et après changement du mot de passe ftp. Ça s'est arrêté après changement du mot de passe du manager (c'était pas chez ovh). Bon faut dire aussi que le mot de passe c'était un prénom en six lettres, même mot de passe pour le manager et login ftp.

J'ai vérifié, le client reçoit un mail de notification à chaque connexion au manager, il ne s'est rien passé de suspect.

Ce message a été modifié par scoch - 7 Sep 2014, 15:20.


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post
Akirami
posté 7 Sep 2014, 17:41
Message #17


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 944
Inscrit : 9 Apr 2010
Membre no 152 689



Vérifier l'IP de l'upload : ça veux dire simplement de vérifier qui se connecte sur ton serveur, c'est tout wink.gif
Je rtetourne jouer à Warcraft et Dwarff Fortress...


--------------------
Z77M D3H - Céléron G870 LGA 1155 - DDR3 16 Go - NVidia GT 640 2 Go
Z97P D3 - i5 4460 LGA 1150 - DDR3 12 Go - NVidia GT 740 2 Go
Z390 Designare - i5 9400 - DDR4 2133 Mhz - Sapphire Pulse 5500 XT 8 G0
Go to the top of the page
 
+Quote Post
scoch
posté 7 Sep 2014, 21:13
Message #18


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 825
Inscrit : 1 Jul 2010
Membre no 156 073



C'était au sujet de vérifier si cette IP est encore là… Bon jeu wink.gif

Citation (iRed @ 2 Sep 2014, 21:31) *
Ok pas de soucis.
Mais vu d'ici je dirais que ta fonction d'upload vérifie mal le type de fichier uploadé et que le hacker est passé par là. Du coup upload d'une backdoor PHP puis modification du code HTML pour balancer des malwares. Le coup mega classique.

Un truc que j'ai oublié de préciser c'est qu'à chaque fois qu'un pdf est uploadé, un mail avec le lien vers ce fichier est envoyé à l'équipe du site. Si le hacker upload un script php se faisant passer pour un pdf, le mail est censé être envoyé avec l'url de la backdoor, non ?

Ce message a été modifié par scoch - 7 Sep 2014, 21:13.


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post
iRed
posté 8 Sep 2014, 07:52
Message #19


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 272
Inscrit : 24 Nov 2002
Membre no 4 824



Citation (scoch @ 7 Sep 2014, 22:13) *
C'était au sujet de vérifier si cette IP est encore là… Bon jeu wink.gif

Citation (iRed @ 2 Sep 2014, 21:31) *
Ok pas de soucis.
Mais vu d'ici je dirais que ta fonction d'upload vérifie mal le type de fichier uploadé et que le hacker est passé par là. Du coup upload d'une backdoor PHP puis modification du code HTML pour balancer des malwares. Le coup mega classique.

Un truc que j'ai oublié de préciser c'est qu'à chaque fois qu'un pdf est uploadé, un mail avec le lien vers ce fichier est envoyé à l'équipe du site. Si le hacker upload un script php se faisant passer pour un pdf, le mail est censé être envoyé avec l'url de la backdoor, non ?


En théorie oui. Il faut cependant voir comment est fait le script wink.gif


--------------------
Go to the top of the page
 
+Quote Post
scoch
posté 8 Sep 2014, 16:50
Message #20


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 825
Inscrit : 1 Jul 2010
Membre no 156 073



C'est sûr wink.gif
Je posterai mon nouveau script lorsqu'il sera prêt, pour avoir vos avis d'experts.


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 23rd April 2024 - 20:29