6 minutes de lecture

Pourquoi votre VM de Pentest locale est obsolète (et comment l’ARM64 change la donne)

Pourquoi votre VM de Pentest locale est obsolète (et comment l’ARM64 change la donne)

Le paysage de la cybersécurité offensive traverse une mutation silencieuse. Pendant des décennies, le modèle de référence a consisté à s'équiper d'un ordinateur portable massif pour y configurer une "Machine Virtuelle" (VM) Kali Linux. C’était l'environnement de sécurité par excellence : un système sous contrôle, mais souvent lourd, isolé et limité par les capacités du matériel physique.

Pourtant, ce projet de forge offensive n'est pas né d'une simple envie d'expérimenter. Il est né d'un besoin opérationnel immédiat : la préparation d'une démonstration technique sur une vulnérabilité Kubernetes critique. Pour que ce talk soit percutant, il nous fallait un environnement stable, capable de survivre à une présentation en direct sans subir les aléas d'une connexion locale ou les caprices d'un hyperviseur.

L'émergence d'une Forge de cybersécurité Cloud-Native est la réponse à ce besoin d'industrialisation. Mais un obstacle s'est vite dressé : la gestion des coûts. Face à la crainte légitime de voir une sandbox GCP coupée pour cause de surconsommation, l'optimisation financière est devenue le moteur de l'innovation. En basculant sur l'architecture ARM64, nous avons découvert que l'on pouvait allier une puissance de feu déterministe à une infrastructure à bas coût .

1. La Transition ARM64 : Pourquoi cette architecture change la donne

Lorsqu'on évoque le passage de l'architecture x86 à l'ARM64, l'argument financier est souvent le premier cité. Pourtant, pour un auditeur senior ou un passionné de technique, l'intérêt majeur des instances Google GCP Tau T2A (propulsées par les processeurs Ampere Altra) réside dans la stabilité de l'environnement de calcul. Contrairement aux instances cloud classiques, ces machines ne partagent pas leurs ressources de calcul (compute), éliminant ainsi toute fluctuation de performance durant une démonstration critique.

Le déterminisme contre l’héritage du x86

Dans le monde des serveurs cloud traditionnels (x86), les ressources sont souvent optimisées via le Simultaneous Multithreading (SMT). Cette technique permet de partager un cœur physique entre deux processeurs virtuels (vCPU) . Pour des serveurs web, c'est idéal. Pour un environnement de sécurité où l'on lance des scans réseau ou du hachage, cela introduit le phénomène du "voisin bruyant" : si un autre utilisateur sur le même serveur physique travaille intensément, vos propres outils ralentissent.

L'architecture ARM64 de Google Cloud via son offre de services gérés Tau T2A, change la donne en dédiant un vCPU à un cœur physique réel. Il est important de noter que cette caractéristique est ici liée à la gestion du service par le fournisseur cloud, qui garantit cette isolation stricte plutôt que de s'appuyer sur le partage de ressources. Cette approche garantit une performance prévisible. On passe d’une infrastructure "partagée et imprévisible" à une infrastructure "dédiée et déterministe".

L’alignement natif avec le matériel moderne

Un autre aspect fondamental souvent ignoré est la convergence technologique. La majorité des machines locales modernes basées sur l’ARM (comme les puces Apple Silicon) dominent désormais le marché des laptops de développement. En utilisant une forge ARM64 dans le cloud, on élimine enfin la barrière architecturale entre le développement local et l’exécution distante. On supprime les bugs subtils liés à l'émulation ou aux différences de compilation.

2. Optimisation des Ressources : L'arbitrage intelligent du Cloud

Le succès du POC reposait sur une question simple : comment déployer à échelle industrielle des environnements de bureau distant à haute performance avec un budget maîtrisé ?

Le choix de la région europe-west4 (Pays-Bas) s'est imposé naturellement. C'est une zone stratégique qui offre d'excellentes performances réseau, garantissant une réactivité fluide du bureau distant. C'est également l'un des endroits où la disponibilité des instances ARM64 est la plus stable et où les tarifs sont les plus avantageux, notamment pour le modèle d'instances éphémères.

Le Modèle Éphémère et les Instances Spot

Dans une approche Cloud-Native, l'infrastructure est gérée comme du code. L'utilisation d'instances Spot (préemptibles) permet une optimisation budgétaire majeure :

  • Usage Standard : Une facturation classique pour un environnement disponible 24/7.
  • Usage Spot : Une réduction de coût pouvant atteindre 80% (environ 10$ par mois pour une machine performante de 8 Go de RAM).

Il est crucial ici de distinguer la stabilité de la performance (le déterminisme du calcul) de la disponibilité de l'infrastructure. Si la stabilité est primordiale durant la phase d'exécution (le "run") pour garantir la fiabilité des tests, le modèle Spot permet d'activer ou de désactiver les instances à la demande pour limiter les coûts. En acceptant que l'instance puisse être reprise à tout moment par le fournisseur, nous avons été contraints de rendre l'infrastructure entièrement reproductible. Grâce à l'automatisation (via Terraform), si la machine est préemptée, elle est recréée en moins de deux minutes. La persistance des données est assurée par des disques séparés (PD-SSD), garantissant que les preuves et les environnements de démo survivent à la session de travail.

3. Récit d'Ingénierie : Le retour d'expérience (REX)

Bâtir une forge complète sur ARM64 est un voyage technique qui nécessite de moderniser ses chaînes de déploiement.

Le défi de la compatibilité (Exec Format Error)

La majorité des outils de sécurité ont été historiquement conçus pour les processeurs x86. Lors de l'installation d'outils comme Apache Guacamole, le système peut renvoyer des erreurs de format binaire (Exec Format Error). Ce n'est pas un bug, mais une barrière physique : le langage parlé par le binaire est incompréhensible pour le CPU ARM64.

La solution consiste à privilégier des images Docker multi-architecture ou à compiler les outils nativement sur le serveur. Ce processus permet d'aboutir à un environnement beaucoup plus léger et optimisé qu'une VM classique qui traîne souvent des gigaoctets de fichiers inutiles. C’est ici que l’ARM64 impose une rigueur bénéfique : on construit une stack propre.

La stratégie de la "Transmutation"

Puisqu'il n'existe pas encore d'image "Kali Linux ARM64" officielle et optimisée sur tous les Marketplaces Cloud, la méthode la plus fiable consiste à utiliser une base Debian 12 officielle. Kali étant une dérivée de Debian, il est possible de "transmuter" l'instance en y ajoutant les dépôts officiels de Kali. Cette approche permet de bénéficier du noyau optimisé par Google pour le cloud tout en disposant de l'arsenal complet de Kali.

4. Accès Distant : Guacamole vs Kasm Workspaces

Pour accéder graphiquement à la forge depuis un navigateur aux collaborateurs, deux solutions open-source se distinguent.

  • Apache Guacamole : Fonctionne comme une passerelle persistante. Il est idéal pour gérer un serveur qui doit tourner en continu, permettant de se reconnecter à sa session de travail sans l'interrompre.
  • Kasm Workspaces : Se focalise sur le concept de bureau éphémère. Chaque connexion peut générer un nouveau conteneur Kali totalement propre qui sera détruit à la fin de la session. C'est une option intéressante pour garantir une confidentialité totale ou pour effectuer des analyses de fichiers douteux. Notre étude s'est concentrée sur Guacamole pour la persistance, mais Kasm représente une alternative solide pour des usages "one-shot".

5. Gestion de la Donnée : Le cas BloodHound & Neo4j

L'analyse de réseaux via des outils comme BloodHound est gourmande en ressources (RAM). Sur une instance de 8 Go, la gestion de la mémoire devient le point névralgique pour éviter que la sandbox ne sature pendant un audit.

Une méthode efficace consiste à séparer le calcul de l'affichage. Le serveur cloud gère la base de données (Neo4j) pour sa vitesse de traitement, tandis que l'interface graphique tourne sur l'ordinateur local de l'utilisateur. En créant un tunnel SSH sécurisé, on décharge le serveur des calculs visuels tout en gardant les données sensibles dans le cloud.

6. Professionnaliser le Workflow : Python et la PEP 668

Un sujet qui anime souvent la communauté est l'évolution de la gestion des paquets Python sur les distributions Linux modernes. L'impossibilité d'installer des bibliothèques directement sur le système (erreur externally-managed-environment) est désormais une norme de sécurité.

L'usage d'outils comme pipx devient ici indispensable. Il permet d'installer chaque outil (comme impacket ou sqlmap) dans sa propre "bulle" isolée. Cette discipline évite que l'installation d'un nouveau script ne vienne corrompre les outils déjà en place, assurant la stabilité de la forge sur le long terme.

7. Souveraineté et Cloud Act : Choisir son terrain de jeu

Le choix d'un fournisseur comme Google Cloud pour ce POC répond à des impératifs d'accessibilité et de maturité technologique. Cependant, dans un cadre de sécurité offensive ou de manipulation de données critiques, la question de la souveraineté est légitime. Le Cloud Act américain, qui autorise théoriquement l'accès aux données par les autorités américaines, constitue un risque à évaluer selon le profil de la cible ou les contraintes réglementaires (comme la certification PCI DSS pour le secteur bancaire).

L'un des atouts majeurs de cette forge réside dans sa portabilité. Puisqu'elle repose sur des standards (Terraform, Ansible, Docker), elle est entièrement transposable vers des clouds souverains (comme Numspot ou OVHcloud). Le seul prérequis pour conserver l'efficience décrite ici est la disponibilité d'instances ARM64 chez le fournisseur choisi. À défaut, l'ensemble de l'architecture reste déployable sur du x86 classique, permettant ainsi d'arbitrer entre coût, performance et conformité géographique.

Conclusion : Une évolution des méthodes de travail

La transition vers une forge offensive Cloud-Native illustre un changement d'approche nécessaire. Elle montre qu'avec les outils d'automatisation actuels, il est possible de s'affranchir des limites du matériel physique pour gagner en flexibilité et en coût.

L'environnement de test devient un service disponible partout et sécurisé, ne dépendant plus de la puissance du poste local ou de l'état de sa batterie. Le futur des laboratoires de sécurité réside dans cette capacité à orchestrer des ressources modernes pour créer un espace de travail performant, reproductible et économiquement viable. L’ARM64 n’est plus une alternative exotique; c’est le moteur d’une infrastructure offensive plus saine et plus performante.