Categorie: Cyber Security

Anti-Adversary-in-the-Middle (AitM) tokens detecteren en omzeilen

Anti-Adversary-in-the-Middle (AitM) tokens detecteren en omzeilen

Binnen het Advanced Red Teaming (ART) framework is het mogelijk om de initiële compromisfase van een red team engagement over te slaan en te starten vanuit een “Assumed Compromise” scenario. Phishing-aanvallen worden echter vaak gebruikt om de perimeter te doorbreken. In deze blog bespreken we een specifieke detectiemethode voor Adversary-in-the-Middle-aanvallen (AitM) die vaak worden gebruikt door tegenstanders zoals ransomware-groepen om toegang te krijgen tot de gegevens van de organisatie. Daarna onderzoeken we hoe deze methode kan worden omzeild. Eerst moeten we begrijpen wat AitM-aanvallen zijn en hoe ze vaak worden gebruikt om inloggegevens en (MFA-)tokens te stelen.

AitM-aanvallen zijn zeer effectief omdat ze een aanvaller in staat stellen zich te positioneren tussen het slachtoffer en het doelwit, wat een legitieme service kan zijn, zoals de inlogpagina van Microsoft. Vanuit deze positie kunnen de aanvallers het netwerkverkeer afvangen en e-mail, wachtwoorden, cookies en sessietokens achterhalen. Door de tokens te bezitten, kunnen we Multi-Factor Authenticatie (MFA) omzeilen. Dit benadrukt het belang van het detecteren en beperken van dergelijke aanvallen.

Adversary-in-the-Middle-detectie implementeren met Canarytokens

Er is al enig onderzoek gedaan naar hoe bepaalde tokens kunnen worden geïmplementeerd om Microsoft 365 AitM-aanvallen te detecteren, zoals deze van Zolder.io en Clarion. De detectiemethode werkt door een token te implementeren in een verborgen achtergrondafbeelding-URL binnen het CSS-bestand voor de Microsoft-inlogpagina. Deze huisstijl wordt vaak gebruikt door organisaties om hun eigen bedrijfslogo en achtergrond te implementeren. Telkens wanneer een gebruiker zijn e-mail invoert op de Microsoft aanmeldpagina op https://login.microsoftonline.com, laadt de webbrowser de bestanden met de huisstijl van het bedrijf, als deze zijn geconfigureerd. In het voorbeeld dat in het onderzoek wordt gegeven, wordt de CSS-code weergegeven zoals hieronder. Om deze implementatie te testen, hebben we de CSS gekloonde website functie van https://canarytokens.org gebruikt om een token te krijgen. Stel tijdens de configuratie de protected site waarde in op https://login.microsoftonline.com/. Deze blog gaat niet over de implementatie van deze tokens. Als je de specifieke stappen wilt weten van hoe dit kan worden geïmplementeerd, bekijk dan het onderzoek in de eerder gelinkte blogs van Zolder of Clarion. Een voorbeeldconfiguratie van zo’n achtergrondafbeelding in de huisstijl zou zijn:

.ext-footer
{
background-image: url(‘<YOUR_CANARY_TOKEN>’);
background-size 0 0;
}

Afbeelding 1 – Canarytoken in een verborgen achtergrondafbeelding in het aangepaste CSS-bestand.

Normaal gesproken, wanneer een gebruiker inlogt bij Microsoft, bevat de referer header de waarde https://login.microsoftonline.com/. Bij gebruik van een reverse proxy tool zoals Evilginx wordt de referer header echter ingesteld op de waarde van het phishing domein. In ons voorbeeld is het phishingdomein https://login.fake.com, dus de referer header zal zijn:

Verwijzer: https://login.fake.com

Als de Referer header afwijkt van degene die is geconfigureerd als de beveiligde URL tijdens het genereren van CSS Canarytoken, zal Canarytokens een waarschuwing genereren. Dit komt door een mismatch tussen de Referer-waarde (https://login.fake.com) en het beschermde domein (https://login.microsoftonline.com). Hieronder staat een voorbeeld van een dergelijke waarschuwing:

Afbeelding 4 – Detectietoken in de verborgen achtergrondafbeelding.

Anti-adversary-in-the-middle tokens detecteren

Als we deze tokens willen omzeilen, moeten we controleren hoe deze tokens in de webbrowser worden geladen. Eerst moeten we een manier vinden om de bestanden met bedrijfsmerknamen te laden voor de doelhuurder. Dit kan eenvoudig worden gedaan zonder een geldig e-mailadres voor de huurder door simpelweg de whr parameter toe te voegen aan de URL. In het geval van NVIDIA zou de volledige URL dan zijn: https://login.microsoftonline.com/?whr=nvidia.onmicrosoft.com. Wanneer de pagina wordt bezocht, wordt het bedrijfslogo geladen zonder dat er een aanmeldingsgebeurtenis wordt geactiveerd. Als je echter inlogt met een geldig e-mailadres, wordt een onvolledige aanmelding geregistreerd.

Figuur 3 – De whr parameter gebruiken om de bestanden met bedrijfslogo’s in te laden. 

Hoe komen we er nu achter waar deze detectietokens zijn opgeslagen? Door het tabblad netwerk te openen in de ontwikkelaarstools kunnen we filteren op het woord customcss. In het voorbeeld van NVIDIA wordt geen aangepast CSS-bestand gebruikt voor de huisstijl, omdat ze alleen een aangepast logo en achtergrond hebben geconfigureerd. In onze ontwikkeltenant hebben we echter een aangepaste CSS ingesteld met een kanarie-token in de verborgen achtergrondafbeelding, zoals te zien is in de customcss-respons hieronder.

Afbeelding 4 – Detectietoken in de verborgen achtergrondafbeelding.

We hebben een eenvoudig hulpmiddel ontwikkeld om het vinden van deze tokens te vergemakkelijken. Dit script parseert het aangepaste CSS-bestand en identificeert alle URL’s die erin staan. Als er een aangepast CSS-bestand zonder URL’s wordt gevonden, wordt de hele CSS uitgevoerd voor handmatige controle, om er zeker van te zijn dat er niets wordt gemist. Als je ermee wilt spelen, kun je het hier klonen: https://github.com/HackDefenseNL/aitm-detect. Hieronder staat een voorbeelduitvoer van onze developer tenant en de DHL tenant die een aangepaste CSS heeft geïmplementeerd, maar geen URL’s voor achtergrondafbeeldingen:

Afbeelding 5 – Geautomatiseerde ontdekking van detectietokens in CSS-bestanden met bedrijfslogo’s.

Anti-Adversary-in-the-Middle tokens omzeilen

Het meest interessante deel van ons onderzoek is uitzoeken hoe we deze tokens kunnen omzeilen. Omdat we alle inhoud proxen, hebben we meerdere oplossingen tot onze beschikking. Eén manier is door de waarde van de referer header te veranderen in de normale waarde: https://login.microsoftonline.com/. Evilginx lijkt dit momenteel echter niet te ondersteunen. Een andere oplossing is het invoegen van ons eigen Content Security Policy (CSP), dat blokkeert dat het token wordt geladen in onze proxied Microsoft 365 pagina. 

We kunnen eenvoudig een nieuw sub_filter maken in onze Microsoft 365 Evilginx phishlet. Deze sub_filters kunnen worden gebruikt om te zoeken naar bepaalde inhoud in HTML-, CSS- en JS-bestanden en deze dan te vervangen door een nieuwe waarde. Dit is precies wat we nodig hebben om onze aangepaste CSP toe te voegen aan de proxied pagina. Er zijn waarschijnlijk meerdere opties om dit te implementeren, maar in onze aanpak zoeken we naar de eerste <head> HTML tag en vervangen deze door een nieuwe. Daarna voegen we een nieuwe metatag toe, die de CSP bevat en het MIME-type instelt om te zoeken naar tekst/html-inhoud.

Afbeelding 6 – Sub_filter met de CSP omzeiling in de Microsoft 365 phishlet voor Evilginx.

Als je je herinnert uit de eerste paragraaf, worden de detectietokens geïmplementeerd via de background-image url(<TOKEN URL>), dus de inhoud die we moeten blokkeren zijn afbeeldingen. In het CSP kan dit worden bereikt met de inhoudsoptie img-src. We willen natuurlijk niet alle afbeeldingen blokkeren, want dan zou de pagina er heel anders uitzien.

Als er bestanden met bedrijfslogo’s worden gebruikt voor het logo, de achtergrond, enzovoort, worden deze geladen vanaf Microsofts eigen domein. Er is echter niet slechts één domein, verschillende domeinen worden gebruikt om verschillende soorten bestanden met bedrijfslogo’s en Microsofts eigen afbeeldingen te laden. In het onderstaande voorbeeld wordt de NVIDIA-afbeelding geladen vanaf aadcdn.msftauthimages.net:

Afbeelding 7 – Voorbeeld van een bedrijfsmerkbestand dat is geladen vanuit het domein van Microsoft.

Uit mijn tests met verschillende bestanden met bedrijfslogo’s blijkt dat de volgende domeinen worden gebruikt om de afbeeldingen te laden:

⦁ aadcdn.msftauthimages.net

⦁ aadcdn.msauthimages.net

⦁ aadcdn.msftauth.net

⦁ aadcdn.msauth.net

Als je deze toevoegt aan je CSP zou je het volgende sub_filter moeten krijgen:

sub_filters:
– {triggers_on: “login.microsoftonline.com”, orig_sub: “login”, domein: “microsoftonline.com”, zoeken: ‘<hoofd>’, vervang: ‘<hoofd><meta http-equiv=”Content-Security-Policy” content=”img-src aadcdn.msftauthimages.net aadcdn.msauthimages.net aadcdn.msauth.net aadcdn.msftauth.net”>’, mimes: [’text/html’]}

Merk op dat als je zoiets als frameloze BiTB gebruikt, je ook je eigen phishing-subdomeinen (bijv. login.fake.com) moet toevoegen aan het CSP, tenzij je geen afbeeldingen gebruikt op je domein.

We kunnen ook een kijkje nemen in de Microsoft-documentatie om te zien welke domeinen worden gebruikt om inhoud te laden tijdens de portaalauthenticatie: https://learn.microsoft.com/en-us/azure/azure-portal/azure-portal-safelist-urls?tabs=public-cloud#azure-portal-authentication

Conclusie

Bestanden met bedrijfslogo’s bieden een eenvoudige manier om tokens te implementeren die kunnen worden gebruikt om AitM-aanvallen te detecteren. Deze bestanden met bedrijfslogo’s zijn echter openbaar toegankelijk en kunnen daarom gemakkelijk worden gecontroleerd op het bestaan van deze tokens.

Door gebruik te maken van de Evilginx phishlet filters zijn we erin geslaagd om een Content Security Policy te implementeren, die blokkeert dat de tokens worden geladen in de proxied Microsoft 365 pagina, waardoor deze specifieke AitM detectiemethode effectief wordt omzeild.

Dit is pas de eerste blog in onze Red Team-serie. In de volgende zullen we het hebben over Moderne phishingtechnieken voor Microsoft 365.

Wat is XXE (XML eXternal Entity)?

Wat is XXE (XML eXternal Entity)?

Veel moderne webapplicaties gebruiken nog steeds XML voor het transporteren en opslaan van gegevens. In 1996 creëerde het World Wide Web Consortium (W3C) deze standaard en tot op de dag van vandaag wordt deze gebruikt voor een grote verscheidenheid aan implementaties. XML heeft veel functies waar ontwikkelaars niet altijd bekend mee zijn, wat hackers een mogelijkheid tot misbruik biedt.

Onveilige implementaties van sommige XML-functies kunnen kwetsbaarheden introduceren, een daarvan is XML External Entity injection (XXE). XXE betekent dat de XML-functionaliteit van de toepassing kan worden gebruikt om externe bronnen op te halen via een verwijzing in de XML. Kwetsbare software die de XML parseert, interpreteert de verwijzing, waardoor XXE-aanvallen mogelijk zijn. Deze kwetsbaarheid kan soms worden gebruikt om bestanden van de server te lezen of zelfs om er commando’s op uit te voeren.

De XXE-kwetsbaarheid is een van de meest kritieke beveiligingsproblemen volgens de OWASP Top 10. Het is gecategoriseerd onder “A05:2021 – Misconfiguratie van de beveiliging” en is de 5e meest kritieke kwetsbaarheid in 2021.

XML-basis

XML staat ook bekend als Extensible Markup Language en is net als HTML gebaseerd op Standard Generalized Markup Language (SGML). Het XML-formaat heeft dus veel gemeen met het HTML-formaat. Het heeft ook declaraties, elementen en attributen, zoals weergegeven in de onderstaande afbeelding

Een XML-bestand begint met een XML-declaratie. Hiermee wordt aangegeven welke XML-versie wordt gebruikt. In de meeste gevallen is dit ingesteld op <?xml version=”1.0″?>.

Daarna vertelt de Document Type Declaration (DTD) de software hoe het bestand is opgebouwd. Dit wordt gedeclareerd in het element <!DOCTYPE …>. De auteur kan een definitie, of kan verwijzen naar een extern of lokaal definitiebestand. Deze definitie kan worden opgeslagen in een .dtd bestand of kan worden gedefinieerd in de Documenttype-declaratie met behulp van vierkante haakjes[ … ]. Het is ook heel gewoon om te verwijzen naar een externe DTD op het internet.

De DTD wordt gevolgd door de gegevens die zijn gestructureerd in elementen en attributen, waarbij (externe) entiteiten kunnen worden gebruikt.

Entiteiten in XML

Entiteiten kunnen worden vergeleken met een variabele in een programmeertaal. In het volgende voorbeeld bevat de entiteit msg de waarde “Hello World”. De waarde wordt opgeslagen in het <bericht> element. Een verwijzing naar deze entiteit wordt geschreven als &msg;.

<DOCTYPE xml [ <!ENTITY msg “Hello World”>]>
<xml>
<bericht>&msg;</bericht>
</xml>

Dit is een voorbeeld van een interne entiteit. Er zijn ook externe entiteiten en deze worden gebruikt in XXE aanvallen. Een externe entiteit kan worden gebruikt zoals in het onderstaande voorbeeld. In dit voorbeeld verwijst de entiteit ext naar een externe bron: https://example.com/. De software die de XML parseert, haalt de externe bron op wanneer het XML-bestand wordt geïnterpreteerd. Let ook op het sleutelwoord SYSTEM, dat aangeeft dat het een externe entiteit is.
<DOCTYPE xml [ <!ENTITY ext SYSTEM “http://example.com/” > ]>
<xml>
<site>&ext;</site>
</xml>

Naast het opvragen van gegevens uit externe bronnen, is het ook mogelijk om lokale bestanden (op de server) op te nemen met behulp van een externe entiteit.

XXE aanval

Een XXE-aanval is mogelijk wanneer XML-functionaliteiten worden gebruikt die gevaarlijke functies ondersteunen, zoals externe entiteiten. Om deze kwetsbaarheid te demonstreren, hebben we het xxelab van Joshua Barone gebruikt. Deze labomgeving is opzettelijk kwetsbaar voor XXE aanvallen voor testdoeleinden. Het bevat een kwetsbare applicatie met een registratieformulier dat XML gebruikt. De volgende schermafbeelding laat zien hoe de formuliergegevens zijn gestructureerd en hoe het element<email> terugkomt in het antwoord.

Om te controleren of dit formulier XML-entiteiten ondersteunt, gebruik je een interne entiteit, zoals dit: <!DOCTYPE foo [ <!ENTITY xxe “Dit is een interne entiteit” >]>

Omdat de waarde van <email> wordt weergegeven in het antwoord, kunnen we dit gebruiken om deze kwetsbaarheid uit te buiten. In het volgende voorbeeld wordt de entiteit XXE gebruikt om de waarde “Dit is een interne entiteit” weer te geven in het antwoord.

Om deze kwetsbaarheid uit te buiten om lokale bestanden te lezen, moet een externe entiteit worden gebruikt, zoals in het volgende voorbeeld: 

<DOCTYPE foo [ < ENTITY xxe SYSTEM “file://etc/passwd” >]> 


Deze externe entiteit verwijst naar het lokale bestand /etc/passwd op het bestandssysteem van de server waarop de applicatie staat. Omdat de waarde van <email> wordt weergegeven in het antwoord, kunnen we dit gebruiken om de inhoud van het lokale bestand /etc/passwd weer te geven. De schermafbeelding hieronder laat zien hoe de externe entiteit xxe kan worden gebruikt om het lokale bestand/etc/passwd te lezen:

Wat kun je nog meer doen met XXE?

Een XXE-aanval kan worden gebruikt voor meerdere exploitatieveectoren. Een XXE aanval kan worden gebruikt als een DoS aanval (bekend als de Billion Laughs aanval). Deze aanval maakt veel kopieën van een entiteit, waardoor de applicatie grote hoeveelheden servergeheugen moet gebruiken om de XML te verwerken.

In sommige gevallen kan een XXE kwetsbaarheid gebruikt worden om poorten te scannen. Dit kan worden bereikt door verwijzingen naar het interne netwerk. In sommige situaties kan de respons of responstijd een indicatie geven of de poort (waarnaar de URL in de externe entiteit verwijst) open of gesloten is.

En in het ergste geval kan een XXE-kwetsbaarheid ook worden gebruikt om commando’s direct op het lokale systeem uit te voeren.

XXE-kwetsbaarheden verhelpen

De meeste XXE kwetsbaarheden ontstaan wanneer een applicatie gevaarlijke functionaliteiten zoals externe XML entiteiten ondersteunt. De meest effectieve manier om deze kwetsbaarheden te beperken is dus het uitschakelen van deze functionaliteiten of het beperken van de toepassing door middel van filtering. Er zijn veel platformen en bibliotheken die XML ondersteunen, maar hier zijn enkele oplossingen voor enkele veelgebruikte:

⦁ Java – javax.xml.parsers.DocumentBuilderFactory
– factory.setFeature(“http://apache.org/xml/features/disallow-doctype-decl”, true);

⦁ PHP – libxml2
– libxml_set_external_entity_loader(null);

⦁ NET -XmlTextReader
– reader.ProhibitDtd = true;

Bekijk de OWASP XXE Prevention cheatsheet voor mitigaties voor andere platforms. Tegenwoordig zijn de meeste bibliotheken beschermd tegen XXE aanvallen omdat het laden van externe entiteiten niet standaard is ingeschakeld.

Het gebruik van een lokale statische DTD kan veilige en correcte XML-invoer afdwingen. Een DTD-bestand definieert een aantal regels waaraan moet worden voldaan voordat de XML-invoer kan worden geladen. Zorg er ook voor dat de applicatie geen DTD’s van gebruikersinvoer accepteert.

Het kan ook een optie zijn om te kijken naar andere gegevensopslagformaten zoals YAML en JSON. Maar wees voorzichtig, deze formaten kunnen ook gevaarlijk zijn als ze niet op de juiste manier worden geïmplementeerd.

Wordt het wachtwoord van de lokale administrator in jouw omgeving hergebruikt?

Wordt het wachtwoord van de lokale administrator in jouw omgeving hergebruikt?

Het Windows-besturingssysteem bevat standaard een beheeraccount voor beheerdoeleinden waarvan het wachtwoord bij veel omgevingen op meerdere systemen hetzelfde is.

Waarom hergebruik van het wachtwoord vaak voorkomt

Het wachtwoord van het lokale administrator account wordt regelmatig hergebruikt en is dus hetzelfde op meerdere systemen binnen de organisatie. Dit kan bijvoorbeeld komen omdat er één image gebruikt wordt voor alle servers en één image voor alle werkplekken. In deze image is het lokale administrator account ingesteld en het wachtwoord wordt vervolgens nooit gewijzigd. Of men gebruikt een script om een standaard wachtwoord op elk systeem in te stellen.

Als een aanvaller administrator rechten heeft tot één van deze machines en het wachtwoord of versleutelde versie hiervan weet te achterhalen kan hij deze hergebruiken om toegang te krijgen tot meerdere of soms alle systemen binnen het domein. Met deze toegang kan het mogelijk zijn om volldige controle te krijgen binnen het domein.

Overzicht testomgeving

In ons test domein playground.local is hetzelfde lokale administrator wachtwoord gebruikt voor alle systemen in het domein. De gehashte versie van het wachtwoord is opgeslagen in de lokale SAM-database. Het is mogelijk om dit wachtwoord te verkrijgen door de inhoud hiervan uit te lezen.
Een hash is het resultaat van een hash-algoritme, wat een stuk tekst omzet naar een opsomming van letters en cijfers. Op deze manier kan men controleren of iemand het juiste wachtwoord ingevoerd heeft zonder dat dat wachtwoord opgeslagen is op een manier die terug te rekenen is naar het oorspronkelijke wachtwoord.

Een aanvaller met toegang tot deze hash kan een pass the hash aanval uitvoeren, waarbij de hash wordt gebruikt om te authenticeren . Om dit te demonstreren hebben wij een labomgeving opgezet bestaande uit één Windows cliënt en twee Windows-servers waaronder een webserver en een domeincontroller. Het lab ziet er als volgt uit:

Uitvoeren van de aanval

In ons lab demonstreren we deze aanval door gebruik te maken van een account die lokale administrator rechten heeft op een werkstation. Een aanvaller met lokale administrator rechten kan met behulp van Invoke-Mimikatz de hashes uitlezen van de (lokale) gebruikers, waaronder de hash van het lokale administrator account. Om dit te doen gebruiken wij het volgende commando: Invoke-Mimikatz -Command ‘”privilege::debug” “token::elevate” “lsadump::sam”‘

De hash (48e723f6efb3eff9ae669e239c42fff3) van het lokale administrator account kan gebruikt worden door de aanvaller om een pass the hash aanval uit te voeren waarbij hij zich probeert te authenticeren als de lokale administrator op elke machine binnen het domein. Dit kan een aanvaller bijvoorbeeld doen met het hulpprogramma NetExec.

De oranje letters in de afbeelding hierboven tonen aan dat wij op twee systemen lokale administrator toegang hebben. Dit betekent dat wij op dit moment toegang hebben tot alle systemen behalve de domeincontroller. Het is namelijk standaard niet mogelijk om met het lokale administrator account in te loggen op de domeincontroller, tenzij deze in de AD restore modus staat. 

Local Administrator Password Solution

Local Administrator Password Solution (LAPS) is een management programma van Microsoft dat gebruikt kan worden voor het beheren van lokale administrator wachtwoorden. LAPS genereert automatisch voor elk systeem een ander wachtwoord, dit doet het standaard om de 30 dagen . Vervolgens wordt het wachtwoord opgeslagen in het attribuut Ms-Mcs-AdmPwd.

Toegang tot het wachtwoord wordt verleend via het recht Control access op het attribuut. Control access is een Extended Right in Active Directory, wat betekent dat een gebruiker met de machtiging All Extended rights heeft op dat attribuut of een object daarboven, hij het wachtwoord in kan zien. Hieronder staat een voorbeeld:

Het opslaan van dit niet gehashte wachtwoord is dus geen probleem omdat het veld niet voor iedereen leesbaar is. Als een aanvaller over een account beschikt die toegang heeft tot de domeincontroller om dit uit te lezen of een gebruikersaccount met rechten, beschikt hij over veel meer rechten dan lokale administrator accounts.

Het opvragen van LAPS wachtwoorden

De wachtwoorden worden, indien opgevraagd over het netwerk, door de LAPS GUI en PowerShell versleuteld verstuurd. De LAPS GUI ziet er als volgt uit indien een geautoriseerde gebruiker het wachtwoord opvraagt:

Het is ook mogelijk om het wachtwoord op te vragen doormiddel vaan PowerShell met het volgende commando:

Get-AdmPwdPassword -Computername ‘computernaam’

Securance & Kiwa: Cybersecurity oplossingen

Securance en Kiwa bundelen hun krachten op het gebied van oplossingen voor Cybersecurity en Risk Management

Securance, toonaangevend op het gebied van geïntegreerd Risk Management en Cybersecurity in Europa, kondigt met trots een nieuwe samenwerking aan met Kiwa, een gerespecteerde aanbieder van certificering en compliance diensten. Deze samenwerking zal zich richten op ISO-certificeringen en Assurance-diensten, waarbij we ons aanbod versterken terwijl we onze respectievelijke expertise behouden.

Bij Securance combineren we uitgebreide assurance- en adviesdiensten met geavanceerde cybersecuritymaatregelen om bedrijven te beschermen en te versterken. Door onze krachten te bundelen met Kiwa streven we ernaar onze gezamenlijke capaciteiten te benutten om robuustere, toonaangevende oplossingen te bieden die zijn afgestemd op de specifieke behoeften van onze klanten. Deze samenwerking stelt ons in staat onze serviceverlening te verbeteren, vooral op gebieden die compliance en operationele excellence vereisen.

Samen zetten Securance en Kiwa nieuwe standaarden op het gebied van Cybersecurity, Compliance en Risk Management. Onze samenwerking zal schaalbare oplossingen leveren die bedrijfscontinuïteit en veerkracht garanderen, en groei en innovatie bevorderen in een voortdurend veranderende digitale wereld.

Koen van der Aa, COO van Securance, zei: ”Wij zijn zeer verheugd onze samenwerking met Kiwa aan te kondigen. Deze samenwerking markeert een belangrijke stap vooruit voor beide bedrijven terwijl we onze krachten bundelen om onze diensten op het gebied van Risk Management en Cybersecurity te verbeteren. Samen zijn we toegewijd om aanzienlijke waarde te leveren aan onze klanten, door onze gecombineerde expertise te benutten om te voldoen aan de evoluerende behoeften van de markt. Ik kijk uit naar de kansen en successen die voor Kiwa en Securance in het verschiet liggen.”

Ook Marjolein Veenstra, teamleider cybersecurity bij Kiwa, is enthousiast over de strategische samenwerking met Securance. ‘Met deze stap kunnen we onze klanten met complexe certificerings- en assurancevraagstukken nog beter bedienen. Hierbij ontzorgen we onze klanten in het proces en kan er meer focus worden gelegd op de inhoudelijke beoordeling. Wij kijken dan ook graag naar de mogelijkheden om de klant en elkaar te versterken in de markt.’