Casus · EASM & Vulnerability Scanning

Schildwaard is geen echte gemeente.
Maar haar problemen zijn dat wel.

Wij hebben een fictieve gemeente opgezet — met de configuraties, verouderde software en blinde vlekken die wij in de praktijk tegenkomen. Vervolgens scanden wij de omgeving zoals een aanvaller dat zou doen, vanaf het publieke internet. Dit is wat we vonden.

Een demonstratie door
PDCS
01 De opzet

Een gemeente met de typische blinde vlekken

Voor deze demonstratie is een externe omgeving opgezet en hebben wij volgens onze standaardwerkwijze een kwetsbaarhedenscan uitgevoerd.

De omgeving bestond uit een burgerzaken portaal, een standaard dienst op het publieke internet.

De scan is uitgevoerd vanaf het internet, zonder voorkennis van de infrastructuur en zonder inloggegevens. Precies zoals een aanvaller te werk zou gaan.

20
Bevindingen totaal
3
Kritiek (CVSS ≥ 9.0)
1
Bevestigde RCE
~28min
Tot eerste bevinding
02 De bevindingen

Wat de aanvaller ziet, wat de verdediger zou willen zien

Uit de bevindingen lichten we er drie uit. Deze zijn representatief voor wat wij regelmatig tegenkomen bij gemeenten en hun toeleveranciers.

Bevinding 01
Kritiek · CVSS 9.8
CVE-2021-41773 / CVE-2021-42013

Webserver kon van afstand worden overgenomen

Wat de aanvaller ziet

Een verouderde versie van de webserver, herkenbaar aan de versie-informatie die het systeem zelf vrijgeeft in elke response. Een specifiek aangepaste URL volstaat om bestanden buiten de webroot uit te lezen — of om commando's uit te voeren op de server.

# Eén HTTP-verzoek volstond
GET /icons/.%2e/.%2e/.%2e/.%2e/etc/passwd

# Resultaat: bestandsinhoud van de server
root:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:...
Wat de verdediger zou willen zien

Webservers worden actief beheerd en periodiek bijgewerkt. Versie-informatie wordt onderdrukt zodat aanvallers niet eenvoudig kunnen identificeren welke kwetsbaarheden van toepassing zijn. Configuraties die deze kwetsbaarheid mogelijk maken — directories met te ruime rechten, ingeschakelde scripthandlers — zijn standaard uitgeschakeld.

Bevinding 02
Hoog · Geen authenticatie vereist
Configuratie · Geen CVE

Een database stond open voor het hele internet

Wat de aanvaller ziet

Een open netwerkpoort die gebruikelijk is voor databases. De service luistert op alle netwerkinterfaces in plaats van alleen op het lokale netwerk. Omdat er geen voorzieningen tegen automatisch raden van wachtwoorden zijn ingebouwd, kan een aanvaller onbeperkt veel inlogpogingen doen — net zo lang tot een veelvoorkomende combinatie raakt.

# Poortscan toont openstaande database
3306/tcp  open  mysql

# Geautomatiseerde inlog met veelvoorkomende combinaties
$ mysql -h target -u webapp -pwebapp123
mysql> Welcome to the MySQL monitor.
Wat de verdediger zou willen zien

Databases zijn alleen bereikbaar binnen het beheerde netwerk, nooit vanaf het publieke internet. Authenticatie is verplicht en gebruikt sterke, unieke wachtwoorden of certificaten. Externe firewalls en netwerksegmentatie vormen een tweede laag, voor het geval een service per ongeluk verkeerd wordt geconfigureerd.

Bevinding 03
Hoog · Cross-Site scripting
Kwetsbaarheid · Cross-Site scripting

De website is kwetsbaar voor Cross-Site scripting (XSS)

Wat de aanvaller ziet

In een formulier op een publieke webapplicatie werd gebruikersinvoer onvoldoende gecontroleerd voordat deze opnieuw op de pagina werd getoond. Daardoor kon een aanvaller eigen JavaScript-code laten uitvoeren in de browser van een bezoeker. Bij een gemeente kan zoiets misbruikt worden om burgers naar een valse pagina te sturen, sessiegegevens te onderscheppen of vertrouwen in een digitale dienst te misbruiken.

# Subdomeinen vindbaar via publieke registers
www.gemeente.nl
acceptatie.gemeente.nl
test.gemeente.nl       ← testomgeving
oud-portaal.gemeente.nl

# Inloggen met een veelvoorkomende combinatie
test.gemeente.nl   →   admin / Welkom2025!   → toegang
Wat de verdediger zou willen zien

Test- en acceptatieomgevingen zijn niet vanaf het publieke internet bereikbaar, maar uitsluitend via een interne netwerkverbinding of een VPN. Wanneer externe leveranciers tijdelijk toegang nodig hebben, gebeurt dat via een afgesproken kanaal met meervoudige authenticatie. Wachtwoorden die in handleidingen voorkomen worden nooit gebruikt — ook niet "tijdelijk".

Het volledige rapport

Dit zijn drie bevindingen uit het rapport. Benieuwd hoe het volledige rapport eruit ziet? Download het document met alle bevindingen met technische details, prioriteringsadvies, herstelaanbevelingen en bewijsvoering — zoals een gemeente het van ons ontvangt.

03 Tot slot

Wat zou er op uw gemeente staan?

Schildwaard is verzonnen. De bevindingen waren gericht — wij wisten wat we aan het bouwen waren. In de praktijk is het andersom. Een gemeente weet doorgaans niet welke systemen aan het internet zichtbaar zijn, welke versies er draaien, welke leverancier waarvoor verantwoordelijk is.

Onze dienst

EASM & Vulnerability Scanning

Wij combineren External Attack Surface Management met geautomatiseerde kwetsbaarhedenscans, en houden vinger aan de pols met doorlopende monitoring. Vier pijlers, één dienst.

01
Intake en scope

Welke domeinen, welke leveranciers, welke afspraken zijn nodig. Wij kijken zoals een aanvaller kijkt — vanaf het publieke internet, zonder voorkennis.

02
Toestemming en planning

Schriftelijke instemming van de systeemeigenaar, vooraf afgestemd tijdvenster.

03
Scan en analyse

Per asset toetsen we op bekende kwetsbaarheden, foutieve configuraties en zwakheden in webapplicaties. Geprioriteerd op werkelijk risico in uw situatie.

04
Rapport en gesprek

Gestructureerde rapportage en, op verzoek, een gezamenlijk gesprek met u en uw leveranciers.