Dans cette étape, vous allez configurer un serveur SMB (Server Message Block) local à l'aide de Samba. SMB est un protocole de partage de fichiers réseau qui permet aux applications sur un ordinateur d'accéder aux fichiers et aux ressources sur un serveur distant. Samba est une implémentation logicielle libre du protocole réseau SMB. Cela fournira une cible pour votre attaque Hydra SMB dans les étapes ultérieures.
Tout d'abord, installons Samba. Ouvrez votre terminal dans le répertoire ~/project.
sudo apt update
sudo apt install samba -y
Cette commande met à jour les listes de paquets, puis installe le paquet Samba. L'option -y répond automatiquement par « oui » à toutes les invites pendant l'installation.
Ensuite, vous devez configurer Samba. Vous commencerez par sauvegarder le fichier de configuration original.
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
Maintenant, créons un nouveau fichier de configuration propre en écrasant directement le fichier existant. Cette approche garantit l'absence de conflits avec les paramètres Samba par défaut d'Ubuntu.
Copiez la commande suivante et exécutez-la dans le terminal. Assurez-vous que la commande est copiée correctement.
sudo tee /etc/samba/smb.conf > /dev/null << 'EOF'
[global]
workgroup = WORKGROUP
server string = Serveur Samba
netbios name = fileserver
security = user
map to guest = never
## Désactiver l'accès anonyme
restrict anonymous = 2
## Activer explicitement SMBv1 et NTLMv1 pour Hydra
server min protocol = NT1
client min protocol = NT1
ntlm auth = ntlmv1-permitted
## Se lier à l'hôte local
interfaces = 127.0.0.1
bind interfaces only = yes
## Journalisation
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
debug level = 3
[share]
path = /home/labex/project/share
browsable = oui
writable = oui
guest ok = non
read only = non
valid users = labex
EOF
Cette commande remplacera entièrement le contenu de /etc/samba/smb.conf par notre configuration propre.
Points de configuration importants :
map to guest = never - Empêche l'accès anonyme des invités
restrict anonymous = 2 - Désactive complètement l'accès anonyme
server min protocol = NT1 et client min protocol = NT1 - Active SMBv1 pour la compatibilité avec Hydra
ntlm auth = ntlmv1-permitted - Autorise l'authentification NTLMv1 pour les tests
interfaces = 127.0.0.1 et bind interfaces only = yes - Limite l'accès à l'hôte local uniquement
guest ok = no - Désactive l'accès des invités au partage
valid users = labex - Limite l'accès à un utilisateur spécifique uniquement
Pourquoi écraser l'intégralité du fichier :
- Évite les conflits avec les paramètres Samba par défaut d'Ubuntu
- Assure une configuration propre et minimale optimisée pour les tests Hydra
- Élimine les problèmes potentiels liés aux directives en double ou contradictoires
- Fournit un point de départ cohérent pour tous les utilisateurs
Cette configuration garantit qu'Hydra pourra détecter correctement les tentatives d'authentification sans interférence de l'accès anonyme.
Maintenant, créons le répertoire partagé.
mkdir ~/project/share
sudo chmod 777 ~/project/share
Cela crée un répertoire nommé share dans votre répertoire ~/project et définit ses permissions à 777, ce qui signifie que tout le monde a les permissions de lecture, d'écriture et d'exécution. Remarque : Dans un scénario réel, vous souhaiteriez utiliser des permissions plus restrictives. Pour simplifier cet environnement de laboratoire, nous utilisons 777.
Ensuite, vous devez ajouter un utilisateur Samba. Cet utilisateur sera utilisé pour s'authentifier sur le serveur SMB. Vous utiliserez l'utilisateur labex qui existe déjà sur le système. Tout d'abord, définissez un mot de passe Samba pour l'utilisateur labex.
sudo smbpasswd -a labex
Vous serez invité à saisir un nouveau mot de passe pour l'utilisateur labex. Entrez password et confirmez-le.
Nouveau mot de passe SMB :
Ressaisissez le nouveau mot de passe SMB :
Utilisateur labex ajouté.
Enfin, redémarrez le service Samba pour appliquer les modifications.
sudo /etc/init.d/smbd restart
sudo /etc/init.d/nmbd restart
Vous devriez voir une sortie similaire à ceci :
* Arrêt du démon SMB/CIFS smbd [ OK ]
* Démarrage du démon SMB/CIFS smbd [ OK ]
* Arrêt du serveur de noms NetBIOS nmbd [ OK ]
* Démarrage du serveur de noms NetBIOS nmbd [ OK ]
Cette commande vérifie votre configuration Samba pour les erreurs de syntaxe et affiche la configuration active. Vous devriez voir une sortie confirmant vos paramètres sans aucune erreur.
Maintenant, votre serveur SMB local est configuré avec des paramètres de sécurité appropriés. Vous avez créé un répertoire partagé nommé share et ajouté l'utilisateur labex avec un mot de passe Samba. La configuration est optimisée pour fonctionner correctement avec les attaques Hydra.