Dernières nouvelles

Restez au courant de tout ce qui se passe à Approach

Blog article

Red Teaming : dissimuler votre infrastructure offensive à l’aide de sites web générés par l’IA

Date de publication

16.04.2024

image
Découvrez comment la génération de sites Web alimentés par l’IA améliore les tactiques de l’équipe rouge, en dissimulant l’infrastructure C2 avec des sites réalistes et dynamiques qui échappent à la détection.

TL;DR (Trop long ; pas lu)

Nous avons mis en œuvre ChatGPT 4 pour générer des sites web entièrement uniques, qui servent de façade à notre infrastructure de simulation de l’adversaire. Ce développement réduit considérablement la probabilité de détection et de signalement par les vendeurs et clients d’antivirus. Cette intégration est une nouveauté dans notre boîte à outils, bien que le concept d’utilisation de telles façades soit une stratégie de longue date parmi les acteurs de la menace. Ce qui distingue notre approche, c’est l’incorporation de technologies d’IA générative, qui rationalise le processus et permet de gagner du temps.

Bien que nous adoptions une approche à multiples facettes pour échapper à la détection EDR/XDR et à d’autres cadres de sécurité, en incorporant une gamme de méthodes et de tactiques de protection, l’intégration de ChatGPT dans notre stratégie se distingue comme une amélioration significative.

Aperçu de l’infrastructure

Notre infrastructure repose sur un principe fondamental, auquel les acteurs de la menace adhèrent depuis des années : notre serveur de commande et de contrôle (C2) doit rester caché pour garantir l’efficacité de nos opérations. L’exposition directe de notre serveur C2 à l’internet entraînerait sa détection rapide, car de nombreux fournisseurs d’antivirus et d’autres entités utilisent des robots pour rechercher des services malveillants sur l’internet.

Figure 1 Cacher votre infrastructure C2.

Pour atténuer ce risque et reproduire des scénarios semblables à ceux des acteurs de la menace avancée, nous avons recours à une stratégie qui consiste à dissimuler notre serveur de commande et de contrôle (C2) derrière une façade qui imite un site web légitime. Ce site est régulièrement examiné par des robots antivirus, qui ne détectent aucune irrégularité, ce qui permet de dissimuler notre véritable serveur C2 à l’abri d’une exposition directe en ligne. La seule méthode pour établir une communication avec le serveur C2 consiste à envoyer des requêtes à ce site web leurre, qui les achemine ensuite discrètement vers le serveur C2. Cette technique, combinée à d’autres services anti-scan et de protection contre les robots, protège efficacement notre infrastructure contre la détection.

Le défi de l’infrastructure

Avec la multiplication des missions de red teaming, le besoin de nouveaux noms de domaine et de nouveaux sites web se fait de plus en plus sentir. Bien que nous puissions réutiliser un seul site web adaptable pour différents noms de domaine, ses fonctions de personnalisation limitées pourraient conduire à la création d’empreintes digitales. Ces marques identifiables pourraient permettre de suivre tous les domaines associés utilisant le même modèle de site web par l’intermédiaire de plateformes telles que Shodan. En outre, nous avons cherché à concevoir une méthode pour créer des sites web uniques que nous pouvons intégrer et déployer de manière transparente dans notre environnement conteneurisé, ce qui simplifie grandement le processus de déploiement.

Solution – Quand l’IA entre en jeu

Choisir le bon cadre

Au départ, il était essentiel de choisir un cadre qui ne créerait pas un surplus de fichiers, ce qui compliquerait inutilement nos opérations. Nous avons donc choisi Python, en utilisant Flask et Jinja pour leur simplicité. La simplicité de développement, de maintenance et d’utilisation de ces technologies a influencé cette décision. Elles fournissent une méthode simplifiée pour développer des sites web uniques qui peuvent être efficacement déployés dans notre configuration conteneurisée.

Tirer parti de l’IA pour générer des sites web dynamiques

Alors qu’il était possible de créer manuellement et de réutiliser à plusieurs reprises une série de sites web avec des ajustements mineurs aux langages HTML, CSS et JS, nous tirons parti des capacités disponibles en 2024. L’IA nous permet d’automatiser et d’améliorer le processus de génération de sites web, en offrant une solution dynamique et évolutive qui génère des sites web de façade uniques et difficiles à identifier.

Figure 2 🙂

Détails de la configuration et de la génération du site web

Notre approche intègre un « générateur de site web » Python, une application Flask et un fichier de configuration YAML, permettant une configuration rapide et flexible du site web. Les utilisateurs peuvent spécifier divers paramètres tels que le nom, le titre, la description, le domaine, les sources de données de contenu, le cadre CSS et les modificateurs d’invite pour adapter le processus de génération en fonction du scénario spécifique.

Configuration du système et mises à jour quotidiennes

Lors de la phase de planification, nous avons estimé qu’un site web présentant des mises à jour et des changements quotidiens aurait moins de chances d’être perçu comme malveillant. Nous avons donc mis au point un outil qui intègre une « source de données », garantissant que le site web est actualisé avec du nouveau contenu toutes les 24 heures. La configuration de la « source de données » est adaptable, facilitant les connexions avec de multiples sources de données, telles que les newsapi, les flux RSS et les données statiques. La conception du système est simple et permet une évolution facile. En utilisant Python et YAML, vous pouvez facilement étendre le système en incorporant des sources de contenu supplémentaires pour répondre aux besoins du projet.

website:
  code_name: "ecoglobechronicles"
  prompt_jinja2_data:
    name: "Embrace the Eco Pulse"
    title: "Eco Sphere Daily Insights"
    description: > 
      "Dive into the world of environmental news with Eco Sphere Daily Insights. 
      Get the latest updates and in-depth analysis on everything related to our planet's ecosystem, including climate change, biodiversity, renewable energy, and more."
    domain_name: REDACTED
  data_source:
    source: "newsapi"
    query: "environment"
  prompt_modifier: >
    1. Create an advanced website using components from the specified framework (complex layout, carousel, headers, 
    navbar, pagination, typography, fonts, album, blog, custom jumbotron, sticky footer/header, pricing for news subscription, features).
    2. Define a modern color palette inspired by nature and apply it across the website's CSS and HTML.
    4. Design the website to be extensive and intricate, reflecting the complexity and interconnectivity of our ecosystem.
    5. Integrate environmentally themed icons and graphics to enhance user engagement and convey the website's focus.
frameworks:
  - name: "Bootstrap"
    cdn: "https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.min.js"
  - name: "tailwind"
    cdn: "https://cdn.tailwindcss.com"

Assurer la disponibilité du contenu dynamique

Pour garantir que l’invite et l’application Flask connaissent les données disponibles à inclure dans le modèle, nous avons mis au point un processus. Ce processus détermine les clés Jinja disponibles à partir d’un échantillon de données extraites avant la génération de l’invite. Cette approche garantit qu’au fur et à mesure que la source de données et les données de l’invite_jinja2_data changent, la génération du site web reste fonctionnelle et complète.

Intégration et déploiement

Ces informations sont traitées par le WebSiteGenerator, qui construit une invite complète et interagit avec ChatGPT pour produire les codes HTML, CSS et JS nécessaires au site web. Une fois généré, ce code, ainsi que sa configuration, est stocké sur le disque. Ensuite, un conteneur Docker exécutant l’application Flask est lancé. Bien que nous ayons eu la possibilité d’intégrer les données de configuration directement dans le code HTML, nous avons opté pour une approche plus souple. La configuration YAML reste éditable après la génération de ChatGPT, ce qui permet des ajustements et une personnalisation plus poussée à tout moment.

Figure 3 Processus de création d’un site web.

Coût

Après trois jours de développement et de tests avec ChatGPT 4 Turbo, le coût total s’est élevé à 5 $. La création d’un site web coûte généralement entre 2 et 5 cents, ce qui est plutôt bon marché. Cette estimation n’est pas exacte, mais elle montre à quel point le site est peu coûteux.

Figure 4 ChatGPT 4 Turbo coût global.

Conclusion

Nous sommes impressionnés par la capacité de ChatGPT à générer des façades de sites web sophistiquées à travers différents cadres à faible coût. Cette technologie permet de créer diverses façades qui échappent aux empreintes digitales, empêchant ainsi la détection d’autres instances. Cependant, nous pensons qu’il est possible de l’améliorer encore en développant une approche de création de sites web à plusieurs invites. Cette approche faciliterait la création de sites web entièrement interactifs en produisant à la fois le code source de l’interface et celui de l’interface. Un tel processus pourrait être exécuté sur un backend Python, en tirant parti de l’héritage et des classes parentes pour rationaliser le développement.

Exemples

En conclusion, voici quelques-uns des sites web. Il est intéressant de noter qu’ils sont non seulement très attrayants sur le plan visuel, mais aussi réactifs !

Écologie

Exemple de site web pour l'écologie

Finances

Exemple de site web pour la finance

Finance 2

Autre exemple de site web pour la finance

Crypto

Exemple de site web pour les cryptomonnaies

AUTRES HISTOIRES

Découvrez comment Exegol révolutionne les tests de pénétration avec des environnements basés sur Docker, offrant personnalisation, reproductibilité et flux de travail de sécurité transparents.
Un minuscule Raspberry Pi peut déjouer la sécurité NAC, contourner les défenses et exploiter les vulnérabilités de l’IEEE 802.1X. Découvrez l’impact de ces risques sur votre réseau !
Découvrez comment un minuscule mais puissant Raspberry Pi peut contourner la sécurité du réseau, infiltrer des systèmes protégés et redéfinir les stratégies de l’équipe rouge en matière de cybersécurité !

Contactez-nous pour en savoir plus sur nos services et solutions

Notre équipe vous aidera à entamer votre voyage vers la cyber-sérénité

Préférez-vous nous envoyer un courriel ?