Hey guys whats’up ?

En regardant quelque CTF, j’ai pu voir l’importance de la gestion d’un réseau. C’est pourquoi je vous montre quelques bases afin de mieux comprendre, ce qui vous permettra de mieux suivre vos challenge.

 

  • Le réseau et son importance

Le réseau est le chemin vers les systèmes cibles pour les attaquants. Ce chemin est divisé en 2 parties :

– Le chemin à l’intérieur d’une organisation.

– L’interface tournée vers l’extérieur d’une organisation.

Les connexions réseau des appareils faisant face à l’interface externe d’une organisation et les connexions réseau des appareils au sein d’une organisation sont essentielles pour la détection et la prévention des attaques. Les périphériques réseau ou les serveurs peuvent héberger en interne des systèmes d’exploitation basés sur Linux (c’est très souvent le cas). Par conséquent, tout comme il est essentiel de connaître la gestion de réseau dans d’autres systèmes d’exploitation, il est également essentiel de connaître la gestion de réseau pour Linux c’est ce que je vais vous montrer). Car,  chaque appareil de l’organisation a une tâche et pour effectuer cette tâche, il doit être en communication avec de nombreux appareils, en particulier les appareils du réseau où il se trouve.

  • Comment connaître les interfaces réseau d’un système

Sous Linux, il est possible de voir quelles interfaces réseau sont actives et quelle adresse IP elles utilisent à partir de la ligne de commande. Pour cela, j’utilise la commande : sudo ifconfig -a

Comme je peux le constater, les informations concernant l’interface réseau de mon système m’a été retourné avec succès. Le paramètre « -a » (all) est utilisé pour obtenir des informations détaillées et pour voir toutes les interfaces. Il est clair qu’il existe 3 interfaces réseau :

– docker0

– enp0s3

– lo

NB : Toutes ces interfaces sont actives car je vois UP à côté de chaque interface; de plus chacun a une adresse propre (IP).

 

  • Attribution d’une adresse IP dynamique 

Généralement, lorsque le système est connecté au réseau, une adresse IP est automatiquement attribuée aux interfaces réseau par le réseau. C’est le protocole DHCP (Dynamic Host Configuration Protocol) qui assure ce processus automatique. Un ou plusieurs périphériques réseau agissent en tant que serveurs DHCP dans le réseau actuel. Le serveur DHCP est responsable de l’attribution des adresses IP à tous les appareils du réseau. La commande qui permet d’obtenir une adresse IP du serveur DHCP sous Linux est la commande dhclient.

Par exemple, je pars du principe où mon interface réseau nommée enp0s3 n’a pas d’adresse IP : pour voir je tape sudo ifconfig -a enp0s3

Je vais lui attribué une adresse IP à l’aide de cette commande : sudo dhclient enp0s3

Lorsque cette commande est exécutée, le serveur DHCP du réseau est contacté et l’une des adresses IP inactives du groupe d’adresses IP est attribuée.

 

  • Désactivation des interfaces réseau

Un appareil peut avoir plusieurs interfaces réseau. La nécessité d’utiliser une ou plusieurs de ces interfaces réseau peut avoir disparu avec le temps. Ces interfaces réseau peuvent être actives même lorsqu’elles ne sont pas utilisées. Les interfaces réseau qui sont ainsi oubliées sur l’appareil provoquent l’expansion de la surface d’attaque et sont ciblées par les hackers. Par conséquent, ces interfaces doivent être désactivées, ce qui atténue le risque d’attaques. Sous Linux, il est possible de désactiver ces derniers depuis la ligne de commande.

Je vais désactiver l’interface enp0s3sudo ifconfig enp0s3 down

 

Super ! l’interface en question a été désactivée avec succès, maintenant je ne vois plus l’expression UP.

 

  • Activation des interfaces réseau 

L’activation d’une interface réseau désactivée peut également être effectuée sur la ligne de commande Linux. j’active l’interface que j’ai précédemment désactivé : sudo ifconfig enp0s3 up

 

C’est bon ! elle est de nouveau active (UP).

 

  • Attribution d’une adresse IP statique 

Certaines applications peuvent utiliser des adresses IP fixes lorsqu’elles atteignent certains appareils. Dans de tels cas, c’est le processus d’attribution d’adresse IP statique qui fournit une adresse IP fixe. C’est également possible de le faire en ligne de commande, je vous montre.

Commandes :

sudo ifconfig enp0s3 down

sudo ifconfig enp0s3 192.168.1.115

sudo ifconfig enp0s3 up

sudo ifconfig -a enp0s3

 

Avant d’attribuer une adresse IP de manière statique,  je dois désactiver l’interface. Ensuite, j’attribue l’adresse IP statique en précisant le nom de l’interface. Après je dois réactivé l’interface désactivée pour que l’attribution de l’adresse IP statique soit effectuée avec succès.

 

  • Connexions réseau

Sous Linux, il est possible d’afficher les connexions réseau actuelles et leur état via la commande netstat : sudo netstat -atnp

– Le paramètre « -a » (all) est le paramètre utilisé pour afficher toutes les connexions.

– Le paramètre « -t » est utilisé pour afficher uniquement les connexions TCP.

– Le paramètre « -n » est utilisé pour afficher les adresses numériquement sans résoudre les noms de domaine.

– Le paramètre « -p » est utilisé pour afficher le nom du programme et le numéro PID de la connexion.

Cela m’aide à détecter tout trafic suspect vers une adresse IP inconnue ou suspecte lors de l’analyse des hôtes Linux.

 

 

  • Flux de paquets

Il faut savoir qu’il est possible de surveiller instantanément les paquets réseau entrants et sortants. Dans mon exemple j’utilise la commande tcpdump : sudo tcpdump -i enp0s3

Et voici les détails d’un package dans chaque ligne :

 

  • Contrôle d’accès à l’adresse IP de destination

Je peux être amenés à vérifier la communication réseau d’un système utilisant un autre système au sein du même réseau. Il est possible de savoir si l’autre système est accessible à l’aide de la commande ping que tout le monde connaît.

Les paquets réseau sont envoyés à la destination et attendent une réponse. De cette manière, il peut être testé s’il existe une communication réseau avec l’adresse de destination.

NB : Dans certains cas, par mesure de sécurité, le système cible peut être configuré pour ne pas répondre à cette requête afin d’empêcher les hackers de faire la découverte du réseau et de l’hôte.

Toute adresse sur Internet peut être utilisée pour vérifier la connexion Internet. Le nombre de paquets à envoyer peut être donné à la commande « ping » avec le paramètre « -c ».

 

  • Résolution de l’adresse IP du serveur DNS 

Dans le monde informatique, les appareils communiquent entre eux via des valeurs numériques. Par conséquent, les valeurs qui ne correspondent pas à des valeurs numériques doivent trouver leurs équivalents numériques. Par exemple, lorsque j’essai d’accéder à hackingeek.com, l’adresse IP du serveur DNS cible doit être connue ou apprise. Il n’est pas possible pour les utilisateurs de mémoriser toutes les adresses IP auxquelles ils ont besoin d’accéder, par conséquent, j’utilise le protocole DNS (Domain Name System) via des serveurs DNS comme intermédiaires pour effectuer la résolution du nom de domaine et de l’adresse IP et faire rapport à mon système afin que je puisse me connecter facilement aux systèmes cibles.

dig :

 

 

nslookup :

 

 

 

  • Le fameux fichier /etc/hosts 

Lorsque j’essai d’accéder à un domaine sous Linux, l’adresse IP de la cible doit d’abord être résolue. Dans ce processus de résolution d’adresse IP, les enregistrements locaux sont vérifiés en premier. Si l’adresse IP de la cible est connue et enregistrée sur le système, l’adresse IP de la cible est obtenue avant qu’une requête ne soit envoyée au serveur DNS. Ces enregistrements se trouvent dans le fichier /etc/hosts sous Linux :

 

Si je souhaite accéder à localhost, le 127.0.0.1 sera utilisé comme adresse IP. Dans cette section, de nouveaux enregistrements peuvent être ajoutés au contenu du fichier conformément au format. Par exemple, si le domaine google.com doit être ajouté aux enregistrements avec l’adresse IP hackingeek.com, les demandes adressées à google.com sur le système iront à l’adresse IP hackingeek.com au lieu de l’adresse IP google.com.

 

  • Partage de fichiers avec Python 

Si le transfert de fichiers entre appareils au sein du même réseau est nécessaire, le partage de fichiers peut être ouvert facilement en utilisant Python :

 


Voilà le résultat, ça fonctionne !!

 

 

 

J’ai trouvé qu’il fallait un petit peu de base sur la gestion de réseau, car il se peux que durant un CTF ou test d’intrusion vous soyez coincé et avez besoin de ces bases justement pour résoudre votre problématique. J’espère que l’ensemble des explications ont été claire pour vous, en cas de question vous pouvez me contacter.

 

À très vite, see you soon !!! PEACE

No responses yet

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

cinq × 1 =

Follow by Email
YouTube