MTProd > Dev4all > Articles > Programmation > Réseau > Programmation Winsock avancée avec les systèmes NT > 3 Les raw sockets
Rechercher13 Personnes en-ligne
Programmation Winsock avancée avec les systèmes NT

3  Les raw sockets



3.1  Introduction

Nous allons ici aborder un sujet un peu plus complexe et plus intérressant que les sockets streams, je parle bien sûr des raw sockets. Par l'intermédiaire de ceux-ci nous apprendrons comment forger nos propres paquets que cela soit TCP, ICMP où autres. Nous analyserons de même la manière de récupérer le flux transitant sur nos interfaces réseaux, toujours uniquement grâce à Winsock 2. Donc, logiquement, après avoir lu cette section vous serez capable d'écrire votre propre sniffer ou encore votre forgeur de paquets personnel, ce qui peut être très interressant, je trouve.




3.2  Qu'est ce qu'un raw socket ?

Un raw socket est un socket avec un pouvoir 'supérieur', il permet d'écrire ou de lire des paquets sur une interface réseau, avec les paramètres souhaités. c'est à dire, qu'il aura la possibilité de modifier l'en tête d'un paquet pour ensuite l'envoyer avec les options de cette même en tête modifiées (adresse IP source, flag TCP, etc).




3.3  L'accès aux raw sockets

Pour utiliser les raw sockets, nous allons devoir remplir certaines conditions, tout d'abord, nous devrons avoir en notre possession les droits du super utilisateur de la machine concernée. Si ce n'est pas le cas, nous allons déclencher une erreur de type WSAEACCESS lors de la tentative de création de notre raw socket.
Nous pouvons remarquer que cette restriction peut être contournée selon plusieurs méthodes :

  • Avec Windows XP Home Edition chaque programme s'executant obtient par default les privilèges du super utilisateur, ce qui réduit donc à néant la sécurité d'accès au niveau des raw sockets.

  • Sur Windows NT4, il est possible de neutraliser ce contrôle en modifiant une certaine clée de la base des registres, que je citerais ci dessous.



HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Afd\Parameters\DisableRawSecurity

Nous devons donc modifier cette valeur DWORD pour la fixer à 1 et donc désactiver le système de contrôle. Pour valider cette modification, un redémarrage sera nécessaire.

Avec Windows 2000, à ma connaissance aucune technique "simple" ne permet de neutraliser ce contrôle d'accès.


Maintenant nous allons étudier les différents moyens possibles pour renforcer cette sécurité de contrôle d'accès aux raw socket et donc éviter qu'un utilisateur mal intentionné accède à ce type de socket et face des dégats.
Donc notre de but est de bloquer l'accès à ces raw sockets, pour ceci plusieurs logiciels éxistent, j'ai pu en remarquer 2 développés par Gibson Research qui sont libres d'emploies. L'un permet de vérifier où en est votre système au niveau du contrôle d'accès aux raw sockets et l'autre permet de bloquer à TOUS les utilisateurs présents sur la machine l'utilisation de ce type de socket grâce à l'installation d'un nouveau drivers système (KDM).
Tout d'abord étudions le premier, il se nomme SocketToMe, il va donc nous permettre d'étudier les droits de l'utilisateur lancant ce programme concernant l'accès aux raw socket. Vous pourrez le trouver ici (ce fichier se trouve dans l'archive de cet article).
Etudions maintenant le second, celui ci permet de bloquer à TOUS les utilisateurs présents sur le système l'accès aux raw sockets. Ce second utilitaires ce nomme, "SocketLock", il est disponible ici (ce fichier se trouve dans l'archive de cet article).





<<  2  Les Sockets StreamsSommaire4  Les différents protocoles  >>

 Accés rapide

1  Winsock 2 et architecture
2  Les Sockets Streams
3  Les raw sockets

Introduction

Qu'est ce qu'un raw socket ?

L'accès aux raw sockets

4  Les différents protocoles
5  Forger ses propres paquets
6  Programmer un sniffer grâce aux raw sockets
7  Références
8  Remerciements
Voir le sommaire complet

 Liens utiles

  • Publier un article
  • Envoyer cette page
  • Ecrire à l'auteur

  •  Mini-Chat

    Thienou (00h11): salut
    Thienou (00h13): Oula mon inscription date de 11 ans je me sent vieux :)
    neowolf25 (17h59): MMF2 en "pay what you want" jusqu'à demain sur
    neowolf25 (17h59): https://www.hu
    mblebundle.com/
    weekly

    Miuka (21h15): Coin coin de 2014
    Miuka (21h15): Des gens qui ont migré sur le forum Clickteam ou ailleurs ?
    Strike (09h45): Salut les vieux !
    Hikarion (12h46): Salut les djeunz
    Hikarion (13h38): A qui profite le scandale ?
    Hikarion (13h44): le chat irc est toujours actif ?

    Votre message



     Archives

     Dev4all Newsletter

    Restez à jour avec la newsletter mensuelle !

    Votre e-mail


    1800 abonnés

     Recommander Dev4all

    Recommandez Dev4all à un ami. Cela fera grandir notre communauté !

    E-mails de vos amis




    [ Accueil | S'inscrire | Mon Dev4all | Communauté | Téléchargements | Articles | Forums | Chat ]

    [ A propos de Dev4all | Aide | La charte Dev4all | Contact ]

    © 2000-2018 MTProd. Tous droits réservés.
    L'utilisation de Dev4all implique l'acceptation et le respect de la charte Dev4all.