Website Security OSINT: Methodologie en Attack Surface Mapping
Open Source Intelligence (OSINT) is het verzamelen van informatie uit publiek beschikbare bronnen. Voor websitebeveiliging betekent dit: wat kan een aanvaller over uw organisatie ontdekken zonder één pakketje naar uw systemen te sturen? Op deze pagina leggen we uit welke bronnen onze scanner gebruikt, hoe we tot een score komen, en hoe u de resultaten interpreteert.
Wat is OSINT?
OSINT (Open Source Intelligence) is een verzamelnaam voor technieken waarmee u informatie vergaart uit publiek beschikbare bronnen. In de cybersecurity-context wordt OSINT gebruikt door zowel aanvallers (reconnaissance) als verdedigers (attack surface management, threat intelligence). De kracht zit in het feit dat u niets illegaals of actief hoeft te doen — alle data komt uit bronnen die al openstaan voor iedereen.
Typische OSINT-bronnen voor websitebeveiliging zijn:
- Certificate Transparency logs — publieke logs van alle uitgegeven SSL-certificaten
- DNS records — publieke naamgeving en routering
- Publieke HTTP responses — headers, HTML, robots.txt
- WHOIS data — domein-registratiegegevens
- Publieke search engines — Google dorking, Shodan, Censys
- Archieven — Wayback Machine voor historische snapshots
Wat is attack surface mapping?
Uw attack surface is het totale pakket van ingangen dat een aanvaller kan proberen: alle subdomeinen, open poorten, API endpoints, blootgestelde bestanden en gebruikte software-versies. Het probleem is dat dit oppervlak doorgaans groter is dan u denkt. Vergeten test-omgevingen, shadow-IT (door afdelingen aangemaakte subdomeinen zonder IT-review), oude DNS-entries en per ongeluk publieke bestanden tellen allemaal mee.
NIS2 Art. 21 en ISO 27001 A.5.9 vereisen expliciet dat organisaties een actuele inventaris van hun informatiemiddelen bijhouden. Attack surface mapping is de technische invulling van deze eis voor de buitenkant van uw infrastructuur.
Welke bronnen gebruikt de scanner?
1. Certificate Transparency (crt.sh)
Sinds 2018 moeten alle CA's (Certificate Authorities) elke uitgegeven certificaat publiceren in Certificate Transparency logs — een append-only publieke database. Via crt.sh doorzoeken we deze logs op %.uwdomein.nl en vinden zo alle subdomeinen waarvoor ooit een certificaat is aangevraagd.
Wat dit oplevert: Een lijst van potentieel honderden subdomeinen — productie, staging, dev, test, api, admin, mail, vpn, dev-oud, test2, etc. Veel organisaties zijn verrast door wat hier in staat.
2. Tech Stack Fingerprinting
Door HTTP headers (Server, X-Powered-By, X-Generator) en HTML-patronen te analyseren detecteren we welke software u draait: CMS (WordPress, Drupal, Joomla, Ghost), frameworks (Django, Laravel, Next.js, React), webservers (nginx, Apache), CDN's (Cloudflare, CloudFront) en analytics (Google Analytics, GTM, Facebook Pixel).
Wat dit oplevert: Inzicht in uw tech stack voor CVE-matching, outdated software detectie en third-party tracking audit.
3. Blootgestelde bestanden
We checken 17 veelvoorkomende paden die nooit publiek toegankelijk zouden mogen zijn: .env, .git/config, .git/HEAD, backup.sql, database.sql, wp-config.php.bak, phpinfo.php, server-status, en meer. Een enkel positieve hit kan direct toegang geven tot database-credentials of broncode.
Wat dit oplevert: Kritieke misconfiguraties die direct actie vereisen.
4. Security Headers
We controleren 6 kritieke HTTP security headers: Strict-Transport-Security (HSTS), Content-Security-Policy (CSP), X-Frame-Options (clickjacking-bescherming), X-Content-Type-Options (MIME sniffing), Referrer-Policy en Permissions-Policy.
Wat dit oplevert: Een snelle baseline van uw defensive HTTP configuratie.
5. Robots.txt analyse
Het robots.txt bestand vertelt zoekmachines welke paden niet geïndexeerd mogen worden. Dit verraadt vaak de bestaande van admin-gebieden, backup-mappen of interne tools die de organisatie probeert te verbergen. Deze paden zijn echter gewoon bezoekbaar door iedereen die het bestand leest.
6. Security.txt (RFC 9116)
Een goede security-praktijk is het publiceren van een /.well-known/security.txt bestand met contactgegevens voor responsible disclosure. De aanwezigheid is een positief signaal van een volwassen security-programma.
Scoring en categorieën
De scan wordt beoordeeld over 5 categorieën (totaal 100 punten):
| Categorie | Max | Wat telt mee |
|---|---|---|
| Aanvalsoppervlak | 20 | Aantal gevonden subdomeinen (minder = beter overzicht) |
| Tech Stack Zichtbaarheid | 20 | Aantal gedetecteerde technologieën |
| Blootgestelde Bestanden | 25 | 0 = 25pt, kritiek = 0pt. Zwaarst wegend. |
| Security Headers | 20 | Evenredig aan aantal aanwezige headers (6 gecontroleerd) |
| Incident Readiness | 15 | security.txt aanwezig = 15pt, afwezig = 5pt |
Resultaten interpreteren
De totaalscore geeft een snelle indicatie, maar kijk vooral naar de details:
- Blootgestelde bestanden — elke hit is kritiek en vereist directe actie. Een blootgestelde
.envkan uw complete infrastructuur compromitteren. - Subdomeinen-lijst — loop elk subdomein door en vraag: is dit in gebruik? Wie beheert het? Is het up-to-date? Niet-gebruikte subdomeinen moeten offline.
- Missing security headers — begin met HSTS en CSP. Dit zijn de headers met de grootste impact.
- Tech stack — vergelijk gedetecteerde versies met recente CVE's.
Wanneer gebruikt u een OSINT scan?
- Pre-pentest baseline — vóór een dure pentest, om quick wins en low-hanging fruit vooraf aan te pakken
- M&A due diligence — snelle security-check bij een overname of partnerschap
- Shadow IT detectie — ontdek wat er binnen uw domein gebeurt buiten IT om
- NIS2/ISO 27001 compliance — attack surface inventarisatie is een vereiste
- Bug bounty voorbereiding — identificeer zwakheden voordat onderzoekers ze vinden
- Regelmatig monitoring — draai maandelijks om veranderingen te detecteren
Veelgestelde vragen
Is een OSINT scan legaal?
Ja, volledig. OSINT gebruikt alleen publiek beschikbare bronnen. Er wordt geen actief scanverkeer gegenereerd dat als aanval kan worden gezien. Wel het advies: gebruik de tool alleen op domeinen die u zelf beheert of waarvoor u expliciete toestemming heeft.
Waarom vindt crt.sh soms honderden subdomeinen?
Certificate Transparency logs bewaren alle ooit uitgegeven certificaten — ook van verwijderde subdomeinen, tijdelijke test-omgevingen en per-tenant wildcard subdomeinen. Grote SaaS-platforms kunnen duizenden entries hebben. Filter op relevantie: welke subdomeinen resolven nog, welke zijn in gebruik, welke zijn vergeten?
Kan ik deze scan vaker draaien?
Ja, er is een limiet van 3 scans per minuut om overbelasting van externe APIs te voorkomen. Voor grote organisaties met frequent gebruik raden we onze Premium OSINT Deep Scan aan die naast deze bronnen ook Wayback Machine history, IP reputation en passive DNS integreert.
Wordt er data opgeslagen?
Nee. De scan draait ad-hoc per request. Alleen het opgegeven domein wordt tijdelijk in geheugen gehouden voor de duur van de scan. Er wordt geen geschiedenis bijgehouden van scans of IP-adressen.
Wat is het verschil met een vulnerability scanner?
Een vulnerability scanner (Nessus, OpenVAS) probeert actief kwetsbaarheden te exploiteren of te detecteren door poort-scans en versie-checks. OSINT doet uitsluitend passive reconnaissance — het verzamelt informatie die al publiek is. Voor compliance en pre-engagement is OSINT veiliger en juridisch duidelijker.
Direct resultaat op uw domein: subdomeinen, tech stack, blootgestelde bestanden, security headers en aanbevelingen. Scan duurt 15-30 seconden.
Start de OSINT scan