Terugbellen als bewijs: zo werkt OAST
Bijgewerkt: 21 oktober 2026
Kort antwoord: sommige lekken zie je niet aan het antwoord van een server. Daarom stuurt de actieve scan een onschuldig verzoek met een uniek adres van onze eigen terugbelserver. Een kwetsbaar systeem volgt dat adres en belt terug. Komt dat terugbelverzoek binnen, dan is het lek aangetoond en staat het in je rapport als Bevestigd. Een veilig systeem doet niets, en dan beweren we ook niets.
Video van 59 seconden, alle tekst in beeld, met achtergrondmuziek. Volg de stipjes: oranje is een verzoek dat bij jouw server aankomt, paars het antwoord, groen het terugbelverzoek naar onze eigen server.
Waarom een versienummer niet genoeg is
Een actieve scan herkent per dienst welke software en welke versie er draait. Staat die versie onder de fix van een bekend lek, dan is de kans groot dat het systeem kwetsbaar is. Zeker weten doe je het niet: Linux-distributies zetten een fix vaak in een oud versienummer, en dan ziet een bijgewerkt systeem er van buiten hetzelfde uit als een kwetsbaar systeem.
Daarom zegt je rapport bij elke bevinding hoe zeker die is:
| Klasse | Wat het betekent |
|---|---|
| Bevestigd | Het lek zelf is aangetoond, bijvoorbeeld doordat het systeem terugbelde. |
| Waarschijnlijk | De versie staat onder de fix, en dat heeft de actieve scan zelf vastgesteld. |
| Mogelijk | De versie staat onder de fix, maar dat komt alleen uit openbare bronnen. |
| Blootgesteld | De software draait, maar de versie is van buiten niet vast te stellen. |
Blinde lekken: het antwoord verraadt niets
Bij een deel van de lekken helpt kijken naar het antwoord niet. Het bekendste voorbeeld is Log4Shell (CVE-2021-44228): een kwetsbaar systeem verwerkt een speciaal stukje tekst en gaat daarna zelf iets opzoeken op het internet. Het antwoord dat je terugkrijgt, is gewoon 200 OK, precies hetzelfde als bij een veilig systeem. Hetzelfde geldt voor lekken waarbij een server zich laat verleiden om zelf een adres op te vragen, en voor sommige vormen van injectie. Die heten blind, omdat je ze in het antwoord niet ziet.
Zo werkt terugbellen
- Een uniek adres. Voor elk verzoek maken we een adres aan onder
oast.exposure-watch.commet een eigen, willekeurig kenmerk, zoalsk7f2q9.oast.exposure-watch.com. - Een onschuldig verzoek. Dat adres zit in een gewoon verzoek aan je server, op de plek waar een kwetsbaar systeem het zou oppakken.
- Een kwetsbaar systeem belt terug. Het zoekt het adres op, of maakt er verbinding mee. Een veilig systeem doet niets met de tekst.
- Onze terugbelserver ziet het. Komt er een opzoeking binnen met precies dat kenmerk, dan weten we welk verzoek, aan welk systeem, het heeft veroorzaakt.
Een opzoeking in DNS is al genoeg. Daardoor werkt het ook als je server zelf niet naar buiten mag surfen: de opzoeking loopt via je eigen DNS-server, en die vraagt het na bij de onze.
Wat het bewijst, en wat niet
Een terugbelverzoek met het juiste kenmerk is bewijs: het lek staat vast, en in je rapport krijgt de bevinding de klasse Bevestigd. Pak zo'n bevinding als eerste op, want over de patchstand is dan geen twijfel meer.
Andersom is het geen garantie. Belt een systeem niet terug, dan zeggen we niet dat het veilig is. Misschien zit het lek op een plek die onze test niet raakt, of houdt een tussenliggend systeem het verzoek tegen. Wat er verder over dat systeem bekend is, zoals de versie, blijft gewoon in je rapport staan met de klasse die erbij hoort.
Onze eigen terugbelserver
Terugbellen kan ook via openbare terugbelservers van derden. Dat doen we bewust niet. Wat een van jouw systemen terugstuurt, hoort bij jouw scan en niet bij een partij die je niet kent. Daarom draait oast.exposure-watch.com op een eigen, afgeschermde server. Alleen onze scanner kan hem uitlezen, met een geheime sleutel die niet in de code of de scaninstellingen staat.
Wat je in je eigen logboek ziet
Zie je in de logboeken van je DNS-server, proxy of firewall een opzoeking van een adres dat eindigt op .oast.exposure-watch.com? Dan belde dat systeem terug op een verzoek dat het binnenkreeg. Valt het samen met een actieve scan van ons, dan was het onze test en zegt het rapport van die scan welk lek het betreft. Hoe dan ook verdient dat systeem als eerste aandacht: het zocht een adres op dat het van buiten aangereikt kreeg.
Wat we nooit doen
- Geen aanvalscode en geen shell. Het enige wat een kwetsbaar systeem doet, is ons adres opzoeken. We laten het geen opdrachten uitvoeren.
- Niets veranderen. Onze eigen bewijstesten schrijven, wissen en herstarten niets, en bewaren geen inhoud van je systemen. Elke test wordt met de hand gecontroleerd voordat hij meedraait.
- Alleen op je eigen domein. Terugbellen is onderdeel van de actieve scan. Die draait alleen op een domein waarvan je het eigendom hebt aangetoond, en alleen op de subdomeinen die jij in de scan-scope zet. Lees ook wat elke scan doet.
In welke scan zit het?
In de actieve scan, en welke testen meedoen hangt af van het profiel:
| Profiel | Terugbellen | Beschikbaar vanaf |
|---|---|---|
| Safe | Nee. Dit profiel belooft dat er niets wordt uitgeprobeerd, en daar houden we ons aan. | Gratis |
| Standard | Ja: een grote verzameling bekende lekken die je met terugbellen aantoont, waaronder Log4Shell. | Starter |
| Deep | Ja, het breedst: ook lekken waarbij een server zich laat verleiden om zelf een adres op te vragen. | Pro |
Meer testen betekent niet dat een scan langer duurt dan zijn vaste maximale looptijd. Hoe meer testen er meedoen, hoe minder adressen per scan we ermee langsgaan. De verzameling groeit met elke update, en elke test die we zelf toevoegen, controleren we eerst met de hand.
Weten wat er op je eigen domein echt open staat?
Maak een gratis account, verifieer je domein en start een actieve scan. Of begin met de gratis scan op de voorpagina: die is passief en stuurt niets naar je systemen.