e-Construction : Mon cyber-journal perso

"L'intelligence c'est d'apprendre de ses erreurs, la sagesse c'est d'apprendre de celles des autres..."



On ces temps de prolifération de malwares et d'attaques de tous type, de l'attaquant pro déterminé au newbie oisif, on n'a pas le temps de scruter toutes les traces réseaux ou l'ensemble des logs ... on a plutôt besoin d'avoir une vue plus large sur le trafic pour déterminer après s'il y a lieu d'aller plus en détail dans un flux précis.

Il y a plein d'outils pour faire ça, et chacun apporte son petit plus.
Je vais commencer l'essai et le test de plusieurs outils (analyse flux et autres) et je vais en faire des billets sur le blog comme aide mémoire pour moi ... mais ça peut intéresser d'autres peut-être.

Le premier outil (application python) que je suis entrain de tester est Honeysnap

Alors comme fonctionnalités, on trouve par exemple (selon leur site) :

  • Packet and connection overview.
  • Flow extraction of ASCII based communications.
  • Protocol decode of the more common Internet communication protocols.
  • Binary file transfer extraction.
  • Flow summary of inbound and outbound connections.
  • Keystroke extraction of ver2 and ver 3 Sebek data.
  • Identification and analysis of IRC traffic, including keyword matching.
Assez intéressant ...

Installation :

- Récupération des paquets pré-requis (s'ils ne sont pas encore là) :
python2.(votre_version)-dev (apt-get)
libpcap0.8 libpcap0.8-dev (apt-get)
pypcap (lien sur la page de l'outil ... mais )

Pour pycap, le package proposé et cité dans le fichier INSTALL me sort des erreurs lors de l'installation...probablement en raison de ma version python 2.6

Je fait alors un petit "apt-cache serach" pour voir s'il n'y a pas un dans les dépôts. Effectivement, il y a le packet "python-pypcap" et ça s'installe sans soucis.

- Récupération et décompression de l'outil pour *nix honeysnap-1.0.6.14.tar.gz,

- Dans le répertoire "honeysnap-1.0.6.14" on lance l'installation :

$ sudo python setup.py install

Encore des erreurs !! ben, c'est ça la compilation à partir des sources ... ça permet de faire travailler les neurones, nettement mieux que les clic suivant-suivant :)

Voyons où est le problème :

Ha oui, toujours le problème de la version de python. Dans le fichier "ez_setup.py" il parle de la version "0.6c7" pour les "setuptools", et comme ma version est 2.6, il ne va pas le trouver, à la place il y a le "0.6a7"... changeant le fichier en conséquence.

Ok, ça passe .... MAIS encore des erreurs .... j'aime ça :)

Cette fois l'erreur est la suivante :

"File "/tmp/easy_install-LisPo7/dpkt-1.6/dpkt/bgp.py", line 678
self.failUnless(c.as == 65215)
^
SyntaxError: invalid syntax"
Invalide syntaxe ?!! si c'était moi qui a codé ça je comprendrais :)

Là, c'est carrément le "au secours google" .... et après quelques minutes je trouve ce lien , où on explique que depuis la version 2.6, "as" est un mot réservé du langage python et qu'il faut le changer en "asn" dans le fichier "bgp.py" qui est dans le package "dpkt-1.6.tar.gz"

OK, comme le package est toujours avec la "mauvaise" syntaxe, je récupère le package en local et je fait le search / replace qui va bien dans le fichier bgp.py et je sauvegarde les modifs
(pour mémoire, les lignes à modifier sont 143, 404, 431, 678 et 715)

Mais, il ne faut pas oublier de modifier le fichier "setup.py" et de mettre au lieu de "http://dpkt.googlecode.com/files/dpkt-1.6.tar.gz" le chemin local "file://dpkt-1.6.tar.gz" (mettre le package dans le répertoire de l'outil honeysnap)

Ouf .... enfin ça s'installe et ça s'exécute :

$ honeysnap --version
honeysnap 1.0.6.14

Utilisation :

En suivant le fichier "USAGE", on peut tester les fonctionnalités qui nous intéressent (j'utilise une capture de test récupérée ici)

On peut voir par exemple les flux entrant ou sortant d'un certain host, les requêtes DNS qu'il a initié, l'extraction de data (ftp, telnet, http...)

C'est un outil à utiliser dans d'autres scripts pour l'analyse des flux et de l'activité réseau.

Bonne analyse ... les flux sont si passionnant :)


.

0 commentaires

Enregistrer un commentaire

Inscription à : Publier les commentaires (Atom)