Trouver le backdoor

WRInaute passionné
Bonjour à tous,

j'ai un gros problème : j'ai un VPS chez 1and1 qui héberge plusieurs sites. un de mes clients a un concurrent pas très content de sa visibilité sur le web et essaye de le faire tomber : il a fait un backdoor dans le serveur et modifie les prix de la boutique en ligne de mon client quand il veut !

Comment je sais : il l'a dit à mon client par téléphone (conversation enregistrée :)), je sais où il habite (à l'étranger et aussi dans quelle ville) et quand je fait sur mon serveur un
Code:
netstat -antu
je trouve son IP (quand je la trace, elle correspond exactement à son petit patelin à l'étranger)

ne me dites pas pourquoi le bonhomme a dit ça par téléphone à mon client : j'y pige rien mais je pense que le bonhomme aime jouer !

(et puis j'ai analysé les logs du serveur, le bonhomme y passe des heures dessus !!!)

bref, le dépôt de plainte a été fait ... en attendant mon client ne peut pas bosser car les prix n'arrêtent pas de changer !!!

donc ma question est la suivant : comment trouver par où le bonhomme passe, quelle est la faille dans le script, et comment la colmater ???

voici ce que donne le netstat :
Code:
tcp   0   0   IP_DE_MON_SERVEUR:110    SON_IP:3285   TIME_WAIT

y'a quoi au port 110 ? le mail (pop) non ?

PS le script du ecommerce est Shop-Script Free (adapté)


MERCI
 
WRInaute impliqué
Bonjour,
Il faut que tu sois aider par un administrateur système.

1 - Détecter la porte d'entrée de l'intrus
----------------------------------------------

Il faut chercher dans les logs apache,
système /var/log/messages, /var/log/secure
ya encore d'autres fichiers. En espérant qu'il n'a pas effacé sa trace, bien sur...

si tu connais son IP xxx.xxx.xxx.xxx à un moment T
tu fais par exemple
grep "xxx.xxx.xxx.xxx" /var/log/*

Ca te donnera la gravité de l'instrusion, si c'est juste une connaissance du mot de passe, ou c'est un système totalement compromis avec rootkit.

2 - Bloquer l'accès à l'intrus
------------------------------
là pareil ya plusieurs moyens, je te donne celle ou tu tues la mouche avec un marteau
tu connais son ip xxx.xxx.xxx.xxx,
tu fais whois xxx.xxx.xxx.xxx
ca devrait tu donnais une plage d'IP xxx.xxx.yyy.0 xxx.xxx.zzz.255 de son provider.
ca te donnes une plage d'ip, comme il est à l'étranger, ton ip et celui de la majorité de tes visiteurs est normalement pas incluse. Mais bon faut faire attention avec iptables car tu peux bloquer ton accès à la machine aussi si tu fais n'importe quoi.

tu bloques avec une règle Iptables

/sbin/iptables -A INPUT -m iprange --src-range xxx.xxx.yyy.0-xxx.xxx.zzz.255 -j REJECT

si t'as machine est bien configurée, tu devrais voir les logs dans /var/log/iptables
cette règle est annulée si tu rebootes

3 - Sécurisé la machine
---------------------------
passer la machine à l'anti-virus (ex: f-prot qui est gratuit), et à chkrootkit

Changer tous tes mots de passe système et FTP et mail, car peut etre que l'intrus a d'autres moyens pour pénétrer dans ta machine. Essayes de scruter ses mouvements, et de surveiller attentivement les fichiers logs.
si la machine est compromise faut demander à ton hébergeur de refondre ton VPS.

Essayes d'enchainer tout ça à la suite, pour ne pas lui laisser de répondre par un acte destructeur.

voilà
 
WRInaute occasionnel
Bloque sa plage ip dans un premier temps, en plus si il est a l'étranger c'est pas trop dérangeant


Après c'est clair qu'il faut trouver la porte :)
 
WRInaute passionné
merci de vos conseils

en faisant le grep j'ai des centaines de lignes :

/var/log/pop3d.log:08/11/10@22:26:36: START: pop3 pid=24366 from=xxx.xxx.xxx.xxx


ou xxx.xxx.xxx.xxx est son ip


ca correspond au port 110 indiqué plus haut


comment trouver la faille ?
 
WRInaute impliqué
salut, je suis pas expert mais as-tu mis à jour ton serveur pop ?

utilises-tu vraiment le serveur pop sur cette machine ?
peut-être devrais-tu fermer ce service provisoirement si c'est réalisable.

bonne chance en tout cas ;)
 
WRInaute passionné
ba oui mes clients utilisent ce pop pour lire leurs mails et je n'ai fait aucune mise à jour de mon serveur pop (j'aurais du :-o)
 
WRInaute passionné
désolé j'ai pas fait exprès ... je suis naze en admin réseaux et serveurs.

comment savoir quelle est la version ?
 
WRInaute passionné
petite info en faisant un last, j'ai trouvé plusieurs lignes :

le_compte_de_mon_client ftpd21566 l'ip_du_hacker Sun Nov 9 19:16 - 19:21 (00:05)

donc il ne s'est pas connecté en root
 
WRInaute occasionnel
Hors sujet: tu as vraiment du courage pour venir poser ce genre de question ici...

Bon courage pour le "dévérolage" de ton serveur.
 
WRInaute impliqué
ouch bonne question, j'ai jamais été doué avec linux

je me rappelle seulement de la commande top qui liste les processus actifs qui consomment le plus, avec un peu de chance peut-être que tu le verra apparaitre (en root)


sinon, je viens de trouver ceci
jobs Affiche les process qui s’exécutent en tâche de fond

mais un expert te trouverai ca directement (j'essaye d'aider comme je peux)


ps : ftpd , c'est le demon ftp non ? ca sent pas bon on dirait
 
WRInaute passionné
voici ce que j'ai fait :

1-
fuser 110/tcp

qui me donne comme résultat : 12120

2-
ls -l /proc/12120

qui me donne comme résultat :

total 0
-r-------- 1 root root 0 Nov 11 21:03 auxv
-r--r--r-- 1 root root 0 Nov 11 21:03 cmdline
lrwxrwxrwx 1 root root 0 Nov 11 21:02 cwd -> /
-r-------- 1 root root 0 Nov 11 21:03 environ
lrwxrwxrwx 1 root root 0 Nov 11 07:30 exe -> /usr/sbin/xinetd
dr-x------ 2 root root 0 Nov 11 21:02 fd
-r--r--r-- 1 root root 0 Nov 11 21:02 maps
-rw------- 1 root root 0 Nov 11 21:03 mem
-r--r--r-- 1 root root 0 Nov 11 21:03 mounts
-r-------- 1 root root 0 Nov 11 21:03 mountstats
-r--r--r-- 1 root root 0 Nov 11 21:03 numa_maps
lrwxrwxrwx 1 root root 0 Nov 11 21:02 root -> /
-r-------- 1 root root 0 Nov 11 21:03 smaps
-r--r--r-- 1 root root 0 Nov 11 20:41 stat
-r--r--r-- 1 root root 0 Nov 11 21:03 statm
-r--r--r-- 1 root root 0 Nov 11 21:03 status
dr-xr-xr-x 3 root root 0 Nov 11 21:03 task
-r--r--r-- 1 root root 0 Nov 11 21:03 wchan


vois-tu quelque chose de bizarre ?


sinon merci pour ton aide, et pourquoi ca sent pas bon le ftpd ???
 
WRInaute impliqué
bof, j'y comprend pas grand chose :s
j'suis désolé, j'aurai voulu pouvoir t'aider.

pour le "ca sent pas bon", je pensait qu'il avait réussi à avoir accès à une connexion ftp mais c'est à confirmer.

vois avec le service technique de 1and1, ils devraient t'être d'une meilleur aide que moi (en tout cas je te le souhaite lol) mais j'ai l'impression qu'il faudrait commencer par mettre à jour le service pop.

encore bonne chance, tiens-nous au courant ,)
 
WRInaute impliqué
Ruddy,
ça va être un peu dur de t'aider à distance, tu nous donnes pas assez d'infos et peut-être ne vaut-il pas mieux que tu exposes aussi ouvertement en public.

Il se trouve qu'il n'y aucun backdoor et que ton intrus connait les mots de passe. la priorité c'est sauvegarder les données et faire cesser ses agissements au plus vite, trouver backdoor c'est presque secondaire, tu le trouveras après.

L'intrus possède le mot de passe :
- de mail puisqu'il accède au pop3, et il pique les mails de ton client (c'est quand même grave !)
- de ftp puisqu'il y en a dans les logs ftp
- des comptes admin de ton script Shop script puisqu'il peut modifier les prix.

Je trouve ça assez énorme quand même.

A court terme tu devrais trouver illico un administrateur qui puisse te sortir d'affaire, parce que là ce n'est pas gagné.
A moyen terme, tu demandes à l'administrateur de t'installer webmin ou un logiciel similaire pour gérer ton serveur avec une interface ergonomique, et qu'il te puisse donner les notions de bases de sécurité ( changement de mot de passe, mise à jour,...)
 
WRInaute accro
Topsitemaker a dit:
L'intrus possède le mot de passe :
- de mail puisqu'il accède au pop3, et il pique les mails de ton client (c'est quand même grave !)
- de ftp puisqu'il y en a dans les logs ftp
- des comptes admin de ton script Shop script puisqu'il peut modifier les prix.
les 2 derniers sont peut-être liés, voire les 3 ensemble : combien de personnes utilisent les mêmes identifiants pour tous les sites et messagerie où ils interviennent. Trop
 
WRInaute occasionnel
Si c'est de l'open source, il y a de grande chance qu'il y ai de grande failles car c'est le cas dans de nombreux scripts...
Bloquer une plage IP n'est ps vraiment utile, tu passe par un proxy et c'est fini...

Non il faut trouver par où il rentre et colmater.
Après il dit qu'il a mis un backdoor, mais ce sont juste des mots, il a peut être simplement une faille de sécurité lui permettant de se connecter en admin.

Il y a des sociétés spécialisés dans la sécurité et les prix sont très raisonnable si tu ne trouves pas.
Car le temps c'est pas gratuit de nos jours malheureusement.

Bon courage.
 
WRInaute passionné
merci à vous

pour ce qui est de son accès à l'admin de la boutique en ligne :

1- oui en effet il avait réussi à rentrer et à avoir le code mais : on a réinitialisé le code
2- j'avais mis un petit tracker pour gérer dès que quelqu'un utilise l'admin (envoi d'un mail avec IP ...) mais bizarrement, aucun mail quand lui se connecte !!!
3- j'ai rajouté un fichier htaccess/htpasswd en protection sur l'admin

PS1 :sinon mon vps est géré sous plesk. il n'y a pas un minimum de sécurité dans les vps fournis ?
PS2: aucun danger sur ce forum, car l'IP de mon serveur n'est pas divulgué et le bonhomme ne saura pas faire le rapprochement avec mon profil (ce n'est ni le www ni les sites inscrits dans l'annuaire wri)
 
WRInaute accro
En tout cas le topic donne des infos intéressantes.

Il y a un guide pour sécuriser chez ovh qui est bien fait. A plus.
 
WRInaute passionné
rudddy a dit:
merci à vous

pour ce qui est de son accès à l'admin de la boutique en ligne :

1- oui en effet il avait réussi à rentrer et à avoir le code mais : on a réinitialisé le code
2- j'avais mis un petit tracker pour gérer dès que quelqu'un utilise l'admin (envoi d'un mail avec IP ...) mais bizarrement, aucun mail quand lui se connecte !!!
3- j'ai rajouté un fichier htaccess/htpasswd en protection sur l'admin

PS1 :sinon mon vps est géré sous plesk. il n'y a pas un minimum de sécurité dans les vps fournis ?
PS2: aucun danger sur ce forum, car l'IP de mon serveur n'est pas divulgué et le bonhomme ne saura pas faire le rapprochement avec mon profil (ce n'est ni le www ni les sites inscrits dans l'annuaire wri)

Il peut sans doute modifier les prix directement dans la base de donnée.

Change tous les mots de passe.
 
WRInaute passionné
Commance par chercher dans les scripts php que t'as modifié/personnalisé !

à mon avis c'est là qu'il a trouvé la porte d'entrée, tous les reste (les ip, les process qui tournent avec son IP) ne sont à mon avis que des exploitation d'une faille dans un script.

exemple de scénario (imaginaire, mais réaliste) :
1 - Je constate une faille dans un script PHP qui me permet de modifier des données dans des tables.
2 - Je commance par écrire discrétement des donnée invisibles à l'utilisateur mais visibles pour moi (des commentaires html par exemple), une sorte de "debuguage"
3 - Avec ces donnée je peux reconstituer le "circuit" de certaines données
4 - Je découvre une autre faille qui à l'aide des données de la base me permet d'injecter du code php.
5 - J'injecte du code pour écrire dans le système de fichier un script .sh, .py, ou perl

6 - Le serveur est tombé je fais ce que je veux maintenant ...



un autre scénario pourrait être simplement l'exploitation d'une faille pop pour rediriger des emails et obtenir le mot de pass admin de la boutique.


Mes conseils :
Commance par arreter tous les services qui ne sont pas nécessaires, ou préviens même tes client et arrete tous les services (pop, ftp, ssh ...etc) à part le web et regarde si tu vois toujours son IP dans les logs.
si c'est le cas, la faille viens bien d'un script php, sinon c'est un des services que t'as arrété.
ensuite il faut les activer un à un et surveiller.
ca peut prendre beaucoup de temps mais dans ces cas là vaut mieux interromptre quelques services que de contaminer tous les clients.

si t'as un outil pour retrouver les fichiers créés dernièrement et par quel utilisateurs fait le tourner et regarde les dernières modifs.
sinon tu trouvera facilement sur google des lignes de commande pour faire ça.



bonne chance
 
WRInaute passionné
merci je vais chercher par là : "si t'as un outil pour retrouver les fichiers créés dernièrement et par quel utilisateurs fait le tourner et regarde les dernières modifs.
sinon tu trouvera facilement sur google des lignes de commande pour faire ça. "
 
WRInaute discret
rudddy, pourrais tu poster la liste des CMS et autres scripts open source que tu utilises sur ton serveur?

Ca vient (malheureusement) souvent de failles présentes dans des CMS open-source qui n'ont pas été mis à jour.

Je t'invite à jeter un coup d'oeil dans tes logs d'accès en faisant des recherches sur les principaux phpshell, type c99, r57 ou autres.

Par exemple, lance un grep -n -r "EXPRESSION_RECHERCHEE" * sur tes fichiers de logs d'accès sur la chaîne "c99" ou "c99.txt".
 
WRInaute accro
dans beaucoup de cas, avoir le mail de la personne suffit a tout corrompre. surtout si tu peut te faire réexpédier un 'mot de passe oublié'

une bonne mesure serait de faire changer les mdp des mails 'importants' du coup.

au delà de l'attaque purement technique pense aussi au social engineering qui permet d'obtenir beaucoup.
 
WRInaute passionné
efz a dit:
Par exemple, lance un grep -n -r "EXPRESSION_RECHERCHEE" * sur tes fichiers de logs d'accès sur la chaîne "c99" ou "c99.txt".

j'ai scanné, rien trouvé avec c99 ni r57 !

sinon le script open source utilisé est Shop-Script Free (adapté)

sinon ,j'ai contacté mon hébergeur ... pas de réponse : lundi je les appelle sans faute

@zeb : j'ai pas trop compris l'histoire du mail : tu peux détailler stp ..., et surtout comment le mot de passe d'un compte mail permet-il d'avoir accès à tout un serveur ???
 
Nouveau WRInaute
rudddy a dit:
voici ce que donne le netstat :
Code:
tcp   0   0   IP_DE_MON_SERVEUR:110    SON_IP:3285   TIME_WAIT

y'a quoi au port 110 ? le mail (pop) non ?

Si tu mets à jour régulièrement tes scripts, il y a 90% de chances que la faille ne vienne meme pas de ton serveur.

Ca réclame pas de competences d'envoyer un executable a un non initié en informatique qui va ensuite te donner tous ses pass...

Il est donc probable qu'il ait un troyen sur l'ordi de ton client, que ce troyen lui ait permis de recuperer les mots de passe mail (d'ou l'acces pop), FTP, et MAJ des prix pour l'admin...

Commence deja par examiner l'ordi de ton client... et change les pass.
 
WRInaute accro
rudddy a dit:
@zeb : j'ai pas trop compris l'histoire du mail : tu peux détailler stp ..., et surtout comment le mot de passe d'un compte mail permet-il d'avoir accès à tout un serveur ???

dans beaucoup de cas, le maillon faible c'est la boite mail.
Je ne sait pas comment tu gère tes sites mais chez moi, j'ai des 'clients' qui on des accès plus poussé au site (fonctions administrative ou de gestion de contenu).

Si leur boite est torpillé et que le 'torpilleur' l'utilise pour se faire réexpédier des mots de passe oublié, c'est la cata car il peut parfois alors prendre la main sur des fonctions plus importantes.

imaginons que le responsable 'prix / catalogue' de la boite lésée ai une adresse mail a la c-n genre hotmail avec un mot de passe tout aussi c-n (genre date de naissance ou son propre prénom)
Cette adresse est facilement trouvable (un petit coup de fil et c'est réglé)
si une fois le compte mail cassé le 'torpilleur' se rend sur le site cible pour se connecter au fonctions d'administration et qu'il utilise le lien 'mot de passe oublié' il a en retour le mot de passe dans la boite mail déjà sous controle ...
ensuite c'est juste une histoire d'utilisation du back office.

et je ne parle même pas des fonctions possible s'il arrive a injecter du code dans la base en bidouillant son profil....
 
Nouveau WRInaute
crossscripting

de mon côté je pense que s'il à accé à l'admin c'est qu'il attaque t'a BDD, essaye d'interdire sur le site de ton client dans les champ de saisie les caractèeres spéciaux comme %?<> enfin tout ce qui pourrait servir à lancer une requète

sinon en plus propre mais plus lourd à mettre en place c'est définir que les caractères autorisé en saisie ainsi meme les dérivé html comme &trade, ne seront pas accepté.

enfin peut être peux tu juste migrer ce site veres un plus petit serveur moins cher et le temps que tu trouve le probleme.
 
WRInaute passionné
Ou plutôt que de chercher à taton à droite et à gauche, passer par les services d'un professionnel (c'est d'ailleurs probablement un service fourni par ton hébergeur). D'autant plus que comme tu le précises, il s'agit d'un de tes clients ; c'est pas comme s'il s'agissait de l'hébergement des sites des copains.
 
Discussions similaires
Haut