Inleiding
In de snelle arena van cyberbeveiliging maakt Exegol snel naam. Deze tool, voornamelijk ontwikkeld door @nwodtuhs en @Dramelac, is te vinden op GitHub(https://github.com/ThePorgs/Exegol). Het is een platform dat zich onderscheidt met een Docker-gebaseerde hackomgeving en een geavanceerde, maar gebruiksvriendelijke oplossing biedt voor de hedendaagse cyberbeveiligingsuitdagingen. Naarmate cyberbedreigingen complexer worden, presenteert Exegol zich als een aanpasbaar en efficiënt hulpmiddel, perfect geschikt voor het steeds veranderende cyberbeveiligingslandschap. Cyberbeveiliging is een gebied waar bedreigingen en verdedigingen voortdurend in beweging zijn. Exegol vult deze leemtes op en biedt uitgebreide mogelijkheden in combinatie met de flexibiliteit die offensieve beveiligingsprofessionals nodig hebben.
Exegols onderscheidende aanpak
Exegol onderscheidt zich in het cyberbeveiligingslandschap voornamelijk door het innovatieve gebruik van Docker-technologie. Hiermee biedt Exegol de mogelijkheid om geïsoleerde en zeer reproduceerbare omgevingen te creëren, op maat gemaakt voor een reeks penetratietests en cyberbeveiligingstaken. Het belang hiervan ligt in de consistentie die het biedt – een hoeksteen in effectieve beveiligingstests. Door gebruik te maken van Docker-containers zorgt Exegol ervoor dat elke omgeving een zelfstandig ecosysteem is, vrij van de discrepanties die vaak verschillende systemen plagen.
Deze uniformiteit biedt een gemeenschappelijke testgrond die voorspelbaar en betrouwbaar is. Dit is een eigenschap die vooral nuttig is bij het vergelijken van resultaten op verschillende platformen (met verschillende besturingssystemen, CPU-architectuur) of wanneer er meerdere testers bij betrokken zijn.
Voor zowel testers als klanten vertaalt de uniformiteit die Exegol biedt zich in een gedeeld platform van begrip. Het maakt het mogelijk om beveiligingsscenario’s op een gecontroleerde manier te reproduceren, wat zorgt voor een consistente reproductie en onderzoek van alle geïdentificeerde kwetsbaarheden of beveiligingslekken. Dit aspect is vooral cruciaal bij het valideren van beveiligingsmaatregelen en het verifiëren van de effectiviteit van patches of updates.
Belangrijkste functies en voordelen van Exegol
Vereenvoudigde bediening en veelzijdig gereedschap
De Python-wrapper staat centraal in Exegol omdat het de Docker- en git-operaties vereenvoudigt en de gebruikerservaring stroomlijnt. Deze interface stroomlijnt het proces door eenvoudige installatie, aanmaak, gebruik en beheer van klantspecifieke containers mogelijk te maken. Gebruikers kunnen deze individuele containers aanpassen met een veelheid aan opties.

Figuur 1 Een Exegol-container starten voor pentesting
De wrapper is gekoppeld aan Docker-images die vooraf zijn geladen met een breed scala aan tools, tot 368 op het moment van schrijven(https://exegol.readthedocs.io/en/latest/exegol-image/tools.html#tools-list) en configuraties, klaar voor onmiddellijke inzet in diverse cyberbeveiligingsscenario’s. Exegol bevat de volgende reeds bestaande Docker-images: Web, OSINT, light, full, en Nightly, met elk aangepast voor een specifieke taak.Exegol ondersteunt ook tools met een gebruikersinterface (UI) door gebruik te maken van X11 sharing, wat het gebruik van applicaties zoals BurpSuite, Bloodhound, Wireshark, en anderen mogelijk maakt. Hoewel MacOS enigszins afbreuk doet aan deze functionaliteit, biedt Exegol een workaround door een remote desktop alternatief te implementeren met behulp van VNC.
Exegol draait niet alleen om krachtige tools, maar ook om gebruiksgemak. In dit opzicht biedt Exegol een reeks sneltoetsen om professionals te helpen bij hun dagelijkse werk:
Snelkoppeling | Beschrijving |
ctrl+q | De sneltoets kan gebruikt worden om de half getypte opdracht op te slaan, naar een andere waarde te zoeken en dan de eerste opdracht af te maken. |
ctrl + r | Zoek iets in de geschiedenis |
ctrl + t | Een bestand of map zoeken met een vage zoeker |

Afbeelding 2 Snel zoeken en selecteren in de opdrachtgeschiedenis
Aanpassing
Maatwerk vormt de kern van het ontwerp van Exegol en komt tegemoet aan de specifieke behoeften van cyberbeveiligingsprofessionals die vaak de nieuwste of op maat gemaakte tools in hun toolkit willen integreren. Exegol voorziet in deze behoefte door een flexibel aanpassingskader te bieden. Gebruikers kunnen de vooraf geconfigureerde Docker-images van het platform eenvoudig aanpassen aan hun unieke vereisten. Dit gestroomlijnde en gebruiksvriendelijke aanpassingsproces stelt professionals in staat om de bestaande Docker- en scriptbestanden moeiteloos aan te passen. Professionals kunnen eenvoudig regels toevoegen of verwijderen, waardoor nieuwe tools naadloos kunnen worden geïntegreerd of overbodige tools kunnen worden verwijderd. Elke Exegol-omgeving is dus precies toegerust voor de uit te voeren taak.
Bovendien toont Exegol een streven naar duurzaamheid en betrouwbaarheid op de lange termijn. Om dit te bereiken heeft Exegol een robuuste CI/CD (Continuous Integration/Continuous Deployment) pijplijn naast uitgebreide documentatie. Deze integratie is een strategische zet die gebruikers niet alleen in staat stelt om voort te bouwen op het bestaande raamwerk van Exegol, maar ook om ervoor te zorgen dat alle tools en hun afhankelijkheden werken zoals bedoeld.

Figuur 3 CICD Tests die bevestigen dat de tools correct functioneren. Hoewel de gedemonstreerde eenvoudig zijn, dienen ze als een eerste verdediging tegen een gebrekkige omgeving.
Deze aanpak gaat aanzienlijk verder dan traditionele gevirtualiseerde omgevingen, zoals die op basis van Kali Linux, die soms te maken kunnen krijgen met kapotte of incompatibele omgevingen als gevolg van ongeteste updates of wijzigingen.

Figuur 4 Ja, we zouden VENV kunnen gebruiken, maar we hebben nu Exegol
Aanpassingsopties in Exegol
De CI/CD pijplijn in Exegol speelt een cruciale rol in het handhaven van de stabiliteit en betrouwbaarheid van het platform. De tools en hun interacties binnen de Exegol-omgeving worden continu getest, waardoor het risico op defecte functionaliteiten of compatibiliteitsproblemen tot een minimum wordt beperkt. Dit voortdurende test- en ontwikkelingsproces betekent dat Exegol-gebruikers met vertrouwen hun omgevingen kunnen aanpassen, wetende dat de integriteit en prestaties van hun tools behouden blijven. Het is echter belangrijk om te weten dat deze tests alleen worden uitgevoerd door GitHub acties; lokale wijzigingen worden niet getest. De documentatie van Exegol biedt hulp bij het maken van wijzigingen, ze te testen via CI/CD, en, indien nodig, een pull request aan te maken. (https://exegol.readthedocs.io/en/latest/community/maintainers.html).
Als alternatief biedt Exegol een methode om bestaande containers aan te passen via de “Mijn bron“functie. Deze functionaliteit is gebaseerd op een eenvoudig gedeeld volume tussen de host en alle Exegol-containers, samen met een geavanceerde integratie binnen de Exegol-images zelf. Deze functie ondersteunt alle volgende aanpassingen:
- apt (pakketten, bronnen, sleutels)
- bloedhond (aangepaste zoekopdrachten, configuratie)
- firefox (addons, CA)
- python3 (pip3)
- tmux (conf)
- vim (vimrc, configs)
- neovim (.config/nvim)
- zsh (aliassen, zshrc, geschiedenis)
Verantwoording, reproduceerbaarheid en vertrouwen
Exegol kan elke actie nauwkeurig vastleggen, zodat er een uitgebreid dossier ontstaat dat kan worden bekeken en gecontroleerd. Deze functie is van onschatbare waarde voor transparantie en compliance en biedt een gedetailleerd controlespoor van het testproces.
Bovendien garandeert Exegol reproduceerbare testomgevingen, een essentiële eigenschap voor nauwkeurige en consistente resultaten. Deze consistentie is essentieel voor het opbouwen van vertrouwen tussen pentesters en klanten, omdat het de verificatie van bevindingen en een beter begrip van kwetsbaarheden mogelijk maakt.
Beperkingen van Exegol
Tot slot mist Exegol een echte oplossing voor het gebruik van professionele tools zoals Burp Suite. Momenteel staat Exegol het gebruik van de community editie toe. De professionele editie daarentegen is mogelijk door de sleutel in de resource op te geven, maar deze sleutel wordt geactiveerd bij het aanmaken van elke nieuwe container, waardoor het sleutelgebruik in de war raakt. Totdat er een echte oplossing is geïmplementeerd, is de enige optie om te vertrouwen op een klassieke desktopinstallatie van Burp op je host, naast Exegol.
Voor Mac-gebruikers is de noodzaak om te vertrouwen op VNC remote desktop een nadeel. Deze beperking lijkt echter buiten de controle van de ontwikkelaar van Exegol te liggen, aangezien dit probleem afkomstig is van XQuartz.
De tweede beperking heeft betrekking op de Docker-netwerkconfiguratie. We hebben gevallen waargenomen waarbij het netwerk van een klant het 172.17.0.0 IP-bereik gebruikt. Deze overlap met het standaard netwerkbereik van Docker kan het testproces verstoren, omdat het netwerkverkeer onbedoeld wordt omgeleid naar het Docker-netwerk in plaats van het beoogde netwerk van de klant. Om dit probleem aan te pakken, raden we aan om het standaard IP-bereik van Docker te wijzigen. Dit kan gedaan worden door het bestand /etc/docker/daemon.json aan te passen, waardoor een soepele en ononderbroken testervaring op Exegol mogelijk wordt. Een dergelijke wijziging zorgt ervoor dat de netwerkconfiguraties niet conflicteren met de containers, waardoor de integriteit van de testomgeving behouden blijft.
Tot slot kan de grootte van de standaardafbeeldingen een probleem zijn voor sommige gebruikers, omdat dergelijke tools vaak worden ingezet in virtuele machines binnen de interne netwerken van klanten. Dit is echter eenvoudig te beheren door aangepaste afbeeldingen te maken en te gebruiken die zijn afgestemd op specifieke behoeften, waardoor de grootte en inhoud worden geoptimaliseerd.
Conclusie
Exegol betekent een belangrijke stap voorwaarts in penetratietesten en cyberbeveiliging. Het zet een nieuwe standaard met zijn combinatie van reproduceerbaarheid, maatwerk en gebruiksvriendelijke functies. Nu cyberbeveiligingsbedreigingen steeds complexer worden, is Exegol een onmisbaar hulpmiddel voor professionals die hun beveiligingstools en -procedures willen verbeteren.
Bronnen
https://github.com/ThePorgs/Exegol
https://exegol.readthedocs.io/en/latest/
https://www.youtube.com/watch?v=lwZCziWpTcA