Ce tutoriel vous guidera dans l’installation de Game of Active Directories (GOAD) sur Proxmox. La suite de l'article est disponible ici :
Un défi supplémentaire peut être ajouté : tenter d’échapper à la détection de Trapster, notre solution de honeypot open source. Le code est disponible ici :
https://github.com/0xBallpoint/trapster-community
Ce guide s’inspire fortement de deux excellents tutoriels réalisés par 0xBEN et Mayfly :
Nous avons suivi ces tutoriels pour commencer, mais avons rencontré quelques problèmes de compatibilité. C'est pour cela que nous avons décidé de créer un tutorial pour expliquer nos étapes.
Après la création du serveur et l'installation de Proxmox
Ce tutoriel commence après que vous ayez créé votre serveur et installé Proxmox avec succès.
Connectez-vous à Proxmox et assurez-vous de changer votre mot de passe. Ensuite, vous pouvez vous connecter à votre serveur via SSH en utilisant ssh root@<votre_ip>
Nous arrivons sur notre tableau de bord Proxmox. J'ai nommé mon nœud "toad", pour Trapster + GOAD, mais vous pouvez mettre le nom que vous voulez :

Réseau
Avant de commencer à configurer le réseau, vérifions qu'il n'y aura pas de conflits d'IP avec le réseau de laboratoire que nous allons construire. Plus précisément, qu'il n'y a pas déjà de routes menant à 192.168.10.0 qui sera notre réseau GOAD.
Utilisez la commande route pour vérifier qu'il n'y a rien d'autre déjà sur 192.168.10.0. Si c'est le cas, vous devrez peut-être changer le domaine 192.168.10.0/24 dans les étapes suivantes pour éviter des problèmes ultérieurs. Dans ce cas, remplacez simplement 192.168.10.0 par un sous-réseau comme 192.168.30.0/24 pour toutes les étapes futures.

Créer le Réseau
Nous allons suivre la même configuration réseau que celle expliquée dans le tutoriel de MayFly pour Proxmox
- Wan : 10.0.0.0/30 (10.0.0.1-10.0.0.2) - Hôte Proxmox + pfSense
- Réseau Lan : 192.168.1.1/24 (192.168.1.1-192.168.1.254) - ce sera le réseau LAN pour pfSense et la machine de provisionnement
- VLAN1 : 192.168.10.1/24 (192.168.10.1-192.168.10.254) - notre réseau GOAD
- VLAN2 : 192.168.20.1/24 (192.168.20.1-192.168.20.254) - non utilisé dans ce laboratoire mais nous le configurerons au cas où vous voudriez aller plus loin avec GOAD
- OpenVPN : 10.10.10.0/24 (10.10.10.0-10.10.10.254) - pour se connecter au laboratoire
Pour créer les ponts :
- Allez sur votre tableau de bord Proxmox
- Cliquez sur votre Nœud (toad)
- Réseau > Créer > Pont Linux
- Créez 3 Ponts Linux en suivant les exemples donnés
vmbr1 : WAN

vmbr2 : LAN

vmbr3 : vlans – Assurez-vous de définir VLAN Aware

Créer les deux VLANs
Maintenant, créez deux VLANs Linux en suivant ces exemples :
vlan10 : Le Vlan Raw Device est vmbr3, ce sera pour le réseau 192.168.10.1/24

vlan20 : Le Vlan Raw Device est vmbr3

Ensuite, appliquez la Configuration, et vous devriez obtenir ceci :
Installation de pfSense
Dans cette section du tutoriel, nous allons configurer pfSense qui servira de Firewall et de Routeur entre les réseaux de notre lab.
Nous pouvons télécharger pfSense directement sur notre machine via l'interface Proxmox. Vous pouvez trouver le lien vers la dernière version de pfSense ici : https://repo.ialab.dsu.edu/pfsense/
Trouvez la version la plus récente, pour moi c'est pfSense-CE-2.7.1-RELEASE-amd64.iso.gz, et copiez le lien de téléchargement.
Allez dans Local -> Images ISO -> Download from l'URL et collez cette URL

Attendez le téléchargement :

Créer une machine virtuelle pour pfSense
Allez dans Créer une VM dans le coin supérieur droit de proxmox -> sélectionnez l'image ISO que nous venons de télécharger pour pfSense

Donnez
- 4096 pour la RAM
- 2 CPU
- Ajoutez le pont vmbr1 pour le réseau

Après la création, nous donnerons accès aux deux autres ponts pour que pfSense soit connecté à tous nos réseaux et permette le routage entre eux.
Cliquez sur la created VM -> Hardware -> Add -> Network Device et sélectionnez vmbr2 pour le pont

Répétez pour vmbr3 afin d'avoir finalement vmbr1, vmbr2, vmbr3 tous connectés comme périphériques réseau
Installateur pfSense
Une fois la VM créée, nous pouvons la démarrer et suivre le processus d'installation de pfSense : J'ai suivi le Guided Root-on-ZFS

J'ai choisi stripe pour les disques puis redémarré dans le système installé une fois terminé.
Configuration de pfSense
Depuis la console pfSense, nous pouvons configurer les interfaces.
Lorsqu'on vous le demande :
- Should VLANs be set up now [y|n] : n

Lorsqu'on vous le demande :
- pour l'interface WAN : vtnet0
- pour l'interface LAN : vtnet1
- pour l'interface OPT1 : vtnet2
Puis répondez oui pour continuer et la configuration des interfaces devrait démarrer

Commencer la configuration des adresses IP des interfaces

Une fois que vous atteignez la section Bienvenue sur pfSense, sélectionnez l'option 2) Configurer l'adresse IP des interfaces dans le terminal pfSense
Commencez par configurer WAN : 1
- Configure IPv4 address WAN interface via DHCP? n
-
Enter the new WAN IPv4 address : 10.0.0.2
-
Give the subnet bit count: 30
-
set the new WAN IPv4 upstream gateway address: 10.0.0.1
-
Should this gateway be set as the default gateway? n
-
Configure IPv6 address WAN interface via DHCP6? n
-
Enter the new WAN Ipv6 address: <ENTER> to give none: <ENTER>
-
Do you want to enable the DHCP server on WAN? n
-
Do you want to revert to HTTP as the webConfigurator protocol? y

Maintenant nous pouvons configurer LAN

- Configure Ipv4 address LAN interface via DHCP: n
-
Enter the nex LAN Ipv4 address: 192.168.1.2
-
Enter the nex lan ipv4 subnet bit count: 24
-
For a WAN, enter the nex lan Ipv4 upstream gateway address. For a LAN, press <ENTER> for none : <ENTER>
-
Configure IPv6 address LAn interface via DHCP6? n
-
Enter the nex LAN IPv6 address. Press <ENTER> for none: <ENTER>
-
Do you want to enable the DHCP server on LAN? y
-
Enter the start address of the IPV4 client address range: 192.168.1.100
-
Enter the end address of the IPv4 client address range: 192.168.1.254
Nous sommes notifiés que nous pouvons maintenant accéder au webConfigurator pfSense à http://192.168.1.2

Configurer l'accès SSH
Nous redirigeons l'accès vers http://192.168.1.2 pour modifier via l'interface web pfSense. Nous n'avons pas encore configuré la VM de provisionnement mais nous pouvons dès maintenant créer le raccourci ssh
Modifiez ~/.ssh/config pour ajouter ce qui suit :
Host goadproxmox
User root
Hostname XXX.XXX.XXX.XXX
Port 22
IdentityFile ~/.ssh/id_rsa_goad
LocalForward 8082 192.168.1.2:80
Host goadprovisioning
User root
Hostname 192.168.1.3
Port 22
IdentityFile ~/.ssh/id_rsa_goad
Proxyjump goadproxmox
Maintenant exécutez ssh goadproxmox et vous pouvez vous connecter à http://127.0.0.1:8082/


Configuration de l'assistant pfSense
Nous travaillons sur la page d'accueil de pfSense que nous avons liée en utilisant ssh goadproxmox. Votre page devrait être à http://127.0.0.1:8082
Pour la connexion à pfSense, utilisez :
- nom d'utilisateur : admin
- mot de passe : pfsense

Suivez maintenant l'assistant de configuration pfSense

- La configuration de l'interface WAN doit correspondre à ce que vous avez déjà saisi, laissez-la comme Adresse IP 10.0.0.2 /30
- Décochez Block RFC1918 Private Networks mais cochez Block bogon networks
-
Laissez LAN comme 192.168.1.2/24
-
Changez le mot de passe administrateur
-
Cliquez sur recharger pour sauvegarder les configurations

Allez dans system > advanced > networking : cliquez pour désactiver le hardware checksum offloading, notez que le système doit être redémarré pour modifier ce paramètre

Pare-feu
Je suis ici toutes les règles de Mayfly pour les pare-feu.
Firewall -> Rules -> WAN
Autoriser le trafic TCP ipv4 de 10.0.0.1 vers l'adresse LAN port 80 pour donner accès à l'interface graphique pfsense.

Modifier les règles iptables sur la connexion ssh vers proxmox
J'ai eu quelques problèmes avec cette partie, si à l'avenir votre proxmox ne route pas correctement les paquets, essayez de supprimer les règles et de réexécuter ces commandes
Exécutez ssh goadproxmox pour vous connecter au proxmox et exécutez les commandes suivantes :
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i vmbr0 -p icmp -j ACCEPT
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8006 -j ACCEPT
iptables -t nat -A PREROUTING -i vmbr0 -j DNAT --to 10.0.0.2
iptables -t nat -A POSTROUTING -o vmbr0 -j SNAT -s 10.0.0.0/30 --to-source MYPUBLICIP_HERE
Je recommande d'exécuter 'apt-install net-tools' pour vérifier si les routes sont correctes comme le montre la photo suivante :
apt install net-tools
route
Puis sauvegardez les règles iptables :
iptables-save | sudo tee /etc/network/save-iptables
vim /etc/network/interfaces
post-up iptables-restore < /etc/network/save-iptables
Configurer les VLANs
Nous allons maintenant ajouter les deux VLANs, allez dans Interfaces -> VLANs -> Add
- VLAN10 :
- Parent Interface = opt1
-
VLAN tag 10
-
Description: VLAN10

VLAN20 :
- Parent Interface = opt1
-
VLAN tag 20
-
Description : VLAN20

Allez dans Interfaces -> Interface Assignments et ajoutez VLAN10 et VLAN20 aux ports réseau disponibles.
Modifier OPT2(vtnet2.10) en cliquant sur Interfaces > OPT2(vtnet2.10)
- Description: VLAN10
- Sélectionnez enable interface
- ipv4 configuration type = static IPv4
-
Ipv4 address = 192.168.10.1/24
- Block bogon networks

Modifier OPT3(vtnet2.120)
OPT3(vtnet2.20)
- description: VLAN20
-
Sélectionnez enable interface
-
ipv4 configuration type = static IPv4
-
Ipv4 address = 192.168.20.1/24
-
Block bogon networks

Ajouter le DHCP aux VLANs
Pour GOAD, plusieurs adresses IP sont réservées et statiques donc nous démarrons le serveur dhcp à l'adresse IP 192.168.10.100-192.168.10.254
- Services -> DHCP server -> VLAN10
- Enable DHCP server on VLAN10 Interface
- Plage d'adresses : 192.168.1.100 à 192.168.10.254
-
Faites de même pour VLAN20 avec : 192.168.20.100 à 192.168.10.254

Ajouter le Firewall
*note : dans le tutoriel de mayfly, il utilise LAN NET qui n'existe pas dans cette version - utilisez plutôt le sous-réseau LAN
Créez un alias :
Firewall > Aliases > Edit
Nom : INTERNAL
Réseau :
192/168.1.1/16, 10.0.0.1/30, 10.10.10./2

N'autoriser que ces réseaux

Ajouter une règle pour autoriser ssh vers le futur ct de provisionnement
La suite de l'article est disponible ici :