La collecte d'information Une étape primordiale dans l'intrusion d'un système informatique est bien entendu la collecte d'information sur ce système.
Beaucoup de débutants se contentent d'utiliser un scanner qui leur apportent les informations sans trop savoir comment ca se passe derrière.
Je vais donc vous expliquer rapidement comment savoir sur quel type d'OS le système cible tourne, quelles sont les portes 'ouvertes' sur ce système et à quoi cela correspond.
1.L'ordre de travail
Afin de s'y retrouver facilement, je vous conseille de créer un fichier dans lequel vous regrouperez toutes les informations obtenues durant vos manipulations. Nous commençons donc par créer notre fichier cible.txt et commençons notre longue quête vers l'information.
2.Déterminer l'ip
Pour ce faire, nous nous aiderons de la commande ping, qui déterminera l'ip à partir du nom de domaine du système visé.
Pour les utilisateurs Windows : Ouvrez une session msdos (Demarrez-Executer-cmd) et tapez simplement la commande 'ping www.cible.com' il est à noter qu'il ne faut pas mettre 'http://'.
Pour les utilisateurs Linux : Ouvrez un terminal et tapez la commande 'ping -c 5 www.cible.com'. L'option -c 5 étant le nombre de ping à envoyer au serveur.
Le serveur vous renverra une réponse identique :
]$ ping -c 5 www.cible.com
PING www.cible.com ) bytes of data.
64 bytes from www.cible.com ): icmp_seq=2 ttl=52 time=36.2 ms
64 bytes from www.cible.com ): icmp_seq=3 ttl=52 time=33.0 ms
64 bytes from www.cible.com ): icmp_seq=4 ttl=52 time=28.5 ms
64 bytes from www.cible.com ): icmp_seq=5 ttl=52 time=43.5 ms
--- www.cible.com ping statistics --- 5 packets transmitted, 4 received, 20% packet loss, time 4030ms rtt min/avg/max/mdev = 28.506/35.348/43.547/5.487 ms
Nous pouvons donc y trouver plusieurs renseignements :
-L'adresse IP du système visé
-Le temps de réponse Nous notons donc l'IP dans notre fichier.
3.Déterminer l'OS
Etant désormais en possession de l'IP, nous allons pouvoir appronfondir nos recherches et déterminer sur quel système d'exploitation tourne la machine cible.
Nous utiliseront donc le programme telnet, disponible aussi bien sous Windows que sous linux.
Tapez donc 'telnet www.cible.com 80', après quelques secondes, si tout se passe bien, vous devriez être connecté en telnet sur le port 80 du serveur.Là, appuyez plusieurs fois sur la touche 'enter' et vous devriez perdre la connexion avec un message ressemblant à ceci :
HTTP/1.1 400
Demande incorrecte
Set-Cookie: WEBTRENDS_ID=8; expires=Fri, 31-Dec-2010 00:00:00 GMT;
path=/ Server: Microsoft-IIS/4.0
Date: Tue, 12 Aug 2003 12:37:25 GMT
Content-Type: text/html
Content-Length: 31524
Et voilà, nous savons désormais que ce serveur tourne sur une machine utilisant Microsoft IIS dans sa version 4 (qui entre parenthèse, est une vraie passoire).
4.Détection des ports ouverts
Afin de déterminer quels sont les serveurs qui tournent sur la machine, nous allons utiliser un scanner de port. Je vous conseille d'utiliser nmap, assez performant et relativement rapide dans son execution. Il est disponible à l'adresse : http://www.insecure.org/nmap/ (site officiel).
Pour l'utilisation de nmap, je ne vais pas refaire ce que d'autres ont fait beaucoup mieux que moi auparavant et vous pouvez donc consulter une doc très complète et intéressante de Fyodor traduite par Ouah ici : http://ouah.kernsh.org/portscan.htm Voici donc le type de résultat que vous obtiendrez avec nmap :
# nmap -sS www.cible.com
Starting nmap 3.20 ( www.insecure.org/nmap/ ) at :41 CEST Interesting ports on php1.cible.com ): (The 1606 ports scanned but not shown below are in state: closed)
Port State Service
21/tcpftp
22/tcpssh
25/tcpsmtp
80/tcphttp
10000/tcpsnet-sensor-m
Nmap run completed -- 1 IP address (1 host up) scanned in 93.197 seconds
Nous pouvons donc constater que 5 ports sont ouverts, vous avez le numero du port ainsi que le service qui l'utilise. Dans notre cas, il y a un serveur ftp, un serveur ssh, un serveur mail (smtp),un serveur web (http) et Miniserv (snet-sensor-mgmt).
5.Identification des daemons
Maintenant, pour conclure votre recherche d'information, il ne vous reste plus qu'à faire la manipulation utlisée au point 3 (telnet) pour chacun de ses ports et ca vous retournera les serveurs qui tournent pour chaque services ainsi que leurs versions. Pour trouver des failles existantes sur ces serveurs, vous pouvez consulter bugtraq (http://www.securityfocus.com) ou bugtraq-fr (http://www.k-otik.com).