Some corrections
This commit is contained in:
parent
a1ec10255f
commit
b3b8be6e38
1 changed files with 34 additions and 31 deletions
|
@ -1,17 +1,17 @@
|
|||
---
|
||||
title: "Sécurité des réseaux : Commandes utiles"
|
||||
date: 2022-12-01
|
||||
tags: ["nmap", "tcpdump", "MitM"]
|
||||
tags: ["nmap", "tcpdump", "MitM", "SSH"]
|
||||
categories: ["Sécurité des réseaux", "TD"]
|
||||
---
|
||||
|
||||
Le but de cet article est de répertorier les commandes uiles que nous avons
|
||||
Le but de cet article est de répertorier les commandes utiles 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).
|
||||
Nmap est le couteau suisse du scan de port. Il peut être utilisé en attaque mais
|
||||
aussi en défense préventive (test de sa propre infrastructure).
|
||||
|
||||
### découverte de l'hôte seulement
|
||||
|
||||
|
@ -43,14 +43,14 @@ plus rapide.
|
|||
|
||||
## Spoof ARP
|
||||
|
||||
La command `arpspoof` permet de faire de l'*ARP* cache poisoning en utilisant la
|
||||
La commande `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 <dev> -r -t <addr_target> <host>
|
||||
```
|
||||
|
||||
Empoisoser le cache de `<addr_target>` -- ou de tout le reseau si `-t` n;est pas
|
||||
Empoisser le cache de `<addr_target>` -- ou de tout le réseau si `-t` n'est pas
|
||||
utilisé -- pour détourner le trafic de `<host>`
|
||||
|
||||
## TCP dump
|
||||
|
@ -62,10 +62,10 @@ sortie standard:
|
|||
```
|
||||
tcpdump -i <dev> -n
|
||||
```
|
||||
* `-i` périphériue à écouter
|
||||
* `-i` périphérie à é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
|
||||
Dans le cadre d'un TD cette méthode peut suffire, mais dès que le trafic 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*:
|
||||
|
||||
|
@ -73,14 +73,14 @@ le trafic pour l'analyse avec un outils comme *Wireshark*:
|
|||
tcpump -i <dev> -n -s 1500 -w <file>
|
||||
```
|
||||
|
||||
Ici `-s 1500` limite la taille des paquets à capturer à 1500 bits hitoire de ne
|
||||
Ici `-s 1500` limite la taille des paquets à capturer à 1500 bits histoire de ne
|
||||
pas tronquer les trames. On peut spécifier `-s0` pour ne pas donner de limite.
|
||||
|
||||
`-w <file>` écrit la capture dans le fichier `<file>` en mode binaire
|
||||
|
||||
### requête
|
||||
|
||||
Il est aussi possible de faire en sorte de filter le traffic capturé.
|
||||
Il est aussi possible de faire en sorte de filtre le trafic capturé.
|
||||
|
||||
```
|
||||
tcpdump -i <dev> 'tcp and src <ip> and 80'
|
||||
|
@ -104,11 +104,11 @@ http.
|
|||
|
||||
## Iptables
|
||||
|
||||
### rediriger le traffic sur la machine locale
|
||||
### rediriger le trafic 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:
|
||||
Lors d'un forward, il est possible de rediriger le trafic sur la machine locale
|
||||
avec l'option `-j REDIRECT`. Cette option s'utilise sur la table `nat`. Voici un
|
||||
exemple pour le trafic HTTP.
|
||||
|
||||
```
|
||||
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 8080
|
||||
|
@ -120,19 +120,19 @@ SSH est bien plus qu'un outils pour se connecter sur un TTY à distance de
|
|||
manière sécurisée. Il est possible de faire des rebonds, de rediriger les
|
||||
connexions, créer des tunnels etc.
|
||||
|
||||
Certaines options de la ligne de commande peuvent être interessante:
|
||||
Certaines options de la ligne de commande peuvent être intéressante:
|
||||
|
||||
* `-f`: passer SSH en tâche de fond et rendre la main. Utile pour les tunnels
|
||||
* `-N`: ne pas exécuter de commandes, utile lorsqu'on redirige simplement des
|
||||
ports.
|
||||
* `-n`: ne rien lire sur l'entrée standard, utile pour juste lancer une
|
||||
application sur le serveur cible
|
||||
* `-T`: ne pas allouer de pseudo terminal (mode non-interactif)
|
||||
* `-T`: ne pas allouer de pseudo terminal (mode non interactif)
|
||||
* `-t`: forcer l'allocation de pseudo terminal
|
||||
|
||||
### Connexion par rebond
|
||||
|
||||
Le principe: utiliser un serveur pour faire un rebond et ainsi accèder à une
|
||||
Le principe: utiliser un serveur pour faire un rebond et ainsi accéder à une
|
||||
machine non accessible
|
||||
|
||||
```
|
||||
|
@ -141,7 +141,7 @@ ssh -J ssh.domain.com leserveur.domain.local
|
|||
|
||||
Je me connecte ainsi à `leserveur.domain.local` en passant par `ssh.domain.com`
|
||||
|
||||
Il est possible d'automatiser le rebond dans le fochoer de configuration de ssh
|
||||
Il est possible d'automatiser le rebond dans le fichier de configuration de ssh
|
||||
(`~/.ssh/config`):
|
||||
|
||||
```
|
||||
|
@ -154,14 +154,14 @@ Host mcgonagall
|
|||
|
||||
### Créer un tunnel
|
||||
|
||||
Il est aussi possible de créer un tunnel sécurisé afin d'accéder à une resource
|
||||
Il est aussi possible de créer un tunnel sécurisé afin d'accéder à une ressource
|
||||
d'un réseau local en passant par un serveur SSH:
|
||||
|
||||
```
|
||||
ssh -L 8443:192.168.0.254:443 ssh.domain.com
|
||||
```
|
||||
|
||||
Ici la connection se fait commme suit:
|
||||
Ici la connections se fait comme suit:
|
||||
|
||||
```
|
||||
localhost:8443 -> ssh.domain.com -> 192.168.0.253:443
|
||||
|
@ -178,8 +178,8 @@ dynamique (avec des applications qui le supporte):
|
|||
ssh -D 9050 -Nf ssh.domaine.com
|
||||
```
|
||||
|
||||
Il est par exemple possible de configuer son navigateur web afin d'utiliser ce
|
||||
proxy poyr y faire transiter les données. Le site visité identifira sa source
|
||||
Il est par exemple possible de configure son navigateur web afin d'utiliser ce
|
||||
proxy pour y faire transiter les données. Le site visité identifiera sa source
|
||||
comme `ssh.domain.com`.
|
||||
|
||||
#### proxychains
|
||||
|
@ -188,19 +188,21 @@ Proxychains est un logiciel permettait de "proxyfier" n'importe quel logiciel.
|
|||
Il est par exemple possible de lancer un scan de port via un proxy socks pour
|
||||
être au plis près de sa cible.
|
||||
|
||||
La configucation se fait dans le fichier `/etc/proxychains.conf`, dans notre
|
||||
La configuration se fait dans le fichier `/etc/proxychains.conf`, dans notre
|
||||
exemple plus haut il faut ajouter la ligne si elle n'y est pas:
|
||||
|
||||
```
|
||||
socks4 127.0.0.1 9050
|
||||
```
|
||||
|
||||
Puis lancer un scan de ports en préficant la commande de `proxychains`:
|
||||
Puis lancer un scan de ports en préfixant la commande de `proxychains`:
|
||||
|
||||
```
|
||||
proxychains nmap -sV macile.domain.com
|
||||
proxychains nmap -sV macible.domain.com
|
||||
```
|
||||
|
||||
Il est ainsi possible de scanner les ports d'une machine inaccessible auparavant.
|
||||
|
||||
## Gnutls
|
||||
|
||||
### Mettre en place un serveur / client (tester les certificats)
|
||||
|
@ -224,7 +226,7 @@ gnutls-cli --x509cafile=<file.pem>
|
|||
|
||||
### Création de sa propre CA
|
||||
|
||||
Voici la commande pour générer la clé et le certificate de notre CA.
|
||||
Voici la commande pour générer la clé et le certificat de notre CA.
|
||||
|
||||
```
|
||||
openssl req -x509 -new -newkey rsa:<keysize> -noenc \
|
||||
|
@ -250,8 +252,9 @@ openssl req -new -newkey rsa:<keysize> -sha256 -noenc -out <filename.csr> \
|
|||
```
|
||||
|
||||
### 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
|
||||
|
||||
Voici la commande pour signer la requête en signature avec la clé de notre
|
||||
autorité. C'est ici que nous allons définir la durée de validités du certificat
|
||||
signé.
|
||||
|
||||
```
|
||||
|
@ -264,8 +267,8 @@ Quelques commande utiles pour administrer un service Kerberos.
|
|||
|
||||
### kadmin.local
|
||||
|
||||
Comme la commande le suggère, `kadmin` sert à adminstrer le serveur. Une fois la
|
||||
commande lancée, un promp apparait.
|
||||
Comme la commande le suggère, `kadmin` sert à administrer le serveur. Une fois la
|
||||
commande lancée, un prompt apparait.
|
||||
|
||||
La commande suivante créée une clé pour l'hôte `<host>`:
|
||||
|
||||
|
@ -276,7 +279,7 @@ kadmin: addprinc -randkey host/<host>.example.com
|
|||
`-randkey` permet de générer une clé aléatoire en lieu et place d'un mot de
|
||||
passe.
|
||||
|
||||
Il est ensuite de créer une clé supplémentaire pour le service nfs par exemple:
|
||||
Il est ensuite de créer une clé supplémentaire pour le service NFS par exemple:
|
||||
|
||||
Ou encore de rajouter un utilisateur à notre royaume
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue