Just Another Geek

Aller au contenu | Aller au menu | Aller à la recherche

Une image de moi

Archive du blog de Nicolas Bareil · restaurée à partir d’Internet Archive · commentaires fermés

mercredi 7 février 2007

Tape là !

Comme je l'ai écris dans un anglais très approximatif sur le Trac de scapy [archive], RadioTap est l'équivalent des PrismHeaders, c'est à dire que le pilote de la carte Wifi va nous retourner le maximum d'information physique sur la trame qu'il vient de recevoir. Parmi les champs intéressants, il y a la puissance du signal qu'a reçu l'antenne. Cette valeur n'est pas méga précise mais suffit largement. Par exemple, voici la sortie de wifidtc.py (pas la peine de Google, vous savez où le trouver) qui indique pour chaque client, le signal en dBm avec une zolie représentation graphique et l'OUI associé :

00:0e:35:90:ZZ:XX [-55  dBm] |##############      | Intel
00:16:b6:b0:XX:a7 [-91  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-93  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-92  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-92  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-93  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-93  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-95  dBm] |##########          | Cisco-Link
00:13:ce:2e:YY:51 [-89  dBm] |###########         | IntelCorpo
00:16:b6:b0:XX:a7 [-93  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-93  dBm] |##########          | Cisco-Link

On m'a dit que ça pouvait aider à localiser grossièrement des indésirables...

Note personnelle : Bravo Stéphane, Nico, Éric, Fred, Xavier et Charles pour le SSTIC 2007 ! Je pense que le deuxième jour va être sous les couleurs d'EADS :)

dimanche 15 octobre 2006

ftpls

Un instrument de ma boîte à outils est ftpls [archive] : un tout petit programme Perl qui sert à lister un répertoire FTP. Son seul intérêt est qu'il comprend une format string pour strfime() pour désigner le répertoire à lister.

Imaginons par exemple, pure spéculation, que votre serveur de fichiers favoris de fichiers légaux mettent quotidiennement ses nouveaux fichiers dans le répertoire NEWS/$day-$month/. Ca donne ça :

$ ftpls -h w4r3z.4ever.example -e 'NEWS/%d-%m'

Vous ajoutez ça dans votre crontab quotidien et zoup!

mardi 10 octobre 2006

net ou pcap ?

En attendant que Phil [archive] les intègre (soumis il y a maintenant quelques mois :p), voici quelques patches pour net2pcap [archive] : un tcpdump -w très allegé et qui a pour but d'être le plus simple, secure et auditable possible.

Ces quelques patches [archive] ajoutent les fonctionnalités suivantes :

Oui, je les publie seulement pour ne pas les perdre comme ça m'est déjà arrivé et devoir les réécrire...

jeudi 13 octobre 2005

fchown, non ce n'est pas un plat alsacien

Je viens de remarquer que ni Perl, ni Python, ni Ruby n'implémentaient l'appel système fchown() ou fchmod(). C'est quand même trèèèèèèèèèèèèèèès facheux...

dimanche 28 août 2005

audiographiti^H^H^H^H^H^Htag

audiotag [archive] est un logiciel libre écrit hier soir après que j'ai abandonné l'idée d'utiliser mp3tag [archive] ou OggInfo [archive], en effet, combien de fois j'ai maudit ces logiciels pour ne pas être adaptés à faire des tâches automatisées.

Read next [archive]

dimanche 13 mars 2005

HTTP Uploader

uploader.perl [archive] est un simple script Perl/CGI qui permet d'uploader des fichiers quelconques dans un répertoire donné. Le script est capable de calculer la somme MD5 du fichier reçu et de l'écrire dans un fichier MD5SUM.txt afin de vérifier le résultat plus tard. D'ailleurs, je fais afficher ce fichier lorsque je visite le répertoire d'upload grâce à mod_autoindex d'Apache et la directive :

 ReadmeName MD5SUM.txt 

vendredi 4 mars 2005

Analyse des logs Kismet en fonction du temps

En tant que pauvre étudiant qui se respecte, je n'ai pas les moyens de m'acheter une carte GPS PMCIA afin de conserver la localisation des access points découverts lors de balades wardrivantes [archive]. Une méthode qui vaut ce qu'elle vaut est de se baser sur le temps.

viewkismetlogs.perl [archive] crée une image représentant les minutes écoulées depuis le début sur une règle. Si un réseau est découvert, un baton est tracé sur cette règle et est coloré en orange/vert si ce point d'accès utilise WEP.

Mais plutot que de blablater, voici un exemple d'image [archive] qui clarifiera tout.

viewkismetlogs.perl [archive] récupère les informations via les fichiers XML que Kismet [archive] crée (/var/log/kismet/*xml sous Debian).

mardi 15 février 2005

Sebek et read() LD_PRELOAD hijacking

Pourquoi faire simple quand on peut faire compliqué ? Voici une solution tellement simple [archive] afin de bypasser Sebek [archive] que ca me dégoûte d'avoir passé autant de temps sur une chose du même genre en me cantonnant à n'utiliser que l'appel système mmap() pour remplacer read().

En plus, y avait tellement de limitations à ma version que c'était pas drôle :(

dimanche 31 octobre 2004

Osd-biff

OsdBiff [archive] est un petit script Python (oui, sacrilège et tout ça) allant voir sur votre serveur IMAP/IMAPS si vous avez des nouveaux mails.

La particularité de ce biff-like est qu'il utilise OSD [archive] pour afficher ses informations.

Le script supporte les wildcards dans la sélection des dossiers à surveiller.

Bon, d'accord, je viens de me rendre compte que Osd Mail [archive] existait. Mais visiblement, il ne supporte pas IMAPS. Tant mieux :)

lundi 27 septembre 2004

Trace encore ta route

Faîtes ce que je dis, mais pas ce que je fais, c'est ce que vous pourriez me dire après mon billet sur les traceroutes [archive] : voici ttl-graph [archive] d'une dizaine de lignes utilisant scapy [archive] (qui peut servir de classique module Python) pour représenter graphiquement une topologie de réseau.

Ça utilise le format dot [archive] pour faire des jolis graphiques et surtout pour ne pas me compliquer la vie :)

Je le répète, la topologie résultante peut ne pas coller à la stricte réalité car chaque paquet est indépendant.

Usage :

$ sudo ttl-graph yahoo.com | dot -Tps > traceroute-yahoo.ps

Et voici le résultat qui est disponible en GIF [archive] ou en PostScript [archive].

lundi 20 septembre 2004

Perl && cool CPAN modules

Voici les slides de la présentation [archive] intitulée ''Every CPAN Modules Every Perl Programmers Should Know'' de Mark Fowler lors de YAPC::Europe 2004.

Très intéressante.

lundi 12 juillet 2004

Packages Debian pour pcat

pcat [archive] est un paquet Debian [archive] (non-officiel) désormais !

À mettre dans votre /etc/apt/sources.list :

Pour Stable/Woody :

deb http://mouarf.org/deb/ stable/

Pour Testing/Unstable :

deb http://mouarf.org/deb/ testing/

dimanche 11 juillet 2004

pcat, maou !

pcat [archive] est l'équivalent de la commande cat(1) mais en version sniffeur.
pcat va sniffer le trafic (avec ou sans filtre pcap) et concaténer tous les champs DATA des paquets TCP, UDP ou ICMP vérifiant le filtre.

Exemple : voir une session SMTP entre deux machines.

$ sudo pcat -i eth0 'tcp port 25'
HELO shibby
250 plop.priv.mouarf.org Hello shibby.priv.mouarf.org [192.168.0.1]
MAIL FROM:<>
250 OK
HELP
214-Commands supported:
214 AUTH STARTTLS HELO EHLO MAIL RCPT DATA NOOP QUIT RSET HELP ETRN
QUIT
221 plop.priv.mouarf.org closing connection

pcat est capable de lire un fichier au format pcap (tcpdump -w file), d'afficher les données dans un fichier spécifique, de limiter l'affichage aux caractères ASCII (fonctionnalité peu testée par contre), de se séparer de ses privilèges super utilisateur, etc.
Le tout sous GPL bien sûr. J'attends vos remarques, rapports de bug, etc.

J'avoue, mon jeu de mots est pourri : pcap + cat = pcat. Désolé.

lundi 26 avril 2004

GOTO is harmful

Plus je lis les sources du noyau, plus je me dit que c'est pas si mal l'instruction goto. Ca clarifie vraiment le code dans certains cas.

Par contre, je n'ai toujours pas compris pourquoi ils utilisaient :

for (;;) {
  ...
}

Plutôt que

while (1) {
  ...
}

D'accord, y a moins de touches pour la boucle for(), mais je trouve ça tellement moins lisible !

lundi 15 mars 2004

Astuces zsh

Pour mettre une chaine de caractère en minuscule :

% echo ${(L):-Vive ZSH}
vive zsh

Pour mettre en majuscule :

% echo ${(U):-Vive ZSH}
VIVE ZSH

Pour mettre en lettres capitales les premières lettres de chaque mot :

% echo ${(C):-vive zSH}
Vive Zsh

Ce qui donne les fonctions suivantes :

function lower () {
  echo ${(L)*}
}

function upper () {
  echo ${(U)*}
}

function capitalize () {
  echo ${(C)*}
}

Usage :

% capitalize ma chaine a moi
Ma Chaine A Moi

L'intéret de ces fonctions est de ne faire appel à aucun processus supplémentaire (Pas de fork(2) à réaliser pour lancer la commande tr(1) ou un interpréteur Perl/Python par exemple). En effet, on utilise le Paramater Expansion de zsh.