Présentation de Labtainers

Les labtainers mis à disposition par l'université américaine Naval Postgraduate School incluent plus de 50 exercices et outils de cyber-laboratoire pour construire votre propre progression ou vos propres laboratoires.

Vous disposez au sein de la distribution labtainer de :

  • Environnements d’exécution de laboratoire cohérents et provisionnement automatisé via des conteneurs Docker
  • Topologies de réseau multicomposants sur un ordinateur portable à performances modestes (Démo de 50 secondes)
  • Évaluation automatisée de l’activité et des progrès du laboratoire étudiant
  • Exercices de laboratoire individualisés pour décourager le partage de solutions

Le moyen le plus simple de fournir aux étudiants les Labtainers est d’installer la VM VirtualBox ou VMWare (brève démonstration), vous pouvez  également installer la distribution sur un système Linux. Cette image de machine virtuelle Ubuntu graphique pré-installée contient tout ce dont les étudiants ont besoin pour exécuter les exercices Labtainer, y compris ceux qui créent plusieurs hôtes en réseau. Les dispositifs peuvent également être installés sur des services accessibles sur le Web tels que VMWare Horizon.

Les laboratoires sont intégrés au sein de la distribution Labtainer et ont été initialement développés par l’initiative SeedLabs de l'université américaine de Syracuse au sein du Projet Seed https://seedsecuritylabs.org/Labs_20.04/

Attention : chaque fois qu’un lab est exécuté pour la première fois, le framework télécharge automatiquement tout ce qui est nécessaire à partir du Docker Hub , une connexion internet est nécessaire.

L’authentification sur la machine virtuelle labtainer se fait avec student, mot de passe password123. Comme la VM est en clavier qwerty, il faudra taper pqsszord&é ou pqsszord123 si vous disposez d’un pavé numérique sur votre clavier.

Les terminaux de chaque laboratoire peuvent avoir d'autres noms d’utilisateur et mots de passe, et ceux-ci sont généralement explicitement indiqués dans les documents du laboratoire et les fiches d'activité.

Téléchargement de la VM : Virtual Machine Images - Center for Cybersecurity and Cyber Operations - Naval Postgraduate School (nps.edu)

Conseil : installer la dernière version de virtual box (7.0.10) disponible lors de la dernière release de labtainer (septembre 2023) sinon vous pouvez avoir des erreurs

Même si vous installez la dernière version de la VM, vous devez mettre à jour votre installation des labs Labtainers (labs fix)  en exécutant : update-labtainer.sh à partir de votre répertoire labtainers-student.

SOUS PEINE D AVOIR DES DYSFONCTIONNEMENTS SUR CERTAINS LABS

NB : la VM est en qwerty, lancer la commande sudo dpkg-reconfigure keyboard-configuration pour le configurer en azerty. Selectionnez "Generic 105-key (Intl) PC", puis "French" deux fois. Pour la touche spéciale AltGr : sélectionnez "The default for the keyboard layout" puis "no compose key". Votre clavier est maintenant en AZERTY.

Conseil : Pour que le clavier reste en français après un redémarrage, il faut désormais utiliser l'assistant graphique (cf article). => faire un apt update avant

Pour vérifier qu'un lab a été traité utiliser la commande checkwork <nomdulab>

Pour recommencer un lab en réinitialisant son contenu labtainer -r <nomdulab>

Ressource pour les enseignants : télécharger l’intégralité des labs dans une archive afin de mettre à jour la distribution et les labs, cette archive contient la version pdf et docx des labs (en anglais) ainsi que les éléments de configuration utilisés lors du lancement du lab.

https://github.com/mfthomps/Labtainers/releases/latest/download/labtainer.tar

OWASP Web Security Labs : des labtainers supplémentaires orientés SLAM mis à disposition par Liberty University

https://nps.edu/web/c3o/imodules

Ressources produites pour Labtainers

LABTAINER est un environnement virtuel qui tourne sous Ubuntu Desktop et qui permet de monter/démonter de manière automatique des architectures virtuelles systèmes/réseaux (conteneurs Docker) sur lesquelles on peut se baser pour lancer des environnements systèmes/réseaux autonomes avec des énoncés de TP intégrés (https://nps.edu/web/c3o/labtainer-lab-summary1) et axés sur le thème de la cybersécurité et de l'analyse réseau.

Ces systèmes "clés en main" sont en anglais et avec parfois un accompagnement casi inexistant vers la solution au problème posé, le système "auto-correctif" rudimentaire (commande checkwork) proposé permet néanmoins à l'étudiant de vérifier si sa solution est correcte ou non.

Il nous a semblé intéressant d'utiliser cette distribution et certains TP proposés en les augmentant de contextualisation et de questionnements pour mieux guider nos étudiants.

Vous trouverez une vidéo de présentation de l'installation de la VM et de la prise en main de labtainer à l'aide du labo telnet réalisée par Jérôme Bezet-Torres (académie de Lyon).

Emmanuel Le Gars , Olivier Thévenin, Jean-Luc Baptiste et Valérie Martinez vous proposent des traductions des TP avec leur corrigé et des questionnements complémentaires ou des adaptations sur la distribution  labtainers dans le tableau ci-dessous.

Pour chaque laboratoire, nous vous proposons de publier les ressources que les enseignants de BTS SIO voudront bien partager dans le tableau ci-dessous.

Vous trouverez un lien vers un dossier regroupant les énoncés en PDF des TP disponibles sur la distribution.

Les laboratoires sont organisés en catégories suivantes :

Avertissement : les corrigés des ressources proposées sont disponibles uniquement aux enseignants inscrits sur le site à la page : https://www.reseaucerta.org/labtainers-corriges

Certaines ressources ne comportant pas la version élève, sont uniquement visible dans la page des corrigés, en vert surligné sont les ressources traduites avec corrigé.

En jaune surligné celles qui bien que non traduites sont autoportantes et très guidées

Réseau

Laboratoire

Description

Difficulté

SIO1,
SISR
SLAM

DOC EN

DOC FR

Ressources proposées

network-basics

Mise en réseau de base, y compris ARP, ping et une introduction à TCP /IP.

1

SIO1

archive

   

nmap-discovery

L’utilitaire nmap est utilisé pour localiser un serveur ssh sur un réseau et pour découvrir le numéro de port utilisé par le service.

2

SIO1

archive

archive_fr, cor

Ressource_fr, corrigé

nmap-ssh

L’utilitaire nmap est utilisé en combinaison avec l’utilitaire d’analyse de trafic réseau tcpdump et tshark pour démontrer un problème de sécurité avec un serveur ssh.

2

SIO1

archive

archive_fr

ressource_fr, corrigé

telnetlab

L’étudiant utilise telnet pour accéder à un ordinateur distant, et utilise l’outil tcpdump pour afficher les mots de passe en "clair", et observer comment l’utilisation de ssh atténue cette vulnérabilité.

 1 

SIO1

archive

archive_fr, corrigé

JLB_corrigé

routing-basics

Un exemple de « routage » via NAT (avec iptables) avec un LAN, une connexion Internet et un serveur web distant

2

SIO1

 

 

 

iptables2

L’utilitaire iptables est utilisé pour configurer un « pare-feu » afin de transmettre uniquement le trafic de service d’application sélectionné entre un client et un serveur (3 machines).

2

SIO1 ou SISR

archive

archive_fr OT_corrigé

tcpip

Vulnérabilités du protocole TCP/IP, y compris les inondations syn, les attaques de TVD et le détournement de session. Dérivé du laboratoire SEED.

2

SISR

 

 

 

arp-spoof

Utilisation de l’usurpation ARP pour les attaques man-in-the-middle.

2

SISR

archive

 

Ressource_fr, corrigé

local-dns

Usurpation DNS et empoisonnement cache sur un réseau local. Dérivé du laboratoire SEED.

3

SISR

 

 

 

snort

Utilisation de snort pour la détection des intrusions réseau

2

SISR

archive

  OT_corrigé

dmz-lab

Configurer une DMZ pour une entreprise.

2

SISR

 

 

 

radius

Utilisez un service d’authentification Radius pour authentifier les périphériques réseau.

2

SISR

 

 

 

ldap

Authentifiez les utilisateurs de serveurs Linux à l’aide d’un service LDAP.

2

SIO1 ou SISR

 

 

 

bird-bgp

Explorez le protocole de frontière de passerelle et configurez un routeur BGP.

2

SISR

 

 

 

bird-ospf

Explorez le protocole de routeur Open Shortest Path First et utilisez-le pour créer un site Web usurpé.

2

SISR

 

 

 

Analyse du trafic réseau

Laboratoire

Description

Difficulté

SIO1,
SISR
SLAM
Docs EN

Docs FR

Ressources

pcapanalysis

L’outil d’analyse du trafic réseau tshark est utilisé pour identifier et afficher un paquet réseau spécifique contenant un mot de passe plaintext.

2

SISR archive

archive_fr

 

wireshark-intro

Introduction à l’utilisation de Wireshark pour analyser le trafic réseau.

2

SIO1 archive

archive_fr

corrigé inclus dans l'énoncé

packet-introspection

Utilisez Wireshark pour une analyse plus avancée du trafic réseau

3

SIO1 archive

archive_fr

corrigé

pcap-lib

Développez des programmes à l’aide de la bibliothèque PCAP pour analyser une capture de paquets inconnue.

3

SISR  

 

 

netflow

Explorez le protocole de trafic réseau NetFlow et le type d’enregistrement de données à l’aide de la suite logicielle CMU SiLK.

3

SISR  

 

 

Laboratoires cryptographiques

Laboratoire

Description

Difficulté

SIO1,
SISR
SLAM
Docs EN

Ressources

macs-hash

Exploration des hachages cryptographiques et du risque de collisions de hachage.

2

SIO1 ou SISR

 

 

onewayhash

Introduction à la génération de hashes cryptographiques à l’aide de l’utilitaire openssl.

1

SIO1

 

 

pubkey

Explorez les certificats de clé publique à partir d’une variété de sites Web

1

SIO1  

 

sshlab

Utilisation d’une paire de clés public/privé pour accéder à un serveur via ssh.

1

SIO1    

ssh-agent

Utilisez un agent SSH pour gérer votre clé privée et éviter de retaper votre passphase

1

SIO1  

 

ssl NEW

L’utilisation de SSL pour authentifier les deux côtés d’une connexion comprend la création et la signature de certificats à l’aide d’une CA.

2

SISR

archive

Ressource_fr, corrigé

symkeylab

Exploration des modes de cryptage des clés symétriques.

1

SIO1

archive

Ressource_fr, corrigé

vpnlab

Exemple d’utilisation d’OpenVPN pour protéger le trafic réseau.

2

SIO1

 

 

vpnlab2

Similaire à vpnlab, mais avec l’utilisation d’une passerelle vpn.

2

SISR

 

 

Vulnérabilités logicielles

Laboratoire

Description

Difficulté

SIO1,
SISR
SLAM
Docs EN

Ressources

bufoverflow

Un programme d’exemple vulnérable à un débordement de tampon de pile, dérivé d’un laboratoire SEED.

3

SLAM    

buf64

Une version 64 bits du laboratoire bufoverflow

3

SLAM    

formatstring

Explorez les vulnérabilités de fonction printf de la bibliothèque C, dérivées d’un laboratoire SEED.

2

SLAM    

format64

Une version 64 bits du laboratoire de formatstring

2

SLAM    

gdblesson

Une introduction à l’utilisation de gdb pour déboguer un programme C simple.

1

SLAM    

ghidra

Reverse engineering d’un service vulnérable simple pour découvrir et démontrer certaines de ses propriétés.

2

SLAM    

metasploit

Utilisez la console metasploit sur un système Linux Kali pour attaquer un serveur vulnérable « metasploitable ».

1

SLAM, SISR archive, archive_fr

JLB_corrigé

printf

Introduction aux références mémoire faites par printf et leur potentiel d’exploitation.

1

SLAM    

overrun

Introduction aux références à la mémoire au-delà des limites des structures de données en C.

1

SLAM    

retlibc (retlibc)

Exploitez un programme à l’aide d’un débordement tampon et d’un retour à libc, dérivé d’un laboratoire SEED.

3

SLAM    

setuid-env

Risques de la fonction setuid, y compris les variables en environnement, dérivées d’un laboratoire SEED.

2

SLAM, SISR    

cgc

Explorez plus de 200 services vulnérables du Grand Défi Cyber DARPA.

3

SLAM, SISR    

Laboratoires de sécurité Web

Laboratoire

Description

Difficulté

SIO1,
SISR
SLAM
Docs EN

Ressources

webtrack

Illustre les techniques de suivi web et le rôle des serveurs d’annonces, dérivés d’un laboratoire SEED.

1

SLAM

 

 

xforge

Cross Site Request Forgery avec un site Web vulnérable, dérivé d’un laboratoire SEED.

2

SLAM

 

 

xsite

Attaques de script de sites croisés sur un serveur Web vulnérable, dérivées d’un laboratoire SEED.

2

SLAM

 

 

sql-inject NEW

Attaques d’injection SQL et contre-mesures, dérivées d’un laboratoire SEED.

>2

SLAM, SISR

archive, archive_fr

JLB_corrigé

Laboratoires de sécurité et opérations du système

Laboratoire

Description

Difficulté

SIO1,
SISR
SLAM
Docs EN

Ressources

acl

Listes de contrôle Acess (ACLs) sur Linux

2

SIO1

 

 

db-access

Contrôlez le partage d’informations dans une base de données SQL par une politique de sécurité de l’information.

2

SLAM, SISR

 

 

backups2

Utilisation de tar et de vidage/restauration pour les sauvegardes de fichiers, y compris les sauvegardes distantes.

1

SLAM, SISR

 

JLB_corrigé

capabilities

Utilisation des fonctionnalités Linux pour limiter les privilèges de programme.

2

SLAM, SISR

 

 

sys-log

Enregistrez l’utilisation et la configuration de base du système sur un système Ubuntu.

2

SISR

 

 

centos-log2

Enregistrez l’utilisation et la configuration de base du système sur un système CentOS.

2

SISR

 

 

file-deletion

Récupération de données à partir de fichiers supprimés dans les systèmes de fichiers EXT2 et NTFS.

2

SISR

 

 

file-integrity

Vérification de l’intégrité du fichier, découverte de l’empreinte des fichiers sha1, et suppression de l’intrus

2

SIO1

archive

 

pass-crack

Introduction aux mots de passe et aux schémas élémentaires de "crack".

2

SIO1

archive

 

denyhost

Utilisation de l’utilitaire denyhost pour bloquer les attaques de force brute sur SSH

2

SISR

 

 

ossec

IDS Host-based avec OSSEC.

2

SISR

archive

OT_corrigé

users

Introduction à la gestion des utilisateurs, des groupes et des autorisations sur les fichiers.

1

SIO1

 

 

nix-commands

Introduction aux commandes Linux et shell.

1

SIO1