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..."


Dans l'essai précédent de l'outil Honeysnap, j'ai eu à modifier manuellement le texte des traces pour garder l'anonymat du trafic réseau appartenant au client servant de cas d'étude.


Mais pour de larges quantités de traces, il faudrait faire ceci d'une manière plus propre, d'où l'intérêt des outils d'anonymisation de traces réseau.

Un des outils qui offre une grande flexibilité est PktAnon. Il a été developpé par Christoph P. Mayer, Thomas Gamer et Dr. Marcus Schöller de l'institut des télématiques de l'université de Karlsruhe en Allemagne.

Les options ou choix des modifications à apporter aux paquets originaux sont contenus dans un fichier profile sous formats XML, avec un riche panel de primitives à appliquer.

En plus des @IP source et destination, des ports source et destination (TCP ou UDP), on peut altérer plein de champ d'un paquet, allant des @MAC source et destination jusqu'au TTL.

Dans le manuel de l'outil, il y a le détail de toutes les options possibles.

Avant d'aborder l'installation et l'utilisation de cet outil, je noterais que j'ai récupérer la version 1.2.2-dev, qui était la plus récente à cet instant (la dernière semaine). La compilation n'a pas aboutie en raison de plusieurs erreurs.

J'ai envoyé alors un mail aux developpeurs de l'outil en citant les erreurs et mon environnement (version de gcc entre autre)... et 1h 25 mn après, ils me confirment que c'est lié à la dernière version de gcc que j'utilise et qu'ils vont publier une nouvelle version pour régler ce problème.

Le landemain, à 08:19 je reçois un mail m'informant de la disponibilité d'une nouvelle version, la 1.2.3-dev, compatible avec le package gcc 4.3.x ... alors bravo pour leur réactivité.

Installation :


- Récupération et décompression de l'outil :

$ wget http://www.tm.uka.de/software/pktanon/download/pktanon-1.2.3-dev.tar.gz
$ tar vxfz pktanon-1.2.3-dev.tar.gz

- Installation des paquets pré-requis : (dans le guide ils parlent de libxerces27-dev, or il n'existe pas dans les dépots Ubuntu, c'est libxerces-c2-dev à sa place)
$ sudo apt-get install libxerces-c2-dev libboost-dev

- Configuration, compilation et installation proprement dite :
$ ./configure
$ make
$ sudo make install

Utilisation :

J'ai donc une trace "capture.pcap" que je veux transmettre à un collègue ou poster sur un forum pour avoir l'avis et bénéficier de l'expertise des autres.
Je doit donc la rendre anonyme et transmettre en fait la trace "capture_anonyme.pcap" à sa place

Je décide de modifier l'@IP appartenant à mon réseau. Je veux en plus modifier l'@MAC source.

Pour faire tout ça, on prend le fichier profile fourni settings_identity.xml et on le modifie en conséquence :

- Dans le sous-module "Flow" on met :

<configitem name="Input">capture_test.pcap</configitem>
<configitem name="Output">capture_anon.pcap</configitem>


- Dans le sous-module "Checksumming", comme on va modifier certaines valeurs, la somme de contrôle va changer évidement, on met donc :

<configitem name="ReCalculateChecksums">1</configitem>
<configitem name="SetBadChecksumsToBad">1</configitem&gt
; (si un checksum initial est incorrect, on calcul un nouveau ... incorrectement)

- Dans le sous-module "EthernetPacket" on met :

<configitem anon="AnonBytewiseHashSha1" name="MacSource"/> (par défaut c'était "AnonIdentity" = garder la valeur initiale. Maintenant on change chaque octet par son Hash SHA1)

- Dans le sous-module "IpPacket" on met :

<configitem anon="AnonBytewiseHashSha1" name="IpSourceip"/&gt; (Hash SHA1 de chaque octet)


Tout est en place à présent. Il ne reste qu'à lancer la machine pktanon en précisant le fichier profile :

$ pktanon settings_identity.xml

Pour vérifier le résultat, on observe les modifications apportées au premier paquet par exemple.

L'original :

$ sudo tcpdump -neXv -c 1 -r capture_test.pcap
reading from file capture_test.pcap, link-type EN10MB (Ethernet)
18:38:47.484853 00:03:0d:3e:70:bb > 00:50:fc:25:01:2f, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 11139, offset 0, flags [DF], proto TCP (6), length 52) 192.168.0.125.48706 > 74.125.99.32.80: F, cksum 0xd73f (correct), 1271021476:1271021476(0) ack 261401586 win 108
0x0000: 4500 0034 2b83 4000 4006 a07e c0a8 007d E..4+.@.@..~...}
0x0010: 4a7d 6320 be42 0050 4bc2 3fa4 0f94 abf2 J}c..B.PK.?.....
0x0020: 8011 006c d73f 0000 0101 080a 0002 37f5 ...l.?........7.
0x0030: a9b4 4922 ..I"


L'anonyme :)

$ sudo tcpdump -neXv -c 1 -r capture_anon.pcap
reading from file capture_anon.pcap, link-type EN10MB (Ethernet)
18:38:47.484853 da:c0:c5:5a:6e:f9 > 00:50:fc:25:01:2f, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 11139, offset 0, flags [DF], proto TCP (6), length 52) 246.142.218.214.48706 > 74.125.99.32.80: F, cksum 0xc6ff (correct), 1271021476:1271021476(0) ack 261401586 win 108
0x0000: 4500 0034 2b83 4000 4006 903e f68e dad6 E..4+.@.@..>....
0x0010: 4a7d 6320 be42 0050 4bc2 3fa4 0f94 abf2 J}c..B.PK.?.....
0x0020: 8011 006c c6ff 0000 0101 080a 0002 37f5 ...l..........7.
0x0030: a9b4 4922 ..I"


Alors, ceux qui ont besoin d'aide, mais hésitent à envoyer leur traces ... anonymisez :)


.

7 commentaires

  1. OstenX  

    Salut,
    Merci beaucoup, je ne connaissais pas. Très pratique!!
    Juste un point, les balises du fichier profile n'ont pas l'air de bien s'afficher.

    Bonne continuation

  2. SecDZ - Salah Nadir  

    Merci. Pour les balises je les ai supprimer, sinon blogger va les interpréter . Tout est dans le sous-répertoire "profiles" du répertoire de l'outil.

  3. OstenX  

    C'est con, Blogger devrait afficher les balises correctement.
    Tu peux toujours remplacer < par &lt; et > par &gt;

  4. SecDZ - Salah Nadir  

    @OstenX:

    J'ai mis bêtement ce que tu as proposé ...c'est ça ? :)

  5. OstenX  

    Je crois que t'as oublié de mettre les ";" à la fin.
    &lt; et &gt; pour < et > respectivement.
    J'aurais cru que ça devait être fait automatiquement. En tous les cas c'est le cas avec wordpress.

  6. SecDZ - Salah Nadir  

    c'est mieux .. mais 2 renégats résistent encore :)

    .... bon, je ne vais pas passer sous Wordpress pour ça :)

  7. ButterflyOffire  

    Et mon cher SecDZ, merci infiniment pour cette introduction, les détails et tout ce qui s'en suit :) j'ai appris beaucoup en te lisant comme à chaque fois et c'est bien d'avoir signalé le bug ;) Comme quoi la solution peut être vite fait apportée et bravo encore une fois aux mainteneurs du projet ;)

    Je ferai volontiers un test et je te soumettrai mon résultat :)

    Merci à toi et à bientôt :)
    Salam

Enregistrer un commentaire

Inscription à : Publier les commentaires (Atom)