Vam tancar la lliçó anterior (07-03) amb una idea: Burp Professional és excel·lent, però té llicència de pagament i no és sempre la millor opció quan el que vols és integrar les proves web en canonades automàtiques. Per a aquest terreny existeix una alternativa lliure, completa i mantinguda per la comunitat: OWASP ZAP (Zed Attack Proxy). És el company natural de Burp a la caixa d'eines del pentester web, i a l'auditoria de TechNova seria l'eina amb què deixaries un escaneig corrent o la que muntaries al pipeline de la botiga tienda.technova.lab.
Aquesta lliçó cobreix l'arquitectura de ZAP, la diferència clau entre escaneig passiu i actiu, l'spider tradicional i l'AJAX Spider per a aplicacions modernes, els modes automàtic vs. manual, el HUD (Heads-Up Display) sobre el navegador, i —el més distintiu— la seva automatització i API per a CI/CD i DevSecOps. Tanquem amb una taula comparativa Burp vs. ZAP per saber quan fer servir cadascuna. No repetim la teoria de les vulnerabilitats web (Mòdul 4): aquí es tracta de manejar l'eina i entendre el seu encaix en pipelines. Tot, com sempre, contra objectius autoritzats o el teu laboratori.
Contingut
- Què és OWASP ZAP i per què és rellevant
- Arquitectura i modes de treball
- Escaneig passiu vs. actiu
- Spider i AJAX Spider
- El HUD: proves des del navegador
- Automatització i API per a CI/CD
- Taula comparativa: Burp vs. ZAP
- Errors Comuns i Consells
- Exercicis
- Conclusió
- Què és OWASP ZAP i per què és rellevant
OWASP ZAP és un proxy d'intercepció web de codi obert i gratuït, projecte insígnia de l'Open Web Application Security Project (avui sota la Software Security Project). Comparteix la idea central de Burp —seure entre el navegador i el servidor— però amb dues diferències que defineixen el seu caràcter:
- És lliure i complet: inclou escaneig actiu automàtic sense cost, cosa que a Burp està reservada a l'edició Pro.
- Està pensat per automatitzar-se: ofereix una API i utilitats dissenyades per executar-se sense interfície gràfica, dins de canonades d'integració contínua.
Això el converteix en l'opció de referència per a DevSecOps: ficar una prova de seguretat web a cada desplegament, de manera desatesa i gratuïta.
- Arquitectura i modes de treball
ZAP s'organitza al voltant del mateix esquema de proxy, amb un conjunt de components propis.
flowchart TD
N[Navegador o pipeline] --> P[Proxy ZAP]
P --> SP[Spider / AJAX Spider - descobriment]
P --> PS[Escaner passiu - observa sense atacar]
P --> AS[Escaner actiu - envia payloads]
P --> API[API REST / mode headless]
P --> H[HUD sobre el navegador]
AS --> R[Alertes / Informe]
PS --> R
ZAP ofereix modes de política de seguretat que limiten el que pot fer, una salvaguarda pensada justament per evitar atacar per error alguna cosa fora d'abast:
| Mode | Què permet | Quan fer-lo servir |
|---|---|---|
| Safe | Només accions no intrusives | Màxima prudència |
| Protected | Accions actives només contra URL a l'scope | Recomanat en engagements |
| Standard | Totes les accions sense restricció d'scope | Laboratori propi |
| ATTACK | Escaneig actiu automàtic en descobrir URL | Ús avançat i controlat |
El mode Protected és la bona pràctica: garanteix que l'escaneig actiu només colpegi el que has declarat com a objectiu autoritzat, evitant el clàssic accident d'escanejar un domini de tercers.
- Escaneig passiu vs. actiu
Aquesta és la distinció més important de ZAP i la que cal tenir sempre clara.
| Escaneig passiu | Escaneig actiu | |
|---|---|---|
| Què fa | Observa el trànsit que ja generes en navegar | Envia peticions amb payloads d'atac |
| Envia payloads | No | Sí |
| Impacte al servidor | Nul (només mira) | Real: pot alterar dades o degradar el servei |
| Detecta | Capçaleres absents, cookies insegures, fuites d'info | SQLi, XSS, injeccions, path traversal... |
| Autorització | Molt baix risc | Requereix autorització explícita |
- L'escaneig passiu està sempre actiu en segon pla: mentre navegues per la botiga de TechNova, ZAP analitza cada resposta i aixeca alertes (per exemple, falta de capçaleres de seguretat, justament una de les troballes del Mòdul 6) sense tocar res.
- L'escaneig actiu és intrusiu: llança payloads contra els paràmetres descoberts per provocar i confirmar vulnerabilitats. És potent però perillós en producció, perquè pot inserir dades brutes, disparar accions o tombar el servei.
Ús responsable: el passiu és segur gairebé en qualsevol context; l'actiu només es llança contra objectius autoritzats o el teu laboratori, i controlant l'impacte. Contra tienda.technova.lab a la teva xarxa host-only pots escanejar activament sense por perquè el servidor és teu.
- Spider i AJAX Spider
Abans d'escanejar cal descobrir les URL de l'aplicació. ZAP porta dos rastrejadors:
- Spider tradicional: segueix enllaços de l'HTML de manera recursiva. Ràpid i suficient per a webs clàssiques servides pel servidor, com una botiga PHP tradicional.
- AJAX Spider: controla un navegador real per executar JavaScript i descobrir contingut que només apareix després de la interacció. Imprescindible en aplicacions modernes (SPA amb React, Angular, Vue) on l'spider clàssic amb prou feines veu res perquè el contingut es genera al client.
Flux de descobriment tipic:
1. Spider tradicional -> mapa les URL enllacades a l'HTML
2. AJAX Spider -> afegeix les que nomes apareixen executant JavaScript
3. Escaneig passiu -> ja ha anat analitzant tot l'anterior
4. Escaneig actiu -> ataca els parametres descoberts (si autoritzat)Per a la botiga PHP de TechNova, l'spider tradicional cobreix gairebé tot; l'AJAX Spider entraria en joc si la botiga tingués una cistella o un cercador construïts amb JavaScript dinàmic.
- El HUD: proves des del navegador
El HUD (Heads-Up Display) és una funció distintiva de ZAP: superposa els seus controls directament sobre la pàgina web al navegador, sense haver de saltar a la finestra de ZAP. Veus alertes, llances l'spider o l'escaneig actiu i revises troballes des d'icones als marges de la mateixa web.
- Avantatge: flux molt visual i ideal per aprendre, perquè relaciona cada alerta amb el que veus a la pantalla.
- Quan: treball manual i interactiu. Per a automatització es fa servir el mode headless i l'API (apartat següent).
S'activa des de la barra de ZAP ("Enable HUD") i obrint el navegador proxificat. És una de les raons per què ZAP és molt recomanable per a qui comença en proves web.
- Automatització i API per a CI/CD
Aquí és on hi ha el gran diferencial de ZAP respecte a Burp. ZAP pot executar-se sense interfície gràfica (headless) i controlar-se per API REST o per scripts, cosa que permet ficar una prova de seguretat web dins d'una canonada de desplegament. És la base del DevSecOps: seguretat automatitzada a cada release.
Un ús habitual és el baseline scan (escaneig de línia base, sobretot passiu) empaquetat en Docker, ideal per a un pipeline de CI/CD:
# Escaneig de linia base (passiu) amb la imatge oficial de ZAP en Docker
docker run -t ghcr.io/zaproxy/zaproxy:stable \
zap-baseline.py -t https://tienda.technova.lab -r informe.htmlzap-baseline.pynavega i executa l'escaneig passiu, generant un informe.-tindica l'objectiu (autoritzat);-rel fitxer d'informe HTML.- Retorna un codi de sortida diferent de zero si troba alertes, cosa que permet fer fallar el build si apareixen problemes de seguretat.
Aquest codi de sortida és la clau de l'encaix en CI/CD: el pipeline pot bloquejar un desplegament insegur automàticament. Per a escaneigs més complets existeix zap-full-scan.py (inclou escaneig actiu, només contra entorns autoritzats). I per orquestrar-ho tot de manera declarativa, ZAP ofereix l'Automation Framework (plans en YAML) i l'API per a integracions a mida.
flowchart LR
C[Commit / Pull Request] --> B[Build en CI]
B --> Z[ZAP baseline scan headless]
Z -->|sense alertes critiques| D[Desplegament]
Z -->|alertes| F[Build falla / revisio]
Ús responsable: fins i tot en CI/CD, l'objectiu de l'escaneig ha de ser un entorn propi (staging, laboratori), mai un tercer. Automatitzar no elimina la necessitat d'autorització.
- Taula comparativa: Burp vs. ZAP
Totes dues fan l'essencial (proxy, spider, repetició manual, escaneig). Triar depèn del context.
| Criteri | Burp Suite | OWASP ZAP |
|---|---|---|
| Llicència | Community gratis / Pro de pagament | Lliure i gratuït (open source) |
| Escaneig actiu automàtic | Només a Pro | Inclòs gratis |
| Proves manuals (Repeater/Intruder) | Referència del sector, molt polit | Bones, una mica menys ergonòmiques |
| Extensions | BApp Store ampli | Marketplace d'add-ons |
| Automatització / API / CI-CD | Possible, menys centrat | Punt fort (headless, API, Docker) |
| HUD sobre el navegador | No | Sí |
| Corba d'aprenentatge | Suau, molt documentada | Suau, molt visual amb HUD |
| Ús típic | Pentest manual profund, manual | DevSecOps, automatització, pressupost zero |
Regla pràctica:
- Tria Burp per a pentesting manual profund, sobretot si disposes de l'edició Pro: Repeater i Intruder són l'estàndard del treball interactiu.
- Tria ZAP quan el pressupost és zero, quan necessites escaneig actiu gratuït, o quan vols automatitzar en CI/CD i DevSecOps.
- A la pràctica, molts professionals fan servir totes dues: Burp per a la feina manual de l'engagement i ZAP per a l'automatització i els escaneigs desatesos. No són rivals excloents; són complementàries.
Errors Comuns i Consells
- Llançar escaneig actiu sense autorització. L'actiu envia payloads reals i pot danyar dades o el servei. Fes-lo servir només contra el teu laboratori o objectius autoritzats; per a la resta, queda't en passiu.
- Confondre spider i escaneig. L'spider descobreix URL; l'escàner les prova. Sense spider (o AJAX Spider) previ, l'escaneig no veu mitja aplicació.
- Oblidar l'AJAX Spider en SPA. En webs amb molt JavaScript, l'spider tradicional a penes descobreix contingut. Fes servir l'AJAX Spider.
- No fer servir el mode Protected en engagements. Sense ell, un escaneig actiu podria colpejar un domini fora d'abast. Restringeix les accions a l'scope.
- Automatitzar contra tercers. Ficar ZAP en CI/CD no eximeix d'autorització: apunta sempre a staging o laboratori propi.
- Consell: comença amb l'escaneig passiu i el HUD per aprendre sense risc, i fes el salt a l'actiu i a l'automatització quan controlis l'impacte.
Exercicis
Exercici 1. Explica amb les teves paraules la diferència entre l'escaneig passiu i l'actiu de ZAP, amb un exemple de què detectaria cadascun a la botiga de TechNova, i digues quin pots llançar sense autorització i per què.
Exercici 2. Vols integrar una prova de seguretat web al pipeline de desplegament de la botiga de TechNova (entorn de staging propi). Escriu la comanda de zap-baseline.py amb Docker i explica com faries que el build falli si apareixen alertes.
Exercici 3. Un equip dubta entre Burp i ZAP. L'escenari A és un pentest manual profund d'una setmana; l'escenari B és afegir seguretat automàtica a cada desplegament amb pressupost zero. Recomana una eina per a cada escenari i justifica-ho.
Solucions
Solució 1. L'escaneig passiu només observa el trànsit que genero en navegar, sense enviar atacs: detectaria, per exemple, l'absència de capçaleres de seguretat o cookies sense el flag Secure a la botiga. L'escaneig actiu envia payloads contra els paràmetres per provocar vulnerabilitats: detectaria una injecció SQL a producto.php?id= llançant cometes i sentències. Puc llançar el passiu sense autorització perquè no toca el servidor (només mira); l'actiu requereix autorització explícita o el meu propi laboratori, perquè és intrusiu i pot alterar dades o degradar el servei.
Solució 2.
docker run -t ghcr.io/zaproxy/zaproxy:stable \
zap-baseline.py -t https://staging.tienda.technova.lab -r informe.htmlzap-baseline.py retorna un codi de sortida diferent de zero quan troba alertes. Al pipeline, n'hi ha prou amb no ignorar aquest codi: si el pas de CI falla (exit code ≠ 0), el build es marca com a fallit i es bloqueja el desplegament. Així una web amb problemes de seguretat no arriba a producció. L'objectiu és staging propi, no un tercer.
Solució 3. Escenari A (pentest manual profund): Burp Suite, preferiblement Pro. Repeater i Intruder són l'estàndard per al treball interactiu i minuciós d'un engagement d'una setmana. Escenari B (seguretat automàtica, pressupost zero): OWASP ZAP, per ser lliure, incloure escaneig actiu gratuït i estar dissenyat per executar-se headless amb API i en Docker dins d'un pipeline de CI/CD. Molts equips, de fet, fan servir totes dues: Burp per al manual i ZAP per a l'automatitzat.
Conclusió
OWASP ZAP és l'alternativa lliure i completa a Burp, i brilla justament on Burp cobra o no arriba: escaneig actiu gratuït i, sobretot, automatització en CI/CD i DevSecOps. Vam repassar la seva arquitectura i els seus modes de seguretat (amb Protected com a bona pràctica), la distinció capital entre escaneig passiu (observa, segur) i actiu (ataca, requereix autorització), l'spider i l'AJAX Spider per descobrir aplicacions clàssiques i modernes, el HUD per aprendre de manera visual, i la seva API/mode headless per ficar seguretat a cada desplegament amb zap-baseline.py i fer fallar el build davant d'alertes. La taula comparativa va deixar la regla clara: Burp per al pentest manual profund, ZAP per al lliure i l'automatitzat, i a la pràctica totes dues alhora.
Amb ZAP completem l'instrumental web i, amb ell, el recorregut a fons per les quatre grans eines de la caixa: Kali com a entorn, Metasploit per a explotació, i Burp i ZAP per a la web. Ja saps amb què treballa un pentester. Queda la pregunta més important de totes: com continuar creixent en aquesta professió de manera legal i ètica. L'última lliçó del curs respon a això: Recursos d'Aprenentatge Continu.
Curs de Pentesting: Tècniques de Proves de Penetració
Mòdul 1: Introducció al Pentesting
- Què és el Pentesting?
- Tipus de Pentesting
- Fases del Pentesting
- Ètica i Legalitat en el Pentesting
- Metodologies i Estàndards del Sector
Mòdul 2: Reconeixement i Recollida d'Informació
- Reconeixement Passiu
- Reconeixement Actiu
- Eines de Recollida d'Informació
- OSINT i Anàlisi de la Superfície d'Atac
Mòdul 3: Escaneig i Enumeració
Mòdul 4: Explotació de Vulnerabilitats
- Introducció a l'Explotació
- Explotació de Vulnerabilitats Web
- Explotació de Vulnerabilitats de Xarxa
- Explotació de Vulnerabilitats de Sistemes
- Atacs a Contrasenyes i Autenticació
Mòdul 5: Post-Explotació
- Escalada de Privilegis
- Manteniment de l'Accés
- Pivoting i Moviment Lateral
- Cobertura de Petjades i Anti-Forense
Mòdul 6: Informe i Remediació
- Documentació de Troballes
- Classificació de Riscos i CVSS
- Recomanacions de Remediació
- Presentació de Resultats
