41 votes

A été piraté. Veut comprendre comment

Quelqu'un a, pour la deuxième fois, ajouté un morceau de javascript à un site que j'aide à gérer. Ce javascript détourne Google adsense, insérant leur propre numéro de compte, et collant des annonces partout.

Le code est toujours ajouté, toujours dans un répertoire spécifique (utilisé par un programme publicitaire tiers), affecte plusieurs fichiers dans plusieurs répertoires à l'intérieur de ce répertoire publicitaire unique (une vingtaine environ) et est inséré à peu près à la même heure de nuit. Le compte adsense appartient à un site Web chinois (situé dans une ville à une heure de là où je serai en Chine le mois prochain. Peut-être devrais-je aller réprimander... plaisanterie, en quelque sorte), au fait... voici les infos sur le site: http://serversiders.com/fhr.com.cn

Alors, comment pourraient-ils ajouter du texte à ces fichiers? Est-ce lié aux autorisations définies sur les fichiers (variant de 755 à 644)? À l'utilisateur du serveur Web (c'est sur MediaTemple donc ça devrait être sécurisé, non?)? Je veux dire, si vous avez un fichier avec des autorisations définies sur 777 je ne peux toujours pas juste y ajouter du code à volonté... comment pourraient-ils faire cela?

Voici un exemple du code réel pour votre plaisir visuel (et comme vous pouvez le voir... pas grand-chose à cela. Le vrai tour de main est comment ils l'ont inséré là-dedans):

<!--
google_ad_client = "pub-5465156513898836";
/* 728x90_as */
google_ad_slot = "4840387765";
google_ad_width = 728;
google_ad_height = 90;
//-->

Comme plusieurs personnes l'ont mentionné, voici ce que j'ai vérifié (et par vérifié, je veux dire j'ai regardé autour de l'heure à laquelle les fichiers ont été modifiés pour toute anomali et j'ai greppé les fichiers pour des déclarations POST et des traversées de répertoire:

  • access_log (rien à cette heure-là sauf du trafic bot msn normal (càd excessif))
  • error_log (rien d'autre que les erreurs habituelles de fichiers qui n'existent pas pour des fichiers anodins)
  • ssl_log (rien d'autre que d'habitude)
  • messages_log (pas d'accès FTP ici sauf pour moi)

*MISE À JOUR:** OK, problème résolu. Des hackers chinois avaient physiquement placé un fichier sur notre site leur permettant d'exécuter toutes sortes de tâches administratives (accès à la base de données, supprimer et créer des fichiers et des répertoires, vous l'appelez, ils avaient accès). Nous avons eu de la chance qu'ils n'aient rien fait de plus destructeur. Il n'y avait rien dans les fichiers de log Apache habituels mais j'ai trouvé un ensemble différent de fichiers journaux dans un analyseur de journaux de serveur Web et les preuves étaient là. Ils accédaient à ce fichier avec leur propre nom d'utilisateur et mot de passe admin, puis éditaient tout ce dont ils avaient besoin directement sur le serveur. Leur fichier avait "apache" comme utilisateur alors que tous les autres fichiers sur notre site avaient un nom d'utilisateur différent. Maintenant, je dois comprendre comment ils ont physiquement eu ce fichier sur notre système. Je soupçonne que la responsabilité de cela reposera éventuellement sur notre hébergeur Web (Media Temple), à moins qu'ils n'aient réellement eu nos infos de connexion FTP... pas sûr comment je vais déterminer cela, cependant, étant donné que ce fichier est probablement là depuis un moment.

9voto

PC Mobile Help Points 11

Mes comptes de serveur de grille Media Temple ont été "piratés" de cette façon plusieurs fois. Leur sécurité est très mauvaise... a commencé avec MOTS DE PASSE EN TEXTE CLAIR l'année dernière et cela continue jusqu'à aujourd'hui (vous pourriez appeler le support technique et ils demandent "quel est votre mot de passe?"). Je le sais car je reçois des e-mails mensuels sur la façon dont ils ont changé tous mes mots de passe de compte et ils vont effectivement changer les mots de passe de la base de données pour vous chaque fois qu'ils se font pirater. Cette entreprise semble très clinquante en surface, mais le serveur de grille est un désordre. Je recommande de passer immédiatement.

Veuillez consulter ce post de l'année dernière sur le fiasco original (attention, cela vous mettra en colère). Cela s'est aggravé depuis. J'ai passé Thanksgiving l'année dernière loin de ma famille et j'ai supprimé des liens pornographiques de mes sites Web. Charmant.

Suivez les événements amusants sur leur page de statut : Elle vous informera de toutes les dernières exploitations (et, oui en effet, il y a une "exploitation possible" là-haut en ce moment).

9voto

Georg Points 58

Tout d'abord, chmod 744 ce N'EST PAS ce que vous voulez. Le but de chmod est de révoquer l'accès à d'autres comptes sur le système. Chmod 700 est bien plus sécurisé que chmod 744. Cependant, Apache a seulement besoin du bit d'exécution pour exécuter votre application php.

chmod 500 -R /votre/répertoire/web/

chown www-data:www-data -R /votre/répertoire/web/

www-data est couramment utilisé comme compte Apache qui est utilisé pour exécuter le php. Vous pouvez également exécuter cette commande pour voir le compte utilisateur :

``

FTP est terriblement peu sûr et il est très probable que vous ayez été piraté par cette méthode. En utilisant FTP, vous pouvez rendre les fichiers inscriptibles, et ensuite les infecter à nouveau. Assurez-vous d'exécuter un anti-virus sur toutes les machines avec accès FTP. Il existe des virus qui sniffent le trafic local à la recherche d'identifiants et mots de passe FTP, puis se connectent pour infecter les fichiers. Si vous vous souciez de la sécurité, vous utiliserez SFTP, qui crypte tout. Envoyer du code source et des mots de passe en clair par-dessus le fil est une totale folie.

Une autre possibilité est que vous utilisiez une bibliothèque ou une application obsolète. Visitez le site du fournisseur de logiciel et assurez-vous d'exécuter la dernière version.

2voto

abarax Points 121

En fonction du manque d'activité dans les journaux d'accès, etc. et du fait que cela se produit à peu près en même temps, il semblerait qu'ils aient compromis le serveur et qu'ils aient un script shell en cours d'exécution pour ajouter des éléments.

Avez-vous vérifié crontab pour quelque chose d'étrange?

Avez-vous essayé de renommer le répertoire et les références à celui-ci (cela pourrait casser le script shell)?

1voto

Oui, cela pourrait certainement être lié aux autorisations de fichiers. En ayant des fichiers qui sont modifiables par le processus web, vous êtes exposé à toute vulnérabilité de sécurité dans les applications web que vous exécutez. Verrouillez tout pour que le processus web ne puisse ni lire ni écrire plus que ce dont il a besoin.

L'autre composante est de traquer exactement comment ils modifient vos fichiers. Vérifiez les logs d'accès du serveur web, c'est un bon point de départ. Vérifiez les horaires de connexion pour différents utilisateurs. Vous pouvez aussi mettre en place un script qui surveille les fichiers pour toute modification, et vous notifie afin que vous puissiez essayer d'attraper les criminels sur le fait !

1voto

editor Points 363

Cela ressemble étrangement aux piratages de Wordpress qui ont récemment touché de nombreux sites de Network Solutions. Étant donné que vous êtes sur Media Temple, il est possible que vous ayez laissé certains fichiers visibles aux autres utilisateurs partageant votre machine. Cela expliquerait l'absence de POST ou de traces de journal Apache inquiétantes. Si tel est le cas, il serait extrêmement simple d'injecter du code en ligne de commande.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X