PB-008: Aanval op een webapplicatie
Documentbeheer
| Kenmerk | Waarde | Datum |
|---|---|---|
| Documentnaam | PB-008: Aanval op een webapplicatie | [Datum invullen] |
| Versie | [Versienummer invullen] | [Datum invullen] |
| Eigenaar | [Eigenaar/team invullen] | [Datum invullen] |
| Status | [Draft/Approved/Retired] | [Datum invullen] |
| Volgende reviewdatum | [Volgende reviewdatum invullen] | [Datum invullen] |
| Goedkeuringen | [Goedkeurder(s) invullen] | [Datum invullen] |
| Wijzigingsoverzicht | Eerste versie | [Datum invullen] |
1. Doel & scope
-
Doel:
Een duidelijke responsworkflow bieden voor vermoedelijke of bevestigde aanvallen op webapplicaties, waaronder exploitatie, misbruik van API's, broken access control, web shells, denial of service op applicatielaag, blootstelling van data en manipulatie van de applicatie.
-
Scope:
Van toepassing op webapplicaties die aan internet hangen en interne webapplicaties, API's, portalen, beheerinterfaces en de ondersteunende infrastructuur, on-premises en in cloud-, container-, serverless-, PaaS- en SaaS-geïntegreerde omgevingen.
2. Incidentidentificatie & criteria
Type incident: Aanval op een webapplicatie
Triggercondities:
- Alert van web, API, WAF, CDN, IDS/IPS of SIEM
- Exploitatiepogingen op endpoints van de applicatie
- Broken access control of ongeautoriseerde toegang tot objecten
- Web shell, verdachte upload of defacement
- Ongebruikelijk API-gebruik, scraping of enumeratie
- Credential stuffing, misbruik van sessies of tokens
- Gemelde exploitatie, manipulatie of blootstelling van data
Severity-niveaus:
| Severity | Omschrijving |
|---|---|
| Sev 3 | Vermoedelijke of bevestigde exploitatie met minimale impact, zonder blootstelling van gevoelige data, zonder geprivilegieerde toegang en zonder actieve aanwezigheid van de aanvaller |
| Sev 2 | Bevestigde exploitatie met beperkte impact, ingedamde ongeautoriseerde toegang of impact op een niet-kritieke applicatie |
| Sev 1 | Bevestigde exploitatie van een productie- of gevoelige applicatie, ongeautoriseerde toegang tot gevoelige data, web shell, geprivilegieerde toegang of actieve aanwezigheid van de aanvaller |
| Sev 0 | Grootschalige blootstelling van klantdata of gereguleerde data, compromittering of uitval van een kritieke dienst, compromittering van een betaal- of authenticatiesysteem, of compromittering van meerdere applicaties |
3. Rollen & verantwoordelijkheden
- Incident Commander: Eigenaar van de severity, de coördinatie, besluiten over containment, escalatie en de tijdlijn van het incident.
- Technical Lead / AppSec Lead: Stuurt het technisch onderzoek, de containment-strategie en de validatie van het herstel.
- Incident responder / Forensic Analyst: Verzamelt bewijsmateriaal, bouwt de tijdlijn op, bepaalt de omvang van de impact en documenteert bevindingen.
- Applicatie-engineeringteam: Ondersteunt met applicatielogs, review van code en configuratie, noodfixes, deployments en validatie.
- Platform-/infrastructuurteam: Ondersteunt met wijzigingen in WAF, CDN en API-gateway, isolatie van workloads, export van logs en recovery.
- IAM-team: Ondersteunt bij het blokkeren van accounts, het intrekken van sessies en tokens, MFA-resets en het roteren van API-sleutels en secrets.
- Communications Lead: Coördineert interne en externe updates, zo nodig samen met Legal/Privacy.
4. Eerste acties
-
Valideer de alert of melding en classificeer het vermoedelijke type aanval.
Beslispunt:
- Onschuldig of geautoriseerd testwerk → sluiten met vastgelegde onderbouwing.
- Verdacht of kwaadaardig → doorgaan.
-
Stel vast of de aanvaller nog actief is en of directe containment nodig is.
Waarschuwing: Stel waar mogelijk bewijsmateriaal veilig voordat je bestanden verwijdert, workloads beëindigt, secrets roteert of blokkades uitrolt. Is er nog actieve schade, voer dan eerst containment uit en leg de afweging rond het bewijsmateriaal vast.
5. Onderzoek & analyse
-
Verzamel waar van toepassing bewijsmateriaal uit web, applicatie, identity, host en cloud.
-
Reconstrueer de tijdlijn van de requests, bevestig of er exploitatie is geweest en stel de getroffen endpoints, sessies, gebruikers en data vast.
-
Wordt misbruik van een kwetsbaarheid vermoed, valideer dan de exploitatie en stel de getroffen assets vast.
-
Worden uitgaande callbacks, reverse shells of verplaatsing van data waargenomen, analyseer dan het uitgaande verkeer en de impact op data.
-
Zijn er credentials, sessies, tokens of API-sleutels bij betrokken, analyseer dan de identity-activiteit.
Beslispunt: Voer, afhankelijk van wat is waargenomen, de fasen na detectie (analyse → recovery) van elk relevant verwant playbook gelijktijdig met dit playbook uit:
- Compromittering van account, sessie of token → PB-004: Account Takeover
- Blootstelling of exfiltratie van data → PB-005: Data-exfiltratie
- Web shell of compromittering van een host → PB-003: Endpoint-malware-infectie
- Actieve exploitatie → PB-015: Actieve exploitatie
- Compromittering van een cloud-workload of de control plane → PB-007: Cloud Compromise
- Denial of service op applicatielaag → PB-013: Distributed Denial of Service (DDoS)
6. Containment, eradication & recovery
-
Containment-acties:
- Beperk de getroffen applicaties, API's, routes, functies, tenants, uploadpaden, exportpaden, integraties of beheerfuncties.
- Beperk de blootstelling aan exploitatie of kwetsbaarheden als de root cause een kwetsbare dienst, component of endpoint is.
- Isoleer gecompromitteerde hosts of cloud-workloads als code-uitvoering, een web shell of compromittering van de runtime wordt vermoed.
- Trek getroffen accounts, sessies, tokens, API-sleutels en credentials in.
- Blokkeer actieve uitgaande kanalen van de aanvaller of bestemmingen voor exfiltratie.
-
Eradication-stappen:
- Verwijder web shells, kwaadaardige uploads, door de aanvaller aangemaakte accounts en tokens, persistence-jobs en ongeautoriseerde integraties.
- Patch of herconfigureer het kwetsbare codepad, de dependency, route, functie of toegangscontrole.
- Roteer blootgestelde of mogelijk blootgestelde secrets, signing keys, API-sleutels, databasecredentials, service-credentials en sessie-secrets.
-
Recovery-stappen:
- Deploy of bouw gecompromitteerde workloads opnieuw op vanuit betrouwbare broncode, images of infrastructure-as-code als de integriteit onzeker is.
- Valideer het herstel en de werking van de dienst.
- Coördineer een gefaseerd herstel als meerdere diensten of afhankelijkheden zijn geraakt.
- Monitor op herhaling aan de hand van bron-IP's, payloadpatronen, endpoints, user-agents, sessies, patronen in objecttoegang en TTP's.
Beslispunt: Begint de exploitatie na de recovery opnieuw, herstel dan de containment en zoek opnieuw naar gemiste persistence of onvolledig herstel.
7. Communicatie & escalatie
-
Interne communicatie:
- Informeer applicatie-eigenaren, service-eigenaren, getroffen bedrijfsonderdelen, de securityleiding en engineeringteams.
- Gebruik SOP-002 voor actieve incidenten die meerdere diensten of geografische regio's beslaan.
- Informeer getroffen gebruikers als zij actie moeten ondernemen.
-
Externe communicatie:
- Schakel Legal/Privacy in bij klantdata, gereguleerde data, betaalgegevens, blootgestelde credentials, uitval met impact op klanten of openbare communicatie over kwetsbaarheden.
- Stem berichten aan klanten, toezichthouders, partners, media en publiek af via Legal en de Communications Lead.
-
Escalatiecriteria:
Situatie Escaleren naar Compromittering van account, sessie of token PB-004: Account Takeover Blootstelling of exfiltratie van gevoelige data PB-005: Data-exfiltratie Web shell, malware of compromittering van host of runtime PB-003: Endpoint-malware-infectie Bekende kwetsbaarheid misbruikt in productie PB-015: Actieve exploitatie Compromittering van een cloud-workload of de control plane PB-007: Cloud Compromise Denial of service op applicatielaag PB-013: Distributed Denial of Service (DDoS) Kritieke impact op klanten, betalingen, authenticatie of gereguleerde data PB-019: Management van een major security incident / escalatie naar de directie
8. Post-incidentactiviteiten
- Houd een PIR over de root cause, het exploitatiepad, getroffen endpoints en data, besluiten over containment, de tijdlijn van de recovery en de impact op klanten en diensten.
- Beoordeel hiaten in de detectie over WAF/CDN, applicatie, API-gateway, authenticatie, database, workload en cloud-telemetrie.
- Rond de hardening van de webapplicatie af.
- Werk detecties, WAF-regels, testcases, threat models en dit playbook zo nodig bij.
9. Referenties & gekoppelde bronnen
-
Playbooks:
-
Runbooks:
- RB-TRIAGE-012: Triage van een aanval op een webapplicatie
- RB-EVIDENCE-006: Acquisitie van webapplicatielogs
- RB-ANALYSIS-044: Analyse van een aanval op een webapplicatie
- RB-CONTAIN-016: Beperken van toegang tot een webapplicatie
- RB-CONTAIN-012: Containment van het exploitatie-oppervlak
- RB-CONTAIN-014: Beperken van blootstelling aan een kwetsbaarheid
- RB-RECOVERY-007: Validatie van het verhelpen van een kwetsbaarheid
- RB-POST-004: Security-hardening van webapplicaties
-
SOP's:
10. Bijlagen
Bijdrager
Jayden Vo GitHub: https://github.com/jayden-vo
Heeft bijgedragen aan het Arcana Incident Response Documentation Framework.