vendredi 11 juin 2010

Sniffing du trafic au sein d'un système

Netcat est  un outils qui permet de réaliser des connexion tcp et udp très facilement , il peut etre utilisé en tant que scanner de ports , backdoor , transferts de fichiers et plein d'autre chose .

Nous allons voir comment sniffer du trafic au sein d'un système dont vous avez l'accès (votre propre serveur web de préférence ^^)  par exemple en utilisant netcat  .

Voici , mon petit lab ^^ crée sous vmware :


Après avoir réussi a avoir un accès root au serveur apache , nous allons essayer de récupérer tous les informations qui sont destinés au serveur , dans cette notre exemple nous allons récupérer les informations envoyer pas la notre victime ;) .
Netcat peut donc etre utilisé comme un sniffer pour récupérer les informations entrante et sortante d'un système .
L'adresse ip de notre serveur est 192.168.1.2 .  voici ce que nous devrons faire :

  1. Changer le port d'écoute du serveur (80 par defaut)  pour le port 8080 , ou un autre si celui est déja occupé ;) . en modifiant les fichiers de configurations d'apache ,pour cela on se connecte au serveur avec ssh ou telnet.
 le  fichier de configuration des ports  de apache2 : etc/apache2/ports.conf

    2 .  ensuite  on redémarre le serveur  : cmd  : service apache2  restart
          rmq : les commandes sont a adaptés en fonction de votre serveur .
un petit coup de nmap :

Le service apache a bien changer de port .
Maintenant nous allons mettre netcat en écoute sur le port 80 , pour ce la on va créer un simple script que netcat va utiliser pour transférer tous les communication qui normalement sont adressé au serveur sur le port 80 vers sont le nouveau port 8080 et en meme temps enregistrer tous les donnés que netcat recoit , après tout c'est le but ^^.

 code : script_sniffing
    1  #!/bin/bash
    2  nc -o /tmp/sniff.out 192.168.1.2 8080 // va transférer les donnés au PORT 8080

A la ligne  1 on appelle l'interpréteur de commande, Dans deuxième ligne on utilise une première instance de netcat pour se connecter au serveur sur le port 8080 et en enregistrant les donnés transmis dans le fichier /tmp/sniff.out que nous allons récupérer pour l'analyser les donnés enregistré tranquillement chez nous ^^   .
Bien évidement  netcat doit etre disponible sur le serveur cible , si ce n'est pas le cas installer le ;)  .

Maintenant nous avons tous les éléments nécessaire pour mener a bien notre attaque  .Il suffit de créer une deuxième instance de netcat en écoute sur le port 80  en appelons le script "script_sniffing" crée plus haut avec le flag -e (permet d'exécuter des scripts passer en agrument) .
cmd : chmod 777 script_sniffing //si vous rencontrer des problèmes de permissions meme //en root
cmd : nc -l -p 80 -e script_sniffing 


Garder a l'esprit que l'attaque se termine dès que la connexion sur le port 80 est finit . Mais pour le tuto ca reste suffisant .
Passons a la phase de test, un simple test ou le login et le mot de passe sont envoyés en clair avec la méthode GET.


Netcat va recevoir les donnés password et login,  les enregistrés dans le fichier sniff.out et ensuite  les transmettre au serveur sur le port 8080, la victime ne s'apércoit de rien .

Analysons les donnés enregistrer dans ce fichier
cmd : head -10 sniff.out  (+ d'infos sur la commande head )

 
Maintenant que nous avons récupérer le login et le mot de passe , on peut les utiliser pour récupérer plus d'informations en se connectant avec sur le serveur par exemple.
Pour éviter ce genre d'attaque , il faut scanner régulièrement  les ports élevé et pas seulement ceux par défaut ou encore installer des logiciels qui génèrent des alertes lors d'un changement de port par exemple   .
               

            Aucun commentaire:

            Enregistrer un commentaire