Laatste Verhalen

Blijf op de hoogte van alles bij Approach

Blog article

Red Teaming: je offensieve infrastructuur verbergen met behulp van AI-gegenereerde websites

Publicatiedatum

16.04.2024

image
Ontdek hoe AI-gebaseerde websitegeneratie red teaming-tactieken verbetert en C2-infrastructuur verbergt met realistische, dynamische sites die detectie ontwijken.

TL;DR (Te lang; niet gelezen)

We hebben ChatGPT 4 geïmplementeerd om volledig unieke websites te genereren, die fungeren als façade voor onze simulatie-infrastructuur voor tegenstanders. Deze ontwikkeling vermindert de kans op detectie en rapportage door anti-virus leveranciers en clients aanzienlijk. Deze integratie is een nieuwe toevoeging aan onze toolkit, hoewel het concept van het gebruik van dergelijke fronten al lang bestaat onder bedreigingsactoren. Wat onze aanpak onderscheidt, is de integratie van generatieve AI-technologieën, waardoor het proces wordt gestroomlijnd en tijd wordt bespaard.

Hoewel we een veelzijdige aanpak hanteren om EDR/XDR-detectie en andere beveiligingsframeworks te omzeilen, met een reeks beschermende methoden en tactieken, springt de integratie van ChatGPT in onze strategie eruit als een belangrijke verbetering.

Inzicht in infrastructuur

Onze infrastructuur is gebaseerd op een kernprincipe dat bedreigingsactoren al jaren aanhangen: onze Command and Control (C2)-server moet verborgen blijven om de effectiviteit van onze operaties te garanderen. Directe blootstelling van onze C2-server aan het internet zou resulteren in een snelle detectie, aangezien veel antivirusproviders en andere entiteiten bots gebruiken om het internet af te zoeken naar kwaadaardige services.

Figuur 1 Je C2-infrastructuur verbergen.

Om dit risico te beperken en scenario’s na te bootsen die verwant zijn aan die van geavanceerde bedreigingsactoren, bestaat een van onze strategieën uit het verbergen van onze Command and Control (C2)-server achter een façade die een legitieme website nabootst. Deze site wordt regelmatig gecontroleerd door anti-virus bots, die geen onregelmatigheden ontdekken, waardoor onze eigenlijke C2-server verborgen blijft voor directe online blootstelling. De enige manier om communicatie met de C2-server tot stand te brengen, is door verzoeken naar deze nepwebsite te sturen, die ze vervolgens stilletjes naar de C2-server tunnelt. Deze techniek, gecombineerd met andere anti-scan en botbeveiligingsservices, beschermt onze infrastructuur effectief tegen detectie.

Infrastructurele uitdaging

Naarmate het aantal red teaming missies toeneemt, is er een toenemende behoefte aan nieuwe domeinnamen en nieuwe websites. Hoewel we een enkele aanpasbare website zouden kunnen hergebruiken voor verschillende domeinnamen, zouden de beperkte aanpassingsmogelijkheden kunnen leiden tot fingerprinting. Zulke identificeerbare markeringen zouden het mogelijk kunnen maken om alle geassocieerde domeinen die hetzelfde websitemodel gebruiken op te sporen via platformen zoals Shodan. Bovendien wilden we een methode ontwikkelen om unieke websites te maken die we naadloos kunnen integreren en implementeren in onze gecontaineriseerde omgeving, waardoor het implementatieproces sterk vereenvoudigd wordt.

Oplossing – Wanneer AI in het spel komt

Het juiste kader kiezen

In eerste instantie was het essentieel om een framework te kiezen dat geen overdaad aan bestanden zou creëren, omdat dat onze activiteiten onnodig zou compliceren. Daarom kozen we voor Python en gebruikten we Flask en Jinja vanwege hun eenvoud. De eenvoud in ontwikkeling, onderhoud en gebruik van deze technologieën beïnvloedde deze beslissing. Ze bieden een vereenvoudigde methode voor het ontwikkelen van unieke websites die efficiënt kunnen worden ingezet binnen onze gecontaineriseerde opstelling.

AI inzetten voor het dynamisch genereren van websites

Terwijl het mogelijk was om handmatig een reeks websites te maken en herhaaldelijk te hergebruiken met kleine aanpassingen aan HTML, CSS en JS, maken we gebruik van de mogelijkheden die beschikbaar zijn in 2024. AI stelt ons in staat om het proces van het maken van websites te automatiseren en te verbeteren, waardoor we een dynamische en schaalbare oplossing kunnen bieden die unieke en moeilijk te achterhalen front-websites genereert.

Figuur 2 🙂

Website configuratie en generatie details

Onze aanpak bevat een Python “Website Generator”, een Flask applicatie en een YAML configuratiebestand, waardoor een snelle en flexibele website configuratie mogelijk is. Gebruikers kunnen verschillende parameters specificeren zoals naam, titel, beschrijving, domein, gegevensbronnen voor inhoud, CSS-framework en prompt modifiers om het generatieproces aan te passen aan het specifieke scenario.

Systeemconfiguratie en dagelijkse updates

In de planningsfase stelden we vast dat een website met dagelijkse updates en wijzigingen minder snel als kwaadaardig zou worden ervaren. Daarom ontwikkelden we een tool met een “gegevensbron”, die ervoor zorgt dat de website elke 24 uur wordt ververst met nieuwe inhoud. De configuratie van de “gegevensbron” is aanpasbaar en maakt verbindingen met meerdere gegevensbronnen mogelijk, zoals newsapi, RSS-feeds en statische gegevens. Het ontwerp van het systeem is eenvoudig en maakt eenvoudige groei mogelijk. Met Python en YAML kun je het systeem eenvoudig uitbreiden door extra inhoudsbronnen op te nemen om aan de behoeften van het project te voldoen.

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"

Beschikbaarheid van dynamische inhoud garanderen

Om ervoor te zorgen dat de prompt en de Flask-applicatie weten welke gegevens beschikbaar zijn voor opname in het sjabloon, hebben we een proces ontwikkeld. Dit proces bepaalt de beschikbare Jinja-sleutels aan de hand van voorbeeldgegevens die vóór de promptgeneratie zijn verzameld. Deze aanpak zorgt ervoor dat wanneer de gegevensbron en prompt_jinja2_data veranderen, de websitegeneratie functioneel en volledig blijft.

Integratie en inzet

Deze informatie wordt verwerkt door de WebSiteGenerator, die een uitgebreide prompt construeert en interageert met ChatGPT om de benodigde HTML, CSS en JS voor de website te produceren. Eenmaal gegenereerd wordt deze code, samen met de configuratie, opgeslagen op de schijf. Vervolgens wordt een Docker-container met de Flask-app gestart. Hoewel we de mogelijkheid hadden om configuratiegegevens direct in de HTML op te nemen, kozen we voor een flexibelere aanpak. De YAML-configuratie blijft bewerkbaar na het genereren van ChatGPT, zodat aanpassingen en verdere aanpassingen in elk stadium mogelijk zijn.

Afbeelding 3 Het genereren van een website.

Kosten

Na drie dagen ontwikkelen en testen met ChatGPT 4 Turbo bedroegen de totale kosten $5. Het maken van een website kost meestal tussen de 2 en 5 cent, wat vrij goedkoop is. Deze kostenraming is niet exact, maar het laat zien hoe goedkoop het is.

Figuur 4 ChatGPT 4 Turbo totale kosten.

Conclusie

We zijn onder de indruk van het vermogen van ChatGPT om tegen lage kosten geavanceerde website-fronts te genereren voor verschillende frameworks. Deze technologie maakt het mogelijk om verschillende fronts te maken die fingerprinting omzeilen, waardoor de detectie van andere instanties wordt voorkomen. We zien echter potentieel voor verdere verbetering door de ontwikkeling van een multi-prompt aanpak voor het maken van websites. Dit zou het genereren van volledig interactieve websites mogelijk maken door zowel frontend als backend broncode te produceren. Een dergelijk proces zou kunnen worden uitgevoerd op een Python backend, waarbij gebruik wordt gemaakt van overerving en parent classes om de ontwikkeling te stroomlijnen.

Voorbeelden

Tot slot zijn hier enkele van de websites. Interessant is dat ze niet alleen visueel aantrekkelijk zijn, maar ook responsief!

Ecologie

Voorbeeld van een website voor ecologie

Financiën

Voorbeeld van een website voor financiën

Financiën 2

Een ander voorbeeld van een website voor financiën

Crypto

Voorbeeld van een website voor crypto

ANDERE VERHALEN

Ontdek hoe Exegol een revolutie teweegbrengt in penetratietests met Docker-gebaseerde omgevingen, die maatwerk, reproduceerbaarheid en naadloze beveiligingsworkflows bieden.
Een piepkleine Raspberry Pi kan NAC-beveiliging te slim af zijn, langs afweermechanismen glippen en IEEE 802.1X kwetsbaarheden misbruiken-zie hoe deze risico’s je netwerk beïnvloeden!
Ontdek hoe een kleine maar krachtige Raspberry Pi netwerkbeveiliging kan omzeilen, beschermde systemen kan infiltreren en Red Team strategieën in cyberbeveiliging kan herdefiniëren!

Neem contact met ons op voor meer informatie over onze diensten en oplossingen

Ons team helpt je op weg naar cybersereniteit

Stuur je ons liever een e-mail?