Procedure di scansione dinamica

ZAP

Strumento di scansione Web Mobile Local API Extension Serverless Istruzioni
OWASP® Zed Attack Proxy (ZAP)

Utilizza il OWASP ZAP ; il contenitore Docker ZAP per eseguire scansioni dinamiche automatiche (DAST) sulla tua applicazione.  I file di configurazione predefiniti includono già tutti i CWE necessari. Devi soloaggiungerlo al tuo ambiente e al comando Docker run.

Per la definizione di ciascun tipo fai clic qui Tipi di app

È possibile eseguire un'analisi completa su applicazioni web, mobile o interne seguendo questa procedura:

  1. Le scansioni DAST e API verranno eseguite utilizzando l'immagine Docker ZAP. Per le applicazioni web, mobile o interne, la scansione completa ZAP deve essere eseguita in un ambiente di produzione 1 o di staging. 

  2. Scarica il file di configurazione zap-casa-config.conf e vai alla relativa directory. 

  1. Genera un file di contesto in base al quale eseguire la scansione. Per ulteriori dettagli, consulta le istruzioni "Autenticazione" riportate di seguito.

  1. Esegui il seguente comando: 

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py 
-t https://example.com -P 8080 
-c zap-casa-config.conf 
-x results-full.xml -n example.context -U username
  1. L'output verrà salvato in un file XML (esempio allegato qui: zap-results-full.xml)

Per eseguire una scansione dell'API, segui questi passaggi:

  1. Per le analisi dell'API, utilizza il file di configurazione zap-casa-api-config.conf

  1. Vai alla relativa directory ed esegui il seguente comando

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
-t owasp/zap2docker-stable zap-api-scan.py 
-t https://example.com -f openapi-P 8080 
-c zap-casa-api-config.conf 
-x results-full.xml
  1. L'output verrà salvato in un file XML (esempio allegato qui: zap-results-api.xml )

Autenticazione

Le analisi ZAP devono essere eseguite con autenticazione per capire dove vengono archiviati e a quali dati utente viene eseguito l'accesso. Questa operazione richiede la configurazione prima di eseguire le scansioni. L'immagine Docker di ZAP consente due argomenti relativi all'autenticazione:

-n file_contesto

File di contesto che verrà caricato prima della scansione della destinazione

-U utente

Nome utente da utilizzare per le scansioni autenticate. L'utente deve essere definito nel file di contesto specificato. 

Per impostare questi parametri, è necessario creare un file di contesto. Questa operazione può essere eseguita più facilmente tramite l'interfaccia utente desktop di Zap.

contesto zap
  1. Imposta il meccanismo di autenticazione. ZAP attualmente supporta cinque approcci di autenticazione:

    • Autenticazione manuale

    • Autenticazione basata su modulo

    • Autenticazione HTTP/NTLM

    • Autenticazione basata su script

    • Autenticazione basata su JSON

Autenticazione Zap
  1. Definisci i parametri di autenticazione. In genere, sono inclusi l'URL di accesso e il formato del payload (nome utente e password). I parametri richiesti sono specifici per i metodi di autenticazione utilizzati.
zap Configura autenticazione
  1. Aggiungi un utente e una password validi. Crea più utenti se l'applicazione espone funzionalità diverse in base ai ruoli.
zap Configure Users

Una volta configurate queste impostazioni, puoi esportare il contesto come file per la scansione.

Contesto esportazione zap

Assicurati di salvare il contesto in un punto a cui è facile fare riferimento, poiché dovrai includere il percorso del file come argomento per il comando di scansione. Ora potrai eseguire una scansione autenticata con l'accesso utente specificato nel contesto. Esempio:

zap Create User
  docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
  -t owasp/zap2docker-stable zap-full-scan.py 
  -t https://example.com -P 8080 
  -c zap-casa-config.conf -x results-full.xml 
  -n /Users/DemoUser/Documents/Context.context -U test@example.com