2008-09 Archives
22-09-2008 11:26:45
[Security] Les dangers de MSN en entreprise
MSN est une messagerie certes tres jolie et tres kikoolol pour l'utilisateur lambda mais qui représente un grand danger
lors d'une utilisation en entreprise. Pourquoi ? Car tous les messages circulent en clair, sans aucun chiffrage. Quand on le
dit au gens, ils ne le prennent généralement pas au sérieux.
Solution : Faites leur une démo.
Pour cela, nous allons avoir besoin de 2 logiciels :
-Ettercap : un outil permettant une attaque Man In The Middle (MITM) tres simplement
-Wireshark : un outil de sniffing réseau
Le principe consiste a se faire passer pour la passerelle pour que la machine victime nous envoie tous les paquets que nous
redirigerons ensuite nous meme vers la vraie passerelle et de meme nous allons empoisonner la passerelle pour qu'elle
nous réponde.
Tout d'abord nous allons activer le forwarding sur notre machine pour permettre cette redirection de paquets.
Sous FreeBSD nous taperons :
sysctl net.inet.ip.forwarding=1Sous Linux cela donnera :
echo 1> /proc/sys/net/ipv4/ip_forward
Ensuite nous allons lancer Ettercap (en root) avec la commande
ettercap -GLa il faut aller dans Sniff et choisir Unified Sniffing. Puis dans on, on choisira Scan for hosts puis Hosts List pour voir la liste d'host disponible sur le réseau. On met en surbrillance l'ip de la passerelle et on choisi "Add to Target 1". On choisi ensuite l'ip de la machine que l'on veut écouter et on clic sur "Add to Target 2".
Tout est pret, il ne reste plus qu'a lancer l'attaque en allant sur le menu MITM et en choisissant ARP Poisoning. Si l'on va sur la machine attaquée attaquée que l'on tape arp -a , la passerelle possède notre adresse MAC.
Maintenant on ouvre Wireshark (en root) pour sniffer le réseau :
wiresharkOn va dans Capture > Interfaces et la on appuie sur Start de notre interface réseau. Maintenant pour filter les messages MSN, on va dans le champs filter et on écrit :
msnms contains "text/plain"On appuie sur Entrée et il ne reste plus qu'a attendre :)
Cette manipulation tres simple peut s'appliquer pour écouter n'importe quel protocole non chiffré. Il montre le danger de ceux ci en entreprise et la maniere dont les employés utilisent la messagerie instantanée pour communiquer des informations importantes. On se rend compte donc de l'importance de mettre en place des actions la dessus qui peuvent etre :
-supprimer le protocole MSN (il faut penser aux serveur web offrant ce service)
-mettre en place des clients avec des modules chiffrés (GAIM)
-utiliser une messagerie interne chiffrée : JABBER
-former les employés sur l'importance de sécuriser leurs conversations (messagerie instantanée, mails...)
Il peut également etre interessant de mettre en place un IDS comme Snort pour vérifier que quelqu'un n'est pas une activité malveillante d'écoute sur le réseau ou d'utiliser Ettercap qui permet de détecter d'autres Ettercap sur le réseau.
18-09-2008 13:42:27
[Article] Utilisation de Scapy
Scapy est un outil ecrit en python vital pour tout pen tester ou pour quelqu'un faisant du reseau de maniere avancer car permet de forger ses propres paquets ainsi que scanner, sniffer, fuzzer et bien
d'autres actions. Il permet en plus de creer des graphiques afin de visualiser au mieux les resultats. J'ai donc ecrit un article expliquant son utilisation.
How to Scapy
16-09-2008 16:43:07
[Script] Sauvegarde fichiers / MySQL
Voici un petit script de sauvegarde que j'ai developpé pour les besoins actuels d'un serveur FreeBSD mais qui fonctionnera bien sur sous Linux. Il
consiste a créer un
fichier contenant la liste des répertoire que l'on veut sauvegarder ainsi que des données MySQL. Ensuite
ca compresse le tout et envoi ca sur un serveur distant via SCP. Bien sur il faudra avoir configuré SSH par clé autorisées.
Voila le code :
#!/usr/local/bin/bash #Repertoire de temp en local REPBACKUP='/home/cloud/backup/kimsufi/files' REPBACKUPDB='/home/cloud/backup/kimsufi/db' #Liste des fichier et des DB FILEBACK='/home/cloud/Coding/Bash/listeRep' FILEMYSQL='/home/cloud/Coding/Bash/listeBase' FILENB='/home/cloud/Coding/Bash/NB' #Serv distant de sauvegarde SERVDIST='root@mon-site.com' echo "-- Script BACKUP systeme --" echo "-- author: Remi LAURENT --" echo "-- date: 16/09/08 --" echo "" rm $REPBACKUP/* rm $REPBACKUPDB/* for LINE in `cat $FILENB`; do NB=$LINE done #Rep distants de sauvegarde DISTBACKUP='/root/sauvegarde/'$NB'/files/' DISTBACKUPDB='/root/sauvegarde/'$NB'/db/' echo "-- Dump des fichiers ..." for LINE in `cat $FILEBACK`; do NOMFICHIER=`basename $LINE` tar jcvf $REPBACKUP/$NOMFICHIER.tar.bz2 $LINE done echo "-- Dump MySQL ..." for LINE in `cat $FILEMYSQL`; do dbhost=`echo $LINE | cut -d: -f1` dbuser=`echo $LINE | cut -d: -f2` dbpass=`echo $LINE | cut -d: -f3` dbbase=`echo $LINE | cut -d: -f4` mysqldump -h $dbhost -u$dbuser --password='$dbpass' --complete-insert '$dbbase' > $REPBACKUPDB/$dbbase tar jcvf $REPBACKUPDB/$dbbase.tar.bz2 $REPBACKUPDB/$dbbase rm $REPBACKUPDB/$dbbase done echo "-- Envoi distant ..." for FILE in `ls $REPBACKUP`; do scp $REPBACKUP/$FILE $SERVDIST:$DISTBACKUP done for FILE in `ls $REPBACKUPDB`; do scp $REPBACKUPDB/$FILE $SERVDIST:$DISTBACKUPDB done #On indiquer a quelle version on en est if (( $NB == 7 )); then NB='1' else NB=$(( $NB + 1 )) fi echo $NB > $FILENB echo "Backup termine."Ensuite on va créer un fichier ListeRep contenant les répertoires a sauvegarder :
/usr/local/www/apache22 /home/cloud/ArtzainakDe la meme maniere on va créer un fichier ListeBase contenant les informations des bases de données MySQL a sauvegarder sous cette forme :
host:user:password:nom_base host2:user2:password2:nom_base2On crée un dernier fichier NB contenant le nombre 1.
Sur le serveur distant ou seront stockées les sauvegardes, on crée le repertoire /root/sauvegarde/ et dans ce repertoire, on crée 7 répertoire nommés 1 2 3 4 5 6 7 dans lesquels on créera un répertoire files/ et un db/ pour chacun.
Il ne reste plus qu'a faire un cron executant le script tous les jours et les sauvegardes se feront la ou il faut :)
10-09-2008 16:18:23
[How To] Portail captif avec PFSense
Le but de se How to est d'installer et de configurer PFSense afin de
l'utiliser en portail captif.
Voici un dessin de l'architecture :
INTERNET ---------- PFSense -------- Point d'acces -------- PC WifiNotre PFSense a donc 2 cartes réseaux. On procede donc a l'installation qui est plutot simple. Pour le réseaux, j'ai réparti comme cela :
Patte WAN de PFSense (coté Internet) : fxp0 en 192.168.0.148/24 Patte LAN de PFSense (coté Point d'acces) : xl0 en 10.0.0.1/24 Le point d'acces est en DHCP Ma route par defaut est 192.168.0.1
On va donc commencer par aller dans la partie DNS Server. La on va activer celui ci sur la patte LAN . On lui adressera un spool d'adresse de 10.0.0.100 a 10.0.0.200. Surtout ne pas donner d'adresse de serveur DNS. La gateway n'est pas nécessaire non plus car il utilisera la route par défaut fourni auparant.
Ensuite on va aller dans DNS Forwarder et activer celui ci.
Enfin on va dans Captive Portal et on configure comme il se doit. On l'active sur la patte LAN, on met une redirection d'URL, on coche le systeme d'authentification (j'utilise le local manager) et on pensera a ajouter des utilisateurs pour se logger dans l'onglet File Manager.
Il ne reste plus qu'a se connecter depuis un poste Wifi et si tout s'est bien passé, on est redirigé sur notre beau portail captif :D
03-09-2008 18:56:14
Test de Google Chrome Beta
Hier est sorti la version tres attendu de Google Chrome. Je l'ai donc installé pour voir ce nouveau
navigateur.
L'installation se fait rapidement et la apparait une interface tres épurée et fort agréable a
regarder. Je test quelques pages et la direct,
WoW c'est rapide ! Le nouveau moteur de javascript V8 cartonne dur. L'ouverture de nombreux onglets ne semble pas
consommer beaucoup de ressources.
La barre intelligente (soi disant) est pas mal mais certaines adresses comme quand je travaille en locale ne
revienne qu'en tapant l'ip entiere...
Pas tres tres pratique.
Petit test Flash. Ah perso ca consomme plus de ressource que sous FF et ca rame. Test d'un applet... ah ben JAVA
n'est pas reconnu :). Je continu a l'utiliser toute la journée car dans l'ensemble il va vraiment vite. Bon
j'ai eu droit a 2 plantage complet du PC lors de visualisation de pages Google Groups, chose qui ne m'était
jamais arrivé... Hasard ?... Pas sur.
Pour voir les news, je vais voir comme d'hab milw0rm et la
déja une faille pour Google Chrome. Bon c'est juste un DDoS, il y a plus méchant.2h apres une faille
d'inclusion de n'importe quelle fichier dans une iframe permet son téléchargement! Ouch, une faille
digne de Internet Explorer il y a 5 ou 6 ans...
En conclusion de ce 1er test, Google Chrome est tres agréable a utiliser, rapide et a peu pret ergonomique
mais loin d'etre parfait. Déja de jolies failles qui montre quand meme que le code est loin d'etre parfait
car assez importante. Une instabilité du système et le manque de certain plugins le rendent inutilisable a
100% au quotidien mais c'est normal pour une version Beta. Cela reste un projet tres prometteur !