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=1
Sous Linux cela donnera :
echo 1> /proc/sys/net/ipv4/ip_forward

Ensuite nous allons lancer Ettercap (en root) avec la commande
ettercap -G
La 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 :
wireshark
On 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.


Posted by cloud | Permanent Link | Categories: Security

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


Posted by cloud | Permanent Link | Categories: OpenSource, Security, Coding

18-09-2008 12:28:44


Posted by Anonymous | Permanent Link

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/Artzainak
De 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_base2
On 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 :)


Posted by cloud | Permanent Link | Categories: FreeBSD, OpenSource, Security, Coding

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 Wifi
Notre 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


Posted by cloud | Permanent Link | Categories: FreeBSD, OpenSource, Security

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 !


Posted by cloud | Permanent Link | Categories: OpenSource, Security

21-08-2008 10:47:41

[Mail] Creer un MX secondaire avec Postfix

Le serveur mail est une ressource souvent tres importante dans une société car constitue le moyen de communication principal. C'est pourquoi assurer son service est tres important. Bien sur il est possible d'envisager de la haute disponibilité mais la premiere chose a faire a mon avis et qui n'est pas assez respecté, c'est de mettre en place un serveur mail secondaire.

Pour cela, il va tout d'abord falloir créer une entrée de MX secondaire dans nos DNS. On mettra une priorité de 10 par exemple au primaire et de 20 au secondaire pour obtenir au final une entrée du genre :

www 10800 IN A 80.111.222.123 
mail 10800 IN CNAME www 
backup 10800 IN CNAME www 
@ 10800 IN MX 10 mail.mon-site.com. 
@ 10800 IN MX 20 backup.mon-site.com. 
Je ne m'étalerai pas sur l'installation d'un serveur mail normal, google est votre amis. On va donc directement se concentrer sur le serveur secondaire. J'utiliserai ici un serveur Postfix sur une FreeBSD 7.0.
Je commence par installer le serveur Postfix :
#cd /usr/ports/mail/postfix
#make install clean
Il faut ensuite penser a créer la base de données d'alias mail sinon le serveur gueule. On exécute donc la commande :
#newaliases
On va maintenant configurer notre Postfix en lui indiquant quels domaines relayer et la liste des mails a relayer. Pour cela il faut mettre les options suivantes dans notre /usr/local/etc/postfix/main.cf :
relay_domains = mon-site.com
relay_recipient_maps = hash:/usr/local/etc/postfix/relay_recipients
On crée ensuite notre liste de mails a relayer /usr/local/etc/postfix/relay_recipients de cette forme :
cloud@mon-site.com	x
toto@mon-site.com	x
fred@mon-site.com	x
Surtout ne pas oublier de transformer cela en base de données Postfix en tapant la commande :
#postmap /usr/local/etc/postfix/relay_recipients
On coupe sendmail :
#/etc/rc.d/sendmail stop
On configure le démarrage de notre serveur en supprimant sendmail et en y ajoutant Postfix en configurant le fichier /etc/rc.conf :
sendmail_enable="NONE"
postfix_enable="YES"
Et on démarre Postfix :
#/usr/local/etc/rc.d/postfix start
Il ne reste plus qu'a effectuer un test en coupant le serveur mail principal et en regardant le fichier /var/log/maillog. On doit y voir apparaitre nos mails avec des reject sur les adresses non autorisées et des mises en queue pour les autres.
On redémarre ensuite le serveur principal qui doit recevoir nos mails peu de temps apres le redémarrage.

Mission accomplie !


Posted by cloud | Permanent Link | Categories: FreeBSD, OpenSource, Security

29-07-2008 14:45:51

[Cisco] Commandes de l'IOS Cisco

Un petit lien pratique pour se rappeler des commandes Cisco. Je rappelle que ces commandes fonctionnent egalement pour Quagga / Zebra.
http://www.pantz.org/software/ios/ioscommands.html


Posted by cloud | Permanent Link | Categories: Fun / Divers

24-07-2008 15:20:55

[Firewall] NetAsq est base sur FreeBSD

FreeBSD est un exemple d'efficacité. Vous en doutiez ? Saviez que les firewall NetASQ étaient basés sur des systemes FreeBSD ?
L'interet ? Pour NetASQ, un systeme robuste, libre de par son code et une vrai liberté de part la licence BSD.
Pour FreeBSD ? Un rapport de bug et des correctifs apporté par NetASQ ainsi que l'implication dans des projets améliorant le systeme.

Et oui voila un bel exemple de la puissance du systeme FreeBSD et de la vrai liberté que propose la licence BSD.

Un lien certe pas récent mais tres interessant : http://freebsd.bebik.net/local-fr/www/spec/commercial/article_netasq.html


Posted by cloud | Permanent Link | Categories: FreeBSD, Security

23-07-2008 18:07:58

[Faille]Oracle Application Server PLSQL injection flaw

Dans la série des belles failles majeures, Oracle vient d'etre victime. Cette faille reportée en Octobre 2007 vient d'etre fixée par Oracle. Elle permet d'obtenir un controle d'acces total a l'administration depuis le frontend accessible sur Internet.

Le détail de la faille ici


Posted by cloud | Permanent Link | Categories: Security