diff --git a/content/secu_reseaux/99_commandes_utiles/index.md b/content/secu_reseaux/99_commandes_utiles/index.md new file mode 100644 index 0000000..9cc9f8c --- /dev/null +++ b/content/secu_reseaux/99_commandes_utiles/index.md @@ -0,0 +1,172 @@ +--- +title: "Sécurité des réseaux : Commandes utiles" +date: 2022-12-01 +tags: ["nmap", "tcpdump", "MitM"] +categories: ["Sécurité des réseaux", "TD"] +--- + +Le but de cet article est de répertorier les commandes uiles que nous avons +utilisés lors de différents TD et d'expliquer le contexte d'utilisation. + +## Nmap + +map est le couteau suisse du scan de port. Il ppeut être utilisé en attaque mais +aussi en défense préventive (test de sa propre infrasctucture). + +### découverte de l'hôte seulement + +``` +nmap -sn +``` + +### déterminer les versions + +``` +nmap -A -sV +``` + + * `-sV`: lance un scan en essayant de déterminer la version des services en + écoute + * `-A`: affiche plus d'informations + +### Les différents type de scan + + * `nmap -sS `: *SYN* scan + * `nmap -sX `: *XMAS* scan + * `nmap -sF `: *FIN* scan + +### Temporiser + +Il est possible de temporiser les différents scan afin de se rendre un peu plus +discret avec l'option `-T `. `` étant un chiffre de 0 (plus lent) à 5 +plus rapide. + +## Spoof ARP + +La command `arpspoof` permet de faire de l'*ARP* cache poisoning en utilisant la +technique du *flood* afn de noyer les hôtes du réseau d'annonces. + +``` +arpspoof -i -r -t +``` + +Empoisoser le cache de `` -- ou de tout le reseau si `-t` n;est pas +utilisé -- pour détourner le trafic de `` + +## TCP dump + +`tcpdump` est un outils de capture de trame réseau en ligne de commande. Il est +possible de le lancer simplement afin qu'il affiche les informations sur la +sortie standard: + +``` +tcpdump -i -n +``` + * `-i` périphériue à écouter + * `-n` ne résout pas les adresse IP vers le nom d'hôte + +Dans le cadre d'un TD cette méthode peut suffire, mais dès que le traffic réseau +devient plus important, il est plus difficile de suivre. On peut alors capturer +le trafic pour l'analyse avec un outils comme *Wireshark*: + +``` +tcpump -i -n -s 1500 -w +``` + +Ici `-s 1500` limite la taille des paquets à capturer à 1500 bits hitoire de ne +pas tronquer les trames. On peut spécifier `-s0` pour ne pas donner de limite. + +`-w ` écrit la capture dans le fichier `` en mode binaire + +### requête + +Il est aussi possible de faire en sorte de filter le traffic capturé. + +``` +tcpdump -i 'tcp and src and 80' +``` + +Ici on capture les trames *TCP* donc la source est `` et sur le port 80. + +### Utiliser les outils usuel + +Pour utiliser les outils usuels tels que `grep`, `awk` ou `sed` avec *tcpdump*, +il faut activer le mode *buffered line* avec le drapeau `-l`, il est aussi +conseillé d'activer le mode verbeux avec `-v` (ou `-vv` pour avoir plus de +détails): + +``` + tcpdump -v -l -n 'port http' | grep 'Host\|User-Agent' +``` + +L'exemple ci-dessus affiche le champs `Host` et `User-Agent` d'une connexion +http. + +## Iptables + +### rediriger le traffic sur la machine locale + +Lors d'un forward, il est possible de rediriger le traffic sur la machine locale +avec l'option `-j REDIRECT`. Cette option s'utilise sur la table `nat`. voici un +exemple pour le traffic http: + +``` +iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 8080 +``` + +## Gnutls + +### Mettre en place un serveur / client (tester les certificats) + +Il est possible d'utiliser gnutls pour tester des certificats et s'assurer que +tout fonctionne correctement (le certificat de l'autorité de certification par +exemple). + + +``` +# sur le serveur +gnutls-serv --x509keyfile= --x509certfile= +``` + +``` +# le client +gnutls-cli --x509cafile= +``` + +## Openssl + +### Création de sa propre CA + +Voici la commande pour générer la clé et le certificate de notre CA. + +``` +openssl req -x509 -new -newkey rsa: -noenc \ + -key $CANAME.key -sha256 -days 1826 \ + -out \ + -keyout \ + -subj '' +``` + +NMous allons pouvoir fournir le certificat aux machines voulues pour qu'elle +acceptent nos certificats et signer les requêtes en signature. + +### Création de certificat + +Il est d'abord nécessaire de créer une clé et une requête en signature. Ces deux +étapes sont réalisable en une seule commande: + +``` +# générer la clé +openssl req -new -newkey rsa: -sha256 -noenc -out \ + -keyout + -subj +``` + +### Signer la CSR +Voici la commande pour signer lea requête en signature avec la clé de notre +autorité. C'est ici que nous alons définir la durée de validiter du certificat +signé. + +``` +openssl x509 -req -days 365 -in -out -signkey +```