Procedimentos de leitura dinâmica

ZAP

Ferramenta de busca Web Mobile Local API Extension Serverless Instruções
OWASP® Zed Attack Proxy (ZAP)

Use o OWASP ZAP ; o contêiner do ZAP Docker para fazer verificações dinâmicas automatizadas (DAST) no seu aplicativo. Os arquivos de configuração predefinidos já têm todos os CWEs necessários incluídos. Você só precisa adicioná-lo ao ambiente e ao comando de execução do Docker.

Para ver a definição de cada tipo, clique aqui Tipos de apps

Uma verificação completa de aplicativos da Web, de dispositivos móveis ou internos pode ser realizada seguindo as etapas abaixo:

  1. As verificações do DAST e da API serão executadas usando a imagem do Docker do ZAP. Para aplicativos da Web, móveis ou internos, a verificação completa do ZAP precisa ser executada em um ambiente de produção ou preparo. 

  2. Faça o download do arquivo de configuração zap-casa-config.conf e navegue até o diretório. 

  1. Gere um arquivo de contexto para executar a verificação. Veja mais detalhes nas instruções de Autenticação abaixo.

  1. Execute este 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. A saída será salva em um arquivo XML (exemplo anexado aqui: zap-results-full.xml)

Uma verificação de API pode ser realizada seguindo as etapas abaixo:

  1. Para verificações de API, use o arquivo de configuração zap-casa-api-config.conf

  1. Navegue até o diretório e execute o comando a seguir

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. A saída será salva em um arquivo XML (exemplo anexado aqui: zap-results-api.xml )

Autenticação

As verificações de ZAP precisam ser feitas com autenticação para entender onde os dados do usuário são armazenados e acessados. Isso requer configuração antes de executar as verificações. A imagem do Docker do ZAP permite dois argumentos relacionados à autenticação:

-n contexto_arquivo

Arquivo de contexto que será carregado antes da verificação do destino

- Usuário da U

Nome de usuário a ser usado nas verificações autenticadas. O usuário precisa ser definido no arquivo de contexto. 

Para definir esses parâmetros, é necessário criar um arquivo de contexto. Isso é feito mais facilmente usando a IU do computador ZAP.

contexto do zap
  1. Defina o mecanismo de autenticação. No momento, o ZAP é compatível com cinco abordagens de autenticação:

    • Autenticação manual

    • Autenticação com base em formulários

    • Autenticação HTTP/NTLM

    • Autenticação baseada em script

    • Autenticação com base em JSON

Autenticação do zap
  1. Defina seus parâmetros de autenticação. Isso geralmente inclui o URL de login e o formato de payload (nome de usuário e senha). Os parâmetros obrigatórios são específicos dos métodos de autenticação usados.
Configurar o zap
  1. Adicione um usuário e uma senha válidos. Crie vários usuários se o aplicativo expor diferentes funcionalidades com base nos papéis.
zap Configurar usuários

Depois de definir essas configurações, você pode exportar o contexto como um arquivo para referência da verificação.

Contexto da exportação de zap

Salve o contexto em um local fácil de referência, porque precisará incluir o caminho do arquivo como um argumento para o comando "scan". Agora é possível executar uma verificação autenticada com o login do usuário especificado no contexto. Exemplo:

Criar um usuário no zap
  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