M81 : Détection d’intrusion
Préambule : CentOS n’est plus maintenue !
Utilisation du pot de miel cowrie
préambule
Cowrie est un pot de miel SSH à haute interaction qui permet de se connecter à une machine fictive en utilisant le protocole SSH…
Pour réaliser ce TP, travailler en binôme : la machine A présente le pot de miel, la machine B est sous le contrôle d’un acteur de la menace. À la fin du TP, inverser les rôles et recommencer.
- Sur la machine A, arrêter tous les services réseau, nettoyer les règles de filtrage.
- Lister les services à l’écoute (
ss -lnutp
) - Depuis la machine B, scanner le port 2222.
Installation
- Installer
cowrie
(cf documentation)- Installer les dépendances
- Créer un utilisateur
cowrie
sans mot de passe - Utiliser ce compte pour la suite des opérations
- Cloner le dépôt
- Dans le dossier, créer un environnement Python
- Activer cet environnement
- Mettre à jour l’installeur de paquetages Python
- Installer les dépendances de l’application
- Copier le fichier de configuration par défaut
Configuration
- Configurer
cowrie
:- Parcourir le fichier
- Changer le nom d’hôte (celui par défaut peut être un indicateur pour les acteurs de la menace)
- Examiner la section
[backend_pool]
. Que pouvez-vous en déduire ? - Examiner la section
[ssh]
. Sur quel port le service écoute-t-il ? - Examiner les sections
[output_*]
. Relever lesquelles sont activées.
- Démarrer
cowrie
- Vérifier l’ouverture du port
Test
- Depuis la machine B :
- Scanner le port et déterminer la version du service
- Se connecter en tant que
root
- Vérifier l’adresse IP
- Lancer
nmap
- Installer
nmap
(apt-get
) - Lancer
nmap
- Parcourir le système de fichiers, lancer des commandes…
- Sur la machine A, dans le répertoire du code, examiner les journaux.
- Effectuer une critique du dispositif.
Ouverture du honeypot sur internet
- Rappel : Depuis internet, le port 22 d’une machine virtuelle est accessible depuis l’un des ports à partir de 6200 et le port 1337 depuis l’un des ports à partir de 6500.
- Mettre en place une règle iptables pour rediriger l’un de ces deux ports vers le pot de miel.
À titre d’exemple, voici le script utilisé sur vdi.unicaen.fr
:
#!/bin/bash echo "Scan ARP du réseau local pour récupérer la correspondance adresse MAC/adresse IP" iptables -t nat -F PREROUTING nmap -sn -PR 192.168.144.0/24 -oG - echo machines=$(virsh list | grep -e recap -e CentOS | tr -s ' ' | cut -d ' ' -f3) for dom in $machines do mac=$(virsh dumpxml $dom | grep 'mac address' | cut -d"'" -f2) i=$(arp | grep $mac | cut -d' ' -f1 | cut -d. -f4) echo "Machine $machine, adresse MAC $mac, adresse IP 192.168.144.$i — Mise en place des redirections vers les ports 22 et 1337" iptables -t nat -I PREROUTING -p TCP --dport $((6200+i)) -j DNAT --to-destination 192.168.144.$i:22 iptables -t nat -I PREROUTING -p TCP --dport $((6500+i)) -j DNAT --to-destination 192.168.144.$i:1337 done echo iptables -t nat -nvL PREROUTING
- Vérifier que le pot de miel est bien accessible depuis internet. Les nombreuses utilisations que cela va occasionner seront utiles pour le TP suivant.