B-outil-reseau.md 4.0 KB

Automatisation de tâches réseau

Découverte du réseau

Installation des outils

sudo apt-get update && sudo apt-get install arp-scan nmap

Configuration réseau

La commande ip a permet de connaître la configuration réseau de la machine courante:

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 00:0c:29:70:34:f0 brd ff:ff:ff:ff:ff:ff
    inet 172.16.80.128/24 brd 172.16.80.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe70:34f0/64 scope link
       valid_lft forever preferred_lft forever

L'interface ens33 est ici active et possède une adresse IP.

Voisinage réseau

La commande suivante permet de découvrir toutes les machines sur le voisinage réseau:

sudo arp-scan --interface=ens33 172.16.80.1/24

Son exécution donne la sortie ressemblant à ceci :

Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
172.16.80.1	00:50:56:c0:00:02	VMware, Inc.
172.16.80.2	00:50:56:f4:f4:8a	VMware, Inc.
172.16.80.254	00:50:56:e2:3f:0c	VMware, Inc.

3 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9: 256 hosts scanned in 1.871 seconds (136.83 hosts/sec). 3 responded

Exercice : Scan simple

Ecrivez un script scan-if qui va prendre un paramètre: le numéro de l'interface réseau donné par ip a. Dans l'exemple précédent, 2 donne l'interface ens33

L'appel du script donnera la sortie suivante:

$ scan-if 2
172.16.80.1	00:50:56:c0:00:02	VMware, Inc.
172.16.80.2	00:50:56:f4:f4:8a	VMware, Inc.
172.16.80.254	00:50:56:e2:3f:0c	VMware, Inc.

Exécutez ce script en branchant votre machine sur différents réseaux.

Note: pour redémarrer l'interface réseau, utilisez sudo systemctl restart networking

Découverte d'une machine

La commande suivante:

sudo nmap -O -sV  172.16.80.128

donne la sortie:

Starting Nmap 7.40 ( https://nmap.org ) at 2018-01-24 01:17 CET
Nmap scan report for 172.16.80.128
Host is up (0.000036s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.4p1 Debian 10+deb9u2 (protocol 2.0)
80/tcp open  http    Apache httpd 2.4.25 ((Debian))
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.8 - 4.6
Network Distance: 0 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.29 seconds

Etudiez le manuel de nmap pour déterminer à quoi servent les différents paramètres:

  • -O
  • -sV

Est-il possible de ne scanner que le port 22 ?

Exercice: Scan approfondi

Vous allez reprendre le script précédent.

Cette fois, pour chaque IP, si la machine possède un port ssh ouvert, tentez une connexion en utilisant votre clef SSH et votre login.

Sur chaque machine cible, lancez une commande permettant de récuperer le contenu du fichier /etc/resolv.conf et d'en récuperer les nameserver (DNS).

Votre script devra lister ces nameserver pour les machines auxquelles elle aura réussi à se connecter. L'OS de la machine doit également être affiché.

Si la connexion à la machine est impossible, afficher N/A pour la valeur du nameserver

Ajoutez un affichage des noms des colonnes:

$ scan-deep 2
Target        OS               nameserver
172.16.80.1   "Apple iOS 10"   N/A
172.16.80.2   "VMware Player virtual NAT device"  N/A
172.16.80.254	"Linux 3.8 - 4.6"	172.16.80.2